I'm using OSM2PO to route for walking directions and I've noticed a lot of the OSM walking paths are not ideally setup.

For example there are many paths which get divided up by parking lots, which are obviously walkable, but they are ignored and not converted to roads, so the router believes you can't walk through them. This results in much longer walking distances than necessary.

Is there any practical way to deal with this? I guess the same problem occurs when dealing with any "areas" that are walkable (ie. parks without paths through them).

Another issue is where sidewalks do not connect to roads. In many situations this again leads to sub par routing results.

OSM has these issues all over the place. It sounds like a difficult problem, but a common one, so I'm wondering if anyone has addressed this in a practical way.

Thanks for your thoughts!

3 Answers 3


The only practical way is to add the 'missing' routes the data yourself. OSM probably shouldn't be putting parking lots into its walking routes. There are liability issues with adding routes that aren't real, properly maintained pedestrian paths. A parking lot, though walkable, could be dangerous and could be private property. You'll have similar issues with parks or any other space that isn't built for pedestrian travel. Consider these issues carefully before routing people through these areas.

  • +1 - They could also be fenced, or have drainage ditches along the perimeter, etc.
    – Drew
    Jul 25, 2013 at 6:43

Bearing in mind Sean's answer (that you have to add 'missing' pats yourself) as well as that these missing parts technically are parts of road-graph which are in turn are just lines, here is the quick'n'dirty workaround you may use. If the walking path has a common point with a "walkable" polygon, export this polygon's border as a line into your road-graph (modifying attributes if necessary). So the path won't break on the border of such polygon but instead it will be mapped along its perimeter.

Second (optional) step is to construct a direct path through the polygons. If you will add special tag to exported borders (i.e. make them identifiable), you can select nodes of the real paths that lie on the same exported border and create a simple straight line from one point to another and add this line to your graph - you will get your fictional unbroken paths. Now you can delete the borders from the graph. Depending on the software you prefer and your skills you may construct fictional paths with this algorithm without actually adding borders to your graph.

  • Thanks for your answers. Good points. For osm2po, does anyone have suggestions for which layer to try this on?ie on the osm data before it hits osm2po or during the osm2po graph building...
    – DFx
    Sep 1, 2012 at 21:52

Yes, the problem is the OSM-Data itself. For routing you'll need a network of lines (edges) and links (vertices). The Polygon is another problem. I think the easiest way to cope with it is to draw additional paths directly into JOSM. In osm2po there are two alternatives to handle foot/bike/car. Either build a graph for excactly one use case, or build a multi purpose graph (with all roads, paths, etc.) and make decisions dynamically while traversing (routing). For the latter Java-Skills may be needed. To get a first impression of how this might work, have a look into the current plugins jar (source code is attached). There you'll find a router that waits at traffic signals for one minute.

  • Thanks Carsten - I can see that JOSM would be ideal, but I'm trying to do this for the entire Canada/US. I think just turning a polygon into multiple paths would work in my situation since I'm just trying to get a rough walking time/distance (not display actual routing directions). So I wonder if there is a way to have osm2po convert the polygons into paths before it builds the graph, or would I have to update the OSM file first...
    – DFx
    Sep 2, 2012 at 14:16
  • osm2po does not convert polygons. This has to be done in another preprocessing step. If you see any chance to convert polygons into simple ways and to connect them to the road network then I see a chance to merge both data. But how are you going to manage it, anyway? Polygons may have many inner holes like lakes e.g. How can you ensure your users do not have to carry a SCUBA-equipment all the way?
    – Carsten
    Sep 2, 2012 at 15:25
  • Yeah I see your point - it'd be far from easy :)
    – DFx
    Sep 2, 2012 at 15:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.