Hello. I got a trouble in GH , that’s my route can’t snap and route to this way (Way: National Route 1 (1348149579) | OpenStreetMap) ?
From point : 20.98144585243455,105.89110672473909
To point. : 20.984333,105.893616
profile : scooter
I try to add access and motorcycle :yes but It’s not work
Your ‘To point’ is located on a bridge, but GraphHopper prevents snapping to bridges by default: Snap preventions default by karussell · Pull Request #3075 · graphhopper/graphhopper · GitHub
@easbar yes, I know that. I tried to disable this rule on my local but it’s not work. So, You can check with “to point” 21.000555,105.918002 . I changed "To point " and check but I don’t understand why my route is like that. It’s should be route via way 1348149579 …
The reason the trunk along the bridge is not accessible for scooters is that the trunk (only) leads into a motorway (here: Way: 1124785546 | OpenStreetMap and here: Way: National Route 1 (1124785544) | OpenStreetMap). For this reason it becomes a ‘subnetwork’ and is excluded. highway=motorway
is closed for the scooter profile, despite the motorcycle=yes
tag. It would be accessible if there was a moped=yes
tag. Maybe you know better: Would it be appropriate to tag moped=yes
here or should the scooter profile include roads tagged as highway=motorway+motorcycle=yes
?
Thank for your suggest. I found it. In my case, this way (Way: 1124785546 | OpenStreetMap , Way: 1181117200 | OpenStreetMap) accept highway=motorway+motorcycle=yes in the real. So I will custom my logic to apply this case.
Many thanks @easbar
Hi @easbar
I’m try to impl this logic with code in my class MotorcycleAccessParser.java
restrictHighwayValues.add("motorway");
restrictHighwayValues.add("motorway_link");
if (restrictHighwayValues.contains(highwayValue) && !intendedValues.contains(way.getTag("motorcycle"))) {
return WayAccess.CAN_SKIP;
}
it’s not work for all case.
Way 654694311 and 654694374 have same tag. but why I can’t snap to way 654694311
Probably because it is part of a subnetwork? You can check by clicking the ‘Show Routing Graph’ option in the layers menu and hovering the edges in GraphHopper Maps. The ways might be part of a subnetwork because you are still missing motorcycle=yes
tags for the ways they lead into, like in your initial example.
Yes. I found missing tag in other way(1348259473). but I don’t understood why my route can not go straight ? I’m test on valhalla and osrm and saw It’s still work without update any things. So Do u have an ideal to fix this ?
Can not go straight where? GraphHopper detects roads that are not connected to the main road network and prevents snapping to them (subnetworks). Otherwise you would not find a connection between the snapped point and another point in the main road network (because it is not connected). You can disable this by setting prepare.min_network_size: 0
in your configuration file. You have to run a new import for this to take an effect.
Sorry, I miss .
From : 10.328472180702358,105.51484107971193
To : 10.32814761469431,105.51406323909761
I change prepare.min_network_size: 0 and it’s work for all my test case. but I still don’t understand about subnetwork. I hope u can explain it for me thanks
Quoting from config-example.yml:
# In many cases the road network consists of independent components without any routes going in between. In
# the most simple case you can imagine an island without a bridge or ferry connection. The following parameter
# allows setting a minimum size (number of edges) for such detached components. This can be used to reduce the number
# of cases where a connection between locations might not be found.
If there is some edge that is still not accessible (because of missing motorcycle=yes) such an ‘island’ will be created. So GraphHopper won’t snap at this location, because there would be no way out.
This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.