Problems with street_hint matching

We have discovered some issues with street matching using the street_hint parameter. Below are 2 examples where the snapped waypoints are not in the right places.

Example 1 (8 Orca Drive, Markham, ON, Canada)
Latitude: 43.89781869999999
Longitude: -79.2667187
Street hint: Orca Drive

This gets snapped to Orchard View Road ~2km away.

Passing in “8 Orca Drive” as the street_hint caused it to snap to the correct point though. I also have other examples where passing in the street number fixes the snapping, but this is contrary to the documentation.

Example 2 (18827 North 42nd Lane)
Latitude: 33.6576374
Longitude: -112.149891
Street hint: North 42nd Lane or 18827 North 42nd Lane and also tried other variations

This house has North 42nd Lane on one side and North 42nd Drive on the other. It should get snapped to 42nd Lane but gets snapped to 42nd Drive no matter what variation is passed as the street_hint.

I cannot reproduce the first example. It works for me: https://graphhopper.com/maps/?point=43.897819%2C-79.266719&point=43.897711%2C-79.26544&point_hint=Orca%20Drive&point_hint=

Or are you using the TomTom config? (The point_hint for the Routing API is the same as street_hint for the Route Optimization API.)

We need to investigate the second example - it seems to be something tricky.

We are using the TomTom config yes.

For TomTom I can indeed reproduce the first problem too and the reason is that TomTom stores “Orca Drive” as “Orca Dr”. In North America every mapping company seems to use these abbreviations (except OSM) as they seem to be more common, but this confuses our engine when using OSM-style in the street_hint although we try to make it working with a few tricks. As a workaround you can try to replace all “Drive” with “Dr” and Lane with Ln, Road with Rd etc

Thanks, that seems to resolve example 1. Example 2 isn’t resolved by this fix though.

For Example 2 I created the following issue: https://github.com/graphhopper/graphhopper/issues/1828

Not sure if this is the same issue but it seems related to snapping, let me know if I should open another thread about it. We were having trouble where “2401 Christammy Court” 28.5161594, -81.4970156 was being snapped to a main road. We’ve tried variations of street_hint, changing the network_data_provider to no avail. I tried it using GH maps and the problem became more apparent.

https://graphhopper.com/maps/?point=28.517415,-81.498595&point=28.5161594,-81.4970156

If you move the start/end locations it still tries to route you on an extremely long journey even though the points are right next to each other. This works fine on Open Street Maps OSRM, or with Google Maps. Is GH missing the road information?

Per default we do not allow routing through private property and these roads are marked as private. You can see the gates when switching the map layer to OpenStreetMap.

@karussell we’re using the optimization API and this address is getting snapped to the main road and doesn’t go through those private roads. Is this happening for the same reason? And if so is there a way to turn it off?

Yes, it applies to other APIs too. We are working on a solution for this, i.e. ‘turning it off’, but this will take more time. For the mean time we can only offer a dedicated setup where we would allow private roads. You can write to the support for more details.

Is there any update on allowing private roads? Another example of this issue causing bizarre routes and completely ruining the optimization

https://graphhopper.com/maps/?point=38.348494%2C-85.893399&point=38.344641%2C-85.89051&locale=en-GB&vehicle=car&weighting=fastest&turn_costs=true&use_miles=false&layer=Omniscale

There is no change in this regard. Also I do not expect a quick solution for private roads for this year. The problem is that we cannot allow this per default for the shared API and per-request is technically not possible yet. The only solution we currently offer is via a dedicated setup.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.