(Minor update to intro)
(First work towards larger update of next 6 months' work)
Line 67: Line 67:
(Moved to [[OSSTIP/OpenTripPlanner Issues#Concerns about maxTransfers value too low by default]]).
(Moved to [[OSSTIP/OpenTripPlanner Issues#Concerns about maxTransfers value too low by default]]).


=== 2014-03-18 :- Updates on last ~6 months of work with BZE ===


==== Progress on using OpenTripPlanner to support communicating potential future 'Virtual Timetables' in concert with other tools like QGIS ====
The last six months work on trialling the OSSTIP platform for use within [[Beyond Zero Emissions]]'s (BZEs) Zero Carbon Australia Transport project (ZCATP) have been both busy, and productive.
As detailed in some of the Work Package notes like [[OSSTIP/WP2]] and [[OSSTIP/WP4]], we've settled on using [[OpenTripPlanner]] (OTP) as the main journey planning and network analysis tool for purposes of analysing the effectiveness of BZE's network and schedule improvement proposals. OTP's core routing capabilities are good - when you delve a little into the [https://github.com/opentripplanner/OpenTripPlanner/wiki/RoutingBibliography relevant literature of routing on large timetabled networks], it is really quite a challenging task - so it is a big help we can use the concentrated capabilities of the collective contributors to OTP over the years who've developed a workable approach to these issues.
Of course, learning how to use OTP certainly hasn't been without its challenges - I for example have had to re-familarise myself with the [https://www.eclipse.org Eclipse] Integrated Development Environment as the recommended way for working with the codebase, but getting started instructions here are [https://github.com/opentripplanner/OpenTripPlanner/wiki/GettingStartedEclipse reasonably well-documented on the OTP wiki]. As someone whose main programming background was in developing either high-performance computing server applications and frameworks in the C or C++ languages ([http://underworldproject.org/ Underworld] and [http://www.stgermainproject.org/ StGermain]), and then later various workflow scripting, analysis and workflow tools in Python for scientific computing ([http://www.underworldproject.org/credo-doc CREDO]). Fortunately, one of my latter projects at my employer before I began the PhD, [[wikipedia:VPAC]], included further development of a Java Tomcat-based combined web and server application with at least some similarities of underlying structure to OpenTripPlanner, so that gave some useful experience in 'wrangling' this kind of codebase to do what you'd like to do.
( OTP themselves thinking about change of design, version 1.0 - choice about which version to use, etc .... )
Conveyal change and Code foundation for OTP ....
And while I remain impressed with the Analyst Isochrones capability, doing some detailed testing has revealed some issues with the results that I've raised with other OTP developers to work on resolving.
The other guys work on networks, increasing [[QGIS]] functionality ...
... example route-planning results with OTP, use of this in two talks ...
... moving towards more elegant maps is a future task and goal ....
==== Virtual Machines, and Working towards a launch of an OTP server with BZE's work ====
TODO :- (Virtual machines)
==== Some issues with OTP Isochrone calculations at different times of day I've raised with the OTP community on ====
Per [[OSSTIP/OpenTripPlanner_Issues#Concerns with accuracy of OTP Analyst Isochrones in late evening or overnight]] - want to resolve these as accurately as possible in coming months ...


[[Category:OSSTIP]]
[[Category:OSSTIP]]

Revision as of 04:03, 18 March 2014

Intro

This is a blog-style page by PatSunter about publicly-shareable learning, information and reflections arising from the OSSTIP project.

The idea is to reflect on and share useful ideas about the tools evaluated in the Open Source GIS-T Public Transport Tools Review, and how well they support my project collaboration partners (Beyond Zero Emissions and the Victorian Public Transport Users Association) in developing alternative paths forward for Melbourne's transport system. It is a component of the "Action-Research" aspect of my PhD.

If you'd like to comment at the end of entries :- that's fine, but please use Appropedia conventions of signing your posts using the --~~~~ formatting.

Entries

2013-07-18 :- Working with GTFS transport schedules, and promising start with OpenTripPlanner's capabilities

Last week was a good week working on the project with Beyond Zero Emissions (BZE). They are working in parallel still on their high-speed rail study, but also have a couple of people already working on their Melbourne case study of options for de-carbonising transport in the Melbourne Metro region.

Learning about GTFS, and relevant tools like TransitFeed

Thus far, my focus has been on setting up and evaluating Open Source tools that can effectively work with public transport networks and timetables (in GTFS form), and perform analysis thereof (OSSTIP/WP3) - and the data these tools need/use/produce (OSSTIP/WP1).

In this I had the much appreciated support of a friend who has developed Python scripts to transform the the database of Melbourne's public transit we had access to into GTFS format. His scripts used some open-source libraries and tools, TransitFeed. The latter include some nice validation and data exploration tools, like the ScheduleViewer web app (see screenshot below).

Fig1: Using Google's ScheduleViewer to look at GTFS data for Melbourne's tram network.

The data still needs some work, especially the bus network - but it was enough to start the next step. I would say that just by using the tool for a while, it helped get a better handle on the geography and layout of Melbourne's public transport system. This chimes in well with one of developer Andrew Byrd's stated goals for OpenTripPlanner Analyst, of being able to "better grasp the syntax of the urban environment and factors favoring spatial legibility for those of us navigating it via shared, scheduled and non-motorized transport."

This included for me realising just how complex Melbourne's current bus network is :- as one example, I noticed several route numbers are duplicated between areas of Melbourne and Victoria's regional towns. So improving the bus network does seem a worthwhile area to focus effort moving forward. I realise given Melbourne's history of privately-owned buses, the institutional aspects of this will be tricky, as my GAMUT colleagues like to point out ;) However, at least with this project we should be able to propose some useful ideas for the network itself.

First tests of OpenTripPlanner

The next step was exploring which OS tools best supported analysis operations on the data such as routing and calculation of isochrones etc, as per project WP2 :- Open Source GIS-T Public Transport Tools Review.

In this respect, OpenTripPlanner has offered the best mix of performance/usability so far. I did check out GraphServer, which might require less dependencies - but does seem more of a research, "DIY-tool", without too much user docs or 'hand-holding' to get you up and running. In contrast, OpenTripPlanner, while not having a perfect manual, has put in quite a lot of effort it seems e.g. by having an entire distribution you can download and install in one step, and also they provide "2-minute intro" and "5-minute detailed dive in" tutes on the project Wiki (see either of those pages for links to the download). For an Open Source project, I like this approach, as it helps people get over the initial barrier of using the software.

Note :- you are going to want to have a good internet connection though for this - the binary distribution is ~60megs, and the sample OpenStreetMap and graph files are 100mb+.

By mid last week I was able to get it to calculate and visualise travel time maps based on Melbourne's current PT network – e.g. screenshot attached of trip isochrones to Monash Uni Clayton.

My next step will be to investigate the ability of OpenTripPlanner, or possibly the OSAT plug-in developed on top of it by a US researcher (https://github.com/Noblis/OSAT), to do TAZ-based trip distribution calculations using OpenTripPlanner. While OTP is Java-based and is oriented towards presenting results on the Web using a REST design, it can be scripted to run in batch mode for these types of calculations. We are keen to test performance and see how it stacks up against the other tool the BZE guys are using for this.

Data Conversions and Github

Notably, a lot of the 'Open Source' work so far has involved scripts to transform data from one format to another – which gels with what full-time GIS project people tell me as a major time-absorber.

I was pleasantly surprised though that another BZE volunteer working on some of these already added them to a version controlled Github repository without my intervention – so BZE's first open source project was actually endogenous ;)

2013-08-29 :- Making some progress with OTP Batch Analyst for calculating OD Matrices and more advanced visualisations

Map of Melbourne's Train Station Accessibility from Other Train Stations

Probably the best test so far on OSSTIP/WPBZE2 to test OpenTripPlanner's batch routing capabilities is this example of displaying Melbourne's train station accessibility from other train stations. The values vary from between just over 40 minutes, to a bit over 2 hours.

(It's a very simple metric thus far, as it takes no account of the 'value' of the other destinations, either for their 'centrality', or job/population catchment).

I used QGIS to create the visualisation :- it's really quite a capable tool once you get over the learning curve.

Sample O-D routing image and analysis

My Email about OTP's default maxTransfers value

(Moved to OSSTIP/OpenTripPlanner Issues#Concerns about maxTransfers value too low by default).

2014-03-18 :- Updates on last ~6 months of work with BZE

Progress on using OpenTripPlanner to support communicating potential future 'Virtual Timetables' in concert with other tools like QGIS

The last six months work on trialling the OSSTIP platform for use within Beyond Zero Emissions's (BZEs) Zero Carbon Australia Transport project (ZCATP) have been both busy, and productive.

As detailed in some of the Work Package notes like OSSTIP/WP2 and OSSTIP/WP4, we've settled on using OpenTripPlanner (OTP) as the main journey planning and network analysis tool for purposes of analysing the effectiveness of BZE's network and schedule improvement proposals. OTP's core routing capabilities are good - when you delve a little into the relevant literature of routing on large timetabled networks, it is really quite a challenging task - so it is a big help we can use the concentrated capabilities of the collective contributors to OTP over the years who've developed a workable approach to these issues.

Of course, learning how to use OTP certainly hasn't been without its challenges - I for example have had to re-familarise myself with the Eclipse Integrated Development Environment as the recommended way for working with the codebase, but getting started instructions here are reasonably well-documented on the OTP wiki. As someone whose main programming background was in developing either high-performance computing server applications and frameworks in the C or C++ languages (Underworld and StGermain), and then later various workflow scripting, analysis and workflow tools in Python for scientific computing (CREDO). Fortunately, one of my latter projects at my employer before I began the PhD, wikipedia:VPAC, included further development of a Java Tomcat-based combined web and server application with at least some similarities of underlying structure to OpenTripPlanner, so that gave some useful experience in 'wrangling' this kind of codebase to do what you'd like to do.

( OTP themselves thinking about change of design, version 1.0 - choice about which version to use, etc .... )

Conveyal change and Code foundation for OTP ....

And while I remain impressed with the Analyst Isochrones capability, doing some detailed testing has revealed some issues with the results that I've raised with other OTP developers to work on resolving.

The other guys work on networks, increasing QGIS functionality ...

... example route-planning results with OTP, use of this in two talks ...

... moving towards more elegant maps is a future task and goal ....

Virtual Machines, and Working towards a launch of an OTP server with BZE's work

TODO :- (Virtual machines)

Some issues with OTP Isochrone calculations at different times of day I've raised with the OTP community on

Per OSSTIP/OpenTripPlanner_Issues#Concerns with accuracy of OTP Analyst Isochrones in late evening or overnight - want to resolve these as accurately as possible in coming months ...

Cookies help us deliver our services. By using our services, you agree to our use of cookies.