7 Stimmen

Verschieben der GPS-Position um eine bestimmte Entfernung (in Metern) in eine bekannte Richtung

Ich habe einige GPS-Beispieldaten von einem Gerät genommen. Was ich tun muss, ist, die Daten um, sagen wir, 1 bis 5 Meter nach "links" zu verschieben. Ich weiß, wie das Verschieben funktioniert, das einzige Problem ist, dass das Verschieben nicht so genau ist, wie ich es möchte.

Was ich derzeit mache:

  • Ich nehme die GPS-Koordinaten (Breitengrad- und Längengradpaare)
  • Ich konvertiere sie mit Carrée-Teller Umwandlung.
  • Ich skaliere die resultierenden Koordinaten auf die Längsentfernung (Entfernung auf x) und die Breitenentfernung (Entfernung auf y) - stellen Sie sich vor, die gesamten GPS-Stichprobendaten befinden sich in einem Rechteck, das durch die maximale und minimale geografische Breite/Länge begrenzt wird. Ich berechne diese Entfernungen anhand der Formel für die Großkreis Entfernung zwischen den Extremwerten von Längen- und Breitengraden.
  • Ich verschiebe die Punkte x Meter in die gewünschte Richtung
  • Ich konvertiere zurück in GPS-Koordinaten

Ich habe nicht wirklich die Genauigkeit, die ich mir wünsche. Wenn ich mich zum Beispiel um 3 Meter nach links bewege, sind es weniger als 3 Meter (etwa 1,8 m - vielleicht 2).

Welche Lösungen sind bekannt, um solche Dinge zu tun? Ich brauche eine Lösung, die höchstens um 0,2-0,5 Meter vom realen Punkt abweicht (nicht 1,2 wie im aktuellen Fall).

SPÄTER: Ist diese Art von Ansatz gut? Damit meine ich die Umwandlung der GPS-Koordinaten in Flugzeugkoordinaten und zurück in GPS. Gibt es einen anderen Weg?

SPÄTER2: Der Ansatz der Umwandlung in eine konforme Karte ist wahrscheinlich derjenige, der verwendet werden wird. Im Falle eines kleinen Rechtecks und da es keine Straßen an den Polen gibt, wird wahrscheinlich Mercator verwendet werden. Was denken Sie?

Danke,

Iulian

PS: Ich arbeite an kleinen Gebieten - stellen Sie sich also vor, dass das begrenzende Rechteck, von dem ich spreche, nicht mehr als 5 Kilometer Seitenlänge hat. (Ein Rechteck von 5x5 km ist also das Maximum).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X