[GraphHopper] Refactoring OSMReader process

Stuart Adam engaric at hotmail.com
Wed Oct 22 20:00:08 UTC 2014


As mentioned in comments about #269 I have been working on implementing a reader for Ordnance Survey ITN roads data.

This has been based off the code of OSMReader and extracting common interfaces.

Due to its use of a modified version of the CarFlagEncoder until the recent updates I have been able to use a parsed ITN dataset as the working graph for an unmodified graphhopper web app. I hope to figure out where the incompatibility has arisen with the recent changes in the next few days. Error thrown during web app start up follows.

INFO: An exception was caught and reported. Message: java.lang.IllegalStateException: Encoding does not match:
Graphhopper config: car:com.graphhopper.routing.util.CarFlagEncoder
Graph: car|speedFactor=5.0|speedBits=5|turnCosts=false, dir:examples/os-itn-sample-gh/
java.lang.IllegalStateException: Couldn't load graph



the code is available in engaric/graphhopper if anyone is interested though it is still in an experimental shape at this stage. 
Currently supported features :-

1) Import of the basic road network
2) Import of road names
3) Grade separation.  An interesting feature of the ITN dataset is that roads that pass over each other do have the crossing point listed as a node, so additional metadata must be parsed to separate the links.


Work in progress
1) Partial categorisation of road types to speed.
2) One Way systems

Work to be done
1) Restrictions
2) Conditional Restrictions
3) Optimisation of the import process


ITN is a copyright data set and not available as Ordnance Survey opendata.  However a sample file can be download from 

https://www.ordnancesurvey.co.uk/docs/sample-data/os-mastermap-itn-layer-sample-data.zip#sample-data-download

The dataset is a Great Britain road coverage appropriate for car navigation.

In some aspects the model of ITN can be compared to osm data, but in other areas it is modeled very differently.  This means the parsing process is already 4 stage rather than the current osm preprocess/write 2 phase parse.  Some elements that in osm would be modeled on the way elements (from what I can see so far) are modeled on separate elements in ITN.


Stuart Adam
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/graphhopper/attachments/20141022/0fdea277/attachment.html>


More information about the GraphHopper mailing list