Ich habe diese SE-Site jetzt seit einigen Stunden durchsucht und habe immer noch Probleme, eine Lösung für meine Frage zu finden. Mein Ziel ist es, dass ich anhand eines Weges in OSM und meines Standorts (Lat / Lon-Koordinaten) den nächstgelegenen Standort (Lat / Lon-Koordinaten) auf diesem Weg finden möchte. Der Punkt kann sich überall auf dem Weg befinden, nicht nur auf die Punkte, die zum Definieren des Weges verwendet werden.
Ich denke also an folgenden Algorithmus:
- Separater Pfad in separate Kanten, wobei jede Kante nur zwei Punkte verbindet.
- Wählen Sie die nächste Kante.
- Projizieren Sie meinen Standort auf diesen Rand.
Nun gibt es viele Fragen zur Berechnung der Entfernung zwischen einem Ort und einem Pfad:
- WGS-Punkt zum Abstand des WGS-Liniensegments (Großkreis)
- Berechnung des Abstands zwischen einem Punkt und einer virtuellen Linie von zwei Lat / Ings
- Wie kann man die Entfernung von Punkt zu Segment auf der Kugel approximieren?
Auch eine sehr ähnliche Frage, bei der ich die Berechnungen nicht richtig oder verifiziert machen kann:
Es gibt auch einige Informationen von Dr. Math zu diesem Thema. Ich kann jedoch anscheinend keinen Algorithmus finden, um den Ort in Schritt 3 zu berechnen. Da ich die (Vektor-) Algebra seit einiger Zeit nicht mehr berührt habe, verstehe ich die Logik in diesen Antworten nicht ganz.
Kann jemand einen Algorithmus zeigen, um dies zu tun? Eine Lösung in einer vernünftigen Programmiersprache ist für mich in Ordnung.