(One of my summaries of a talk at the 2017 fossgis conference).
An example of the kind of project he works on: http://tracker.geops.de/ . Also live maps of the train’s location on on-board displays in Swiss high speed trains.
A problem for this kind of work is that there are lots of different data sets. Creating a single unified network map is hard. You have to connect the different formats. The data models also differ. Is a double track railway one railway or two tracks?
They use a nodes+graphs model for the railways. Whenever possible, they use open data. And when possible, local official geographical data. When not available, they use openstreetmap.
Technically, they use postgres/postgis. All the calculation also happens in
the database. For importing, they used existing tools. An important
post-processing task was extracting the actual railways from the individual
track info in openstreetmap. They had to remove the side tracks and then
average the tracks to get the railway. For the average, they placed a buffer
around the available tracks and then called ST_ApproximateMedialAxis
on
it.
A problem was the difference you can have per country. They detect the main tracks by looking at railway numbers. But for instance in France, these numbers are often missing…
The buffer size is also a problem. Mountain railways with a small radius that wind slowly up the mountain side can be accidentally merged together if the buffer size is too big. Similarly with overpasses near stations.
In the end, you have to close holes left over by the
ST_ApproximateMedialAxis
process.
The last task was to tie together the various data sets on the data set borders (normally the borders of countries).
So: openstreetmap data works well and it is universially available throughout the world, but there are big problems with completeness/quality in many countries. The railway company’s own data is often of better quality, but you need to do extra work to import it.
Photo explanation: for this railway-related talk, I find this image of my own model railway (‘Eifelburgenbahn’, under construction) quite appropriate.
My name is Reinout van Rees and I program in Python, I live in the Netherlands, I cycle recumbent bikes and I have a model railway.
Most of my website content is in my weblog. You can keep up to date by subscribing to the automatic feeds (for instance with Google reader):