How to force directions and isochrone to exclude highway=track for driving

I was dismayed to see that the isochrone service was using undriveable private tracks (highway=track) to create isochrones for ‘driving-car’ in Scotland, UK

I’m using ORS via localhost/docker, making POST requests via KNIME. Here is a good example of the problem in the ORS map viewer maps.openrouteservice.org…

The section from start point 1 to the blue circle is all good, on a main road / highway. However the section from the blue circle to end point 2 is ABSOLUTELY not driveable. This is a private track, it is locked off, I’m concerned that ORS is trying to route vehicles along here because it’s totally inappropriate.

I set out to understand why ORS thinks this route is driveable. Here is the source track in OSM - Way: 231247503 | OpenStreetMap
![tags|347x139]

tags

By contrast the allowable road nearby has tags like highway = primary. So here’s the question - how can I get my local ORS install to ignore tracks that aren’t driveable, and aren’t even permissible to drive on! I want to exclude them from driving directions and the isochrone service. I just can’t believe that highway=track is used for driving profiles, so I’m wondering what I’ve done wrong. Thanks for your help

I guess, the main reason why ORS accepts this track is because there is no means to tell from the grade whether a way is acceptable or not. In some countries such a track would be a perfectly valid road.

As you are running an own instance, you might try changing the vehicle flag encoder to forbid tracks of grade 2: https://github.com/GIScience/openrouteservice/blob/master/ors-engine/src/main/java/org/heigit/ors/routing/graphhopper/extensions/flagencoders/VehicleFlagEncoder.java

Best regards

Thanks @sascha

The OSM wiki appears pretty clear: “The tag highway=track is used for minor land-access roads that are not considered part of the general-purpose road network

While I accept that in some countries there should be the ability to add these to the network, I find it astonishing that the default is ‘on’ for all countries. This renders ORS totally invalid for the UK, which is a real shame as it could be so useful.

I’m not sure how I would even begin to edit the java source code, let alone compile it. Is this something that can be done in Docker?

Alternatively, is it possible to create a new profile that explicitly forbids highway=track? I couldn’t quite believe the results when I saw them, and for this to be intentional design is quite a shock to me. It seems to undermine the important difference between being theoretically able to drive along a track in a 4x4, vs being able to drive along a route in real life. Thanks

Well, to be honest: your endpoint for a route where you choose to drive a car is a bit odd, imo. And I am quite uncertain as to what you were expecting: ORS to route you to that gate, then say ‘get out of the car here, you’re on your own on foot’? Or not generating a route at all? Or doing something like the big g maps is doing: route to that gate, then show a dotted line towards the final destination? Now that can be extremely dangerous as well. So what is it that you expected to see when requesting a route to that end point using driving-car as a profile?

Secondly: That track is perfectly drivable from what I can see on your screenshot, even if you don’t think it is. In the ORS Documentation you can see that highway = track is conditionally accepted for routing, where acceptance/rejection is based on other tags and logic. Seeing as the tracktype=grade2 is the only other tag on this way, I can see why ORS included it in your route, because there is no other way to reach your endpoint. But if you want this way excluded, you should update the tags on it in Openstreetmap, not change the tag filtering in ORS imo.

Thirdly: the fact that it is a private road, and blocked by a gate, is not mapped as such in Openstreetmap. Which means Openrouteservice does not know that there is a gate that might be locked. Again, the Openstreetmap data should be updated here: the gate should be added, or at least there should be an access=* tag on that way. That’s the only way that ORS would be able to know that it actually is not accessible (although this being Scotland, the accessibility should still allow foot…).

Lastly: This

is of course an enormous generalization, based on one single case. Remember that ORS depends on OSM for its data, and the OSM map is only as good as all those volunteers make it. Which means mistakes can happen, oversights can happen, and yes: vandalism unfortunately also happens. But to say that you can’t use ORS in the whole of the UK based on this single example, is way too much for me. In general both OSM and ORS are really reliable, and I love using them because I do travel abroad quite a bit - so it is very convenient for me to have maps and routeplanners that work worldwide (and aren’t driven by the big g :wink: ).
As it happens I’ll be in Scotland next week, and I’ll be using OSM+ORS for my day trips - and won’t worry about it :wink: