Any contract around OSM tags consumed by GraphHopper


Was wondering if there’s any published contract between OSM and GraphHopper that enumerates the OSM tags consumed by GraphHopper, and any policies guiding their consumption?
In other words, is there a way to validate a given OSM file as an input to GraphHopper?


No, I don’t think this is documented in detail anywhere. This also depends on how you are using GraphHopper. There are different vehicle types (FlagEncoders in Java code) that make use of different OSM tags and then there are lots of optional TagParsers for different OSM tags. You can even add your own TagParser and take into account custom OSM tags. Take a look at e.g. CarFlagEncoder#handleWayTags and TagParser#handleWayTags. At the very minimum I think you need to provide coordinates for all way nodes (so GraphHopper can calculate distances) and you probably want to provide highway tags for OSM ways to get reasonable speeds.

Thanks @easbar for the detailed pointers. Will review these.

Powered by Discourse