Get our free book (in Spanish or English) on rainwater now - To Catch the Rain.
OSSTIP/WP2- Transport Informatics tools review
- 1 WP Essentials
- 2 Requirements Summary
- 3 Results
- 3.1 OpenTripPlanner
- 3.1.1 Capabilities: Good
- 3.1.2 Quality and usefulness of visual display: Med-Good
- 3.1.3 Dependencies on other software and installation difficulty: Med
- 3.1.4 Documentation: Medium
- 3.1.5 Accuracy of results: Good
- 3.1.6 Speed & scalability: Med-Good
- 3.1.7 Potential for use in web-based interactive display: V Good
- 3.1.8 Level of community activity and support: Medium-Good
- 3.2 Graphserver
- 3.3 Mapnificent
- 3.4 Mapumental
- 3.5 Open Source Accessibility Toolkit (OSAT)
- 3.6 Overall Recommendation
- 3.1 OpenTripPlanner
This is a Work Package as part of the OSSTIP project.
- Short evaluation report on each tool, stating pros and cons,
- saved example code and datasets in project repository/dropbox.
Estimated Time: Small-medium
Status:: Mostly Complete (as at 23/10/2013 - requires filling out a bit more detail on several of the sections below.)
The goal of this WP is to download and briefly evaluate all of the key candidate software packages identified for potential use as the core basis for the rest of the project and the OSSTIP tool.
At the outset, these are expected to be, as per the Appropedia page Open Source Transport Informatics tools:
Primary criteria for evaluation and selection will be:
- The quality and usefulness of visual display capabilities in assessing and communicating transport network coverage and usefulness;
- Accuracy of the results generated – and whether they include walking and cycling connections;
- Speed of the results generated;
- How easy the tool is to use, including data formats used, and preparation requirements, and documentation availability;
- The dependencies it has on other software that needs to be installed first or utilised;
- How challenging it would be to utilise the tool as part of an interactive web-based display of a proposed transport network & schedule (See OSSTIP/WPBZE3);
- How well-designed and interoperable the tool is to integrate into a larger transport analysis and modelling system (See BZE later Work Packages);
- Level of community activity and support for the code (e.g. on mailing lists), future plans, and institutional support.
Each package should be downloaded, briefly assessed on some sample data, and the results saved in a project repository (e.g. either Github or Dropbox).
See Open Source Transport Informatics tools for links to surveyed list of main tools.
Only some of them will be covered in the table below. The Open Source Accessibility Toolkit was added to the list, because of its possible use as supporting mode-choice comparison work in trip assignment in an origin-destination matrix via different modes.
Please note: table initially completed July 2013. It may not be maintained afterwards, so please check the edit dates/change log of this page to be sure.
Relevant project blog posts:
General page: OpenTripPlanner
[[Image:Melbourne-IsoChrones-ToMonash-OTP-IncBus.png|thumb|Fig 2: Example of OTP web analyst feature.]);
- Trip-based routing based on intermodal network, which returns both trip results, and an integrated map display of the results - see display at right.
- Calculation of various "Analyst" features, including:
- Calculating travel-time Isochrones from a location as a web-service, returning resulting polygons;
- Displaying these as a layer of map raster tiles - see Fig 2 at right.
- Can also do more advanced scripted analysis in 'Batch' mode, using a combination of scripts and XML files. This capability includes being able to read some of the necessary info from shape files. This can save the outputs to .csv files, to faciliate spreadsheet-based analysis or operations. See OSSTIP/WPBZE2 for our actual use of this capability.
- One issue/limitation:- there isn't a clearly documented way of getting OTP to return additional routing information, like the rationale for why a particular route was chosen, or the intermediate stops/nodes on the route network chosen to get there. It may be possible to get it to save such information, but it will require further research.
The web-based interface isn't perfect, but is reasonably usable.
The scripted batch-analyst work isn't GUI driven, and does require a certain amount of persistence and expertise to operate - Python scripting experience recommended. In my testing, I followed the suggestion approach to install the Java Eclipse development environment - which does take some getting used to if you're not already an expert with this tool.
Quality and usefulness of visual display: Med-Good
- The general routing information provides a nice overlay over a chosen background layer - usually OpenStreetMap.
- The analyst tiles are usefully coloured by default. These can also be requested and downloaded for offline work or analysis within a GIS program like QGIS, e.g. in GeoTIFF format.
Dependencies on other software and installation difficulty: Med
OTP is cross-platform, includes some reasonable install instructions, and includes a pre-packaged binary that allows fairly quick testing.
Update as of 2013-10-23 :- be warned, the latest version in the repository is quite different to the 'stable release' and the documentation is still being updated between the two versions.
The OpenTripPlanner server uses a fairly standard set of FOSS packages needed for GIS:-
- The PostgreSQL database tool
- GeoServer for web-based display of GIS datasets.
It is Java-Based, so you will need a recent Java run-time, and if you intend to do any more advanced work, a Java compiler.
One (recommended by OTP developers) way to download and install most required dependencies is to download and install the BoundlessGeo (formerly OpenGeo) suite, which packages many of these together in one bundle.)
It also needs a web-server - for a basic test installation, it includes a cut-down webserver as part of the distribution that can be launched from the command line. For more advanced work, you'll need to use Apache Tomcat web-server, which does take a reasonable amount of installation effort.
Also, for either modifying the code, or recommended to run some of the more advanced batch analyst functions :- you'll need to install a development environment such as Eclipse, and various Java build tools such as Maven.
However, to do any of the sample test runs currently generally requires downloading several hundred MB of data.
There doesn't yet seem to be a formal manual, but there is quite good documentation on the project Wiki (https://github.com/openplans/OpenTripPlanner/wiki/Tutorials), including a 2 minute intro and 5 minute intro to getting started with some pre-packaged versions. E.g. on my Mac Os X system, I was able to get an OTP server up and running, and able to plot routes using some GTFS data, within a day (See OSSTIP/Project blog#2013-07-18 :- Working with GTFS transport schedules, and promising start with OpenTripPlanner's capabilities.
Accuracy of results: Good
Results include actually walking (or cycling, your choice) to train/tram stops on the street network (Provided by OpenStreetMap data).
Some preliminary testing of trip-routing results against the [PTV Journey Planner] show a reasonable correlation, though OTP does choose different routes sometimes that seem a little counter-intuitive (e.g. doesn't always choose to use City Loop rail stations, when I thought it would have).
I'd like to test this again once we do a bit more debugging work on some issues with the bus network's GTFS feed.
Speed & scalability: Med-Good
From reading the web-pages, a reasonable effort seems to have been made to tweak and improve OTP's performance.
It has been in production use for journey-planning in medium-size cities such as Portland, and also for a public transit routing system for the entirety of the Netherlands.
In testing so far, several million routes can be run overnight on Melbourne.
Potential for use in web-based interactive display: V Good
As mentioned above - OTP already integrates a web-server, and the Analyst extension includes a web-based element. This is relatively fast and responsive.
Interoperability potential into larger transport modelling work: Good
OTP's Java libraries and packages are reasonably well-defined, and most work can be scheduled using reasonably-well-defined XML files, then submitted via Java commands at the command line. The Batch Analyst in particular has been reasonably well defined.
See some example usage in Open Source Accessibility Toolkit (thought this was done back in 2010-2011, and the OTP interfaces have changed considerably since.
However :- as of 2013-10, the OTP interfaces between the stable release and latest version (0.9.2) do seem to be changing a reasonable amount, in an effort to simplify them.
Level of community activity and support: Medium-Good
Previously OTP was institutionally based and supported at http://www.openplans.org. Seems recently planned future institutional support as part of commercial routing activities connected to the new company Conveyal.
The project mailing list is quite active, including monitoring by main project developers attached to Conveyal - who do try and respond to and assist with reasonable queries.
There is continuing development on the project, although by the nature of a FOSS project this is not really clearly defined or to tight schedules.
General page: Graphserver
General page: Mapnificent
General page: Mapumental (Open Source version)
Open Source Accessibility Toolkit (OSAT)
As at July 2013, I suggest the OpenTripPlanner tool be the focus of further effort. This is because of the combination of:
- Seemingly most active development community, ever since Graphserver code was ported across to it by the Graphserver founder. This includes a few other developers in Melbourne who presented on it at a recent Melb Open GIS meetup;
- Cross-platform, and can be set up and got up and going within a day (for someone at least a bit familiar with XML files);
- Documentation isn't perfect, but has quite a large Wiki, and is notably better than several other tools, e.g. Graphserver;
- Performance is at least reasonable:- its in use in large-scale route planning projects such as a Netherlands-wide cycle trip planner, and there are innovations at work to improve this (see LargeGraphs page on OTP Wiki and the actual implementation is http://opentripplanner.nl/index.html/);
- The OpenTripPlanner Analyst already has a pretty good Travel Time Maps visualisation capability built in, that could be extended. While not as "pretty" as Mapumental's, having this capability in an active codebase is potentially a big time-saver.
As the project progresses to later stages, we can also assess whether OTP will be the best basis for a live web-server to communicate the benefits of the new network interactively, or Mapnificent. The benefit of Mapnificent is it *might* be faster, but OTP is more accurate based on the actual timetables.
Similarly, we should also investigate whether Open Source Accessibility Toolkit should be used for routing comparison, or else develop this directly as an OTP extension (this might require a bit more research in that WP).