mapbox / mapbox/mapbox-java

MapMatching Rigidly Follows Traffic Laws

Ouverte
#1,128 7 commentaires 3 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Java
Étoiles
438
Forks
117
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

The mapMatching API doesn't work with routes that disobey traffic laws. We are providing routes for first-responders (fire, law-enforment, EMS, etc.) who don't always need to obey traffic laws so this is causing issues.

Here's an example (the image on the left is the recommended route; the image on the right is what is returned from mapMatching, not allowing the illegal left turn):
Left-Turn Not Allowed

We are generating routes from our own OSRM server using custom profiles and want to use mapbox-navigation-ios for the navigation frontend. As noted in this tutorial and https://github.com/Project-OSRM/osrm-text-instructions/issues/269#issuecomment-449417857 the recommended approach is to use the mapMatching api to add voice and banner instructions to the custom generated route object (orsm-text-instructions could be used to add the simple text instructions but not the voice and banner instructions).

We don't even need the "matching" part of the mapMatching api... we already have the precise road geometry, we're not snapping fuzzy gps coordinates to a road network. We only need the voice and banner instructions but there doesn't seem to be a way to get just these without using the mapMatching API.

We could write our own package to produce the voice and text instructions based on the route object (returned from orsm) and the simple text instructions (returned from osrm-text-instructions) but it seems needless considering this is something already implemented by Mapbox but not available in any way (open source or api).

We plan to reach out directly to Mapbox support to talk about this but I wanted to post a public issue here so that other's could add to the discussion if they have similar issues or possible solutions.

related to #849

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par l’API mapMatching et examinez l’issue associée #849, puis suivez la manière dont les itinéraires OSRM personnalisés sont transmis via le Java SDK. Comparez le comportement d’itinéraire demandé pour les first responders avec le flux actuel des instructions vocales et des bannières. Le travail serait considéré comme terminé lorsqu’il existerait un moyen clairement défini et pris en charge de produire ces instructions sans rejeter les itinéraires qui enfreignent le code de la route.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
api
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.