-
Notifications
You must be signed in to change notification settings - Fork 1k
AnalysisRoadmap
OTP has two separate analytics frameworks: the Analyst web service, which is deployed in a server container and is then used over HTTP to view and create simple measures of mobility and accessibility, such as isochrones or Hägerstrand's prism visualizations. Batch Analyst is a powerful command-line tool which can generate many different types of accessibility measures. This roadmap will focus on Batch Analyst.
This is a prose summary of the roadmap. There is also an open Mendeley group.
There are two directions development could take, which are not mutually exclusive. One is simply implementing more accessibility measures. The other is building a complete agent-based modeling framework around OTP, similar to MATSim.
Karst Geurs and Bert van Wee discuss four categories of accessibility measures in Chapter 2 of Accessibility, Land Use and Transport. The categories are infrastructure, location, person and utility-based measures.
Infrastructure-based measures measure accessibility from the standpoint of the infrastructure itself, for example average speed on a segment, or how crowded the bus is in a transit context. These require knowing how people get from point A to point B, not just that they want to do so, and are thus more suited to a full modelling suite than to a tool like Batch Analyst.
- Hmmm - not sure I agree with this - as a nice thing about OTP is that its ShortestPathTree data structure actually has reasonable methods for querying the path taken during each trip, including the mode of each segment. So it seems a feasible task to add a 'listener' functionality during a Batch Analyst run to save information about how many trips used a particular segment during a given set of trips to a back-end spatial database. I agree that we should consider whether this functionality really is appropriate for OTP but it does seem of significant utility. -- Pat Sunter, 20 Dec 2013.
Location-based measures are what we have implemented right now. They measure accessibility from particular locations. For instance, Andrew's maps of accessibility after Hurricane Sandy are location-based measures. The cumulative and gravity (decay) measures are examples of this type.
Person-based measures measure accessibility for particular people, based on the space-time prism of Hägerstrand. These require knowing something about the individuals in the study area, and being able to construct schedules (or at least trip times). This is doable with OpenTripPlanner, I think, and something we should discuss further. Time-space accessibility is a big part of modern activity-based modelling.
Finally, utility-based measures are measures of the economic impact of the transportation system. I have not explored them much but I think they are very valuable measures that should be considered, although again data demands may place them in the realm of a modelling suite.
A good summary of accessibility measures is Development of an Urban Accessibility Index: Literature Review. It includes many measures that could be implemented, although it is over a decade old.
There are two ways this could be implemented: one would be to implement a complete modeling framework based on OTP, and the other would be to tie OTP into a framework such as MATSim. The advantage to using OTP, especially in a standalone framework, is that it is truly multimodal; transportation models could simulate not just driving and transit, but any mode OTP supports: bike share or carshare, for example.
This would require a new module for agent scheduling, either part of OTP or a separate module that wrote out schedules for OTP to read. The latter is the approach taken by MATSim. The population also needs to be created, perhaps from census data or some combination of census data and aggregate data through a population synthesizer.
The model would have to account for competition effects, perhaps through a customized graph with wrapped edges to keep track of edge use. Iterative algorithms are then used to bring the system into a user equilibrium (minimization of travel time/cost for each agent, not a minimization of average or total travel time).
unless you are intentionally working with legacy versions of OpenTripPlanner. Please consult the current documentation at readthedocs