mapbox / mapbox/mapbox-java

MapMatching and Direction API disagree

Open
#1,158 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
438
Forks
117
PR merge metrics
No merged PRs in 30d

Description

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,

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the walking requests shown for the Directions and Map Matching APIs using the listed SDK versions and coordinates, then compare their routes around OpenStreetMap node 746410976. Check the API documentation or repository references for filtering and pedestrian-routing rules; done means documenting the reason for the difference or confirming a reproducible API bug.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java
Domain
api, mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.