mapbox / mapbox/mapbox-navigation-android
[MapboxReplayer] Use a curve to calculate the speed profile for simulating routes
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Kotlin
- Sterne
- 651
- Forks
- 321
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
The replayer does not have perfect "distance" and "speed" calculations. We can improve the driver speed in order to make it exact. The speed accelerations are linear, but we could introduce a curve. The [hermite curve](https://en.wikipedia.org/wiki/Cubic_Hermite_spline) feels perfect for this

We want to speed and distance calculations to be exact, and then we create our own imperfect scenarios.
Here is where the speed profile is calculated
https://github.com/mapbox/mapbox-navigation-android/blob/3b9bbcc97bfc719c168392faf59333c91bf92eda/libnavigation-core/src/main/java/com/mapbox/navigation/core/replay/route/ReplayRouteInterpolator.kt#L18-L29
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit libnavigation-core/src/main/java/com/mapbox/navigation/core/replay/route/ReplayRouteInterpolator.kt bei der verlinkten Berechnung des Geschwindigkeitsprofils. Überprüfe, wie sich die aktuelle lineare Beschleunigung auf die Geschwindigkeit und die Strecke bei der Wiedergabe auswirkt, und bestimme anschließend, wie eine Hermite-Kurve exakte Berechnungen liefern sollte. Erledigt ist die Aufgabe, wenn der Replayer das kurvenbasierte Profil verwendet und die Berechnungen von Geschwindigkeit und Strecke exakt sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- android, kotlin
- Bereich
- mobile
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 42/100