Geocoding + Distances of German postal codes is horrible :(

I tried looking up around a thousand zip codes, gave “12345, Germany” as query, set the boundary to Germany. Default settings otherwise. Yet, openrouteservice delivered terrible results regularly, forcing me to resort to Google Maps. Then I wanted to use openrouteservice for the distances inbetween the places, but for quite a number of those ~10% I’d say, it failed to find a routable point within 350 meters (making me fall back to expensive Google Maps), despite this clearly being in Germany and thus in the map data. When I check the map, I noticed either missing streets (that do exist on Google Maps) or small looking streets. Sometimes proper streets right next to the point though, yet still the complaint about not finding a routable point within 350 meters. And it was clearly far less than 350 meters.

Did I make a mistake? Is there a functional way to look up the postal codes and still compute their car distances? Or is openrouteservice just not (yet) suited for this task?

Best regards,
Tobi :slight_smile:


as a preface for completion, geocoding is not part of the openrouteservice, but is using Pelias.

We are aware of the shortcomings of the current geocoder setup. We’ll look into whether we can improve its performance by changing the data sources or switching to a different geocoder, but for the moment, there is not much that we can do for you in that regard.

Regarding the routing, there might be. In general, german postcodes don’t describe a single place, but a rather big area. As such, the coordinates you get back for searching a postcode will probably be the centroid, but maybe just some point within that area.

Especially in rural areas, I can definitely imagine said point to not be near a routable road.

Regarding that, it’d be great to have some examples of where the openrouteservice didn’t find a routable point. This is profile-dependent, the issues we had most with this in the past were due to barrier=gate or similar somewhere on the roads connecting to the main street network.

This is something that often comes up either in forests, in gated communities (not too much of a problem in Germany^^) and around ports or airports.

In the case of missing streets that exist on gmaps, data is either missing in the OSM or wrong on gmaps. If you know a road to exist, feel free to improve the OSM with the missing data - after all, it’s a community project.

Best regards

In addition to @jschnell 's answer:
If you have the right points but still can’t find a point within 350 m for routing you can increase the default radius of snapping the input points to available ways by passing the radiuses parameter in the request body (see docs).

Best regards

Thank you all very much for your help :slight_smile: