mapbox-java
mapbox-java copied to clipboard
MapMatching and Direction API disagree
Hi all,
I'm using Mapbox Navigation SDK (mapbox-android-sdk:8.6.0-alpha.2, mapbox-android-navigation:0.43.0-alpha.1) to navigate along an pedestrian itinerary set by waypoints that my server computed.
To do so, I'm using map-matching function quite successfully.
But as I was investigating some strange behaviors in my neighborhood, I wanted to quickly test the result of my map-matching on some problematic ways / nodes. I was hoping to use a tool such as https://docs.mapbox.com/playground/directions/ to do this troubleshooting but with map-matching request. Since such tool doesn't seem to exist I've mixed the request prepared by that tool with the one from https://docs.mapbox.com/help/demos/get-started-map-matching-api/index.html (that does map-matching but not pedestrian). By doing so, I realized that the direction API and the mapmatching API didn't answer the same thing to a similar query :
https://api.mapbox.com/directions/v5/mapbox/walking/5.800798037396589%2C45.21580602782012%3B5.801456870627447%2C45.215414481183615%3B5.801700058007384%2C45.21492591634032?alternatives=true&geometries=geojson&steps=true&access_token=MY-TOKEN
https://api.mapbox.com/matching/v5/mapbox/walking/5.800797650898716,45.21581080651953;5.801424456929027,45.21542164580532;5.801674116958651,45.214942675116106?geometries=geojson&radiuses=25;25;25&steps=true&access_token=MY-TOKEN
Even if the format could be different, I didn't expect the filtering of the ways and node to be different : it seems that mapmatching is blocked at a node : https://www.openstreetmap.org/node/746410976 when direction is not.
I don't think that the parsing of the map should be any different while using both API to come up with a pedestrian path. Am I wrong ? Is there a good reason it should be different ? or is it, as I expect, mapmatching API being less accurate ?
where can I find the filtering rules applied in both API calls ?
Thanks for investigating,
cc @mapbox/navigation-api @danpat
@danpaz Could you take a quick look at this when you have a chance 🙏?
Our Map Matching and Directions APIs are currently a little bit out of sync - we're doing some incremental upgrades in the backend that lead to a few discrepancies like this. We hope to have the behaviours properly aligned again by the end of Q3, if not sooner.
@TofLG So, to be clear - this is a known bug on our end, and one we're actively working to fix.
Thanks for the follow up @danpat 🙇♂️
I'm going ahead and transfer this into https://github.com/mapbox/mapbox-java as it's not directly an issue coming from the Navigation SDK. Feel free to transfer it to somewhere else so you can keep track of it if necessary.