I was processing data on a Geofabrik extract of OSM data and found a routing error at two points on the Southern Cross Way motorway in Brisbane, Australia. Using the direction tool in the OSM map display I was able to confirm it was a map error (rather than an error in my own code and the map matching algorithm I was using) but I can’t work out the exact nature of the error or how to correct it.
The first error occurs trying to route south along the way. The routing mechanism apparently cannot find a connection between the segment of the road that passes under the Airport Flyover and the section directly North, or does not believe the Southbound segment direction South of the bridge can be used. Yet on my examination the segments are all connected with the appropriate turning restrictions and access allowances and one way direction. The effect of whatever error is present is the routingalgorithm takes the offramp and uses improbable suburban and deadend streets. The routing error is visible at the link below. https://www.openstreetmap.org/directions?engine=osrm_car&route=-27.40679%2C153.07479%3B-27.41455%2C153.07675#map=16/-27.4103/153.0769
The second error is presumably of the same nature and is slightly further south on the same motorway heading West than North from the Gateway Motorway, but unable to continue byond the first offramp. https://www.openstreetmap.org/directions?engine=osrm_car&route=-27.4350%2C153.0920%3B-27.4258%2C153.0797
I hope I can get help identifying and fixing this map error so I can fix any others that pop up for my benefit and that of others.
There is a routing plug-in for JOSM that would allow you to check a simple routing algorithm against even a work in progress version of the map, as long as the area covered is small enough for it all to be loaded.
Having payed with the routing a bit more I have confirmed the “breaking point” at all instances seems to be the node where the off ramp exits (where “motorway link” forks off “motorway”). On other nearby motorways where there are no routing errors these types of nodes are classified as ‘motorway junctions’. As such I have changed the nodes to motorway junctions. If nothing else this makes it consistent with the rest of the data, but hopefully it will fix things.
Well spotted. I’ve never had to deal with a motorway so didn’t know about highway=motorway_junction. Looking at the wiki https://wiki.openstreetmap.org/wiki/Tag:highway=motorway_junction it marks a junction where it is legal to exit. So without that tag the router won’t be able to use that junction as an exit (because it would think that junction can’t legally be used as an exit). I think you’ve found the problem and fixed it.
I doubt that the routers pay attention to the motorway junction tagging. The error also occurred when staying on the motorway. Anyway, now it is fixed on the router on openstreetmap.org and I suspect something you did the day before fixed it. Of course I could be wrong.
The motorway junction thing seemed unlikely to me too, but it seems to have worked! The only other change I made was trying to change the segments so the offramp came off at the end of a motorway segment and not at a point along it, but I didn’t do that for the southern (second link in the original post) offramp.
Anyway, when looking for other examples in my processed data I found another example in Melbourne (linked below). Using a Geofabrik extract downloaded on March 16th there was a very similar routing error where vehicles would be routed off the Monash freeway, take Waverly road and then rejoin the freeway. As you can see in the link it’s fine now. The relevant nodes here are also marked as motorway junctions, but I can’t find a record of them being changed in the past 5 weeks or so. https://www.openstreetmap.org/directions?engine=osrm_car&route=-37.8789%2C145.0839%3B-37.8865%2C145.1085