GPS: Richtung & Entfernung bestimmen

Hallo,
für ein Projekt an der Schule muss ich die Entfernung von 2 GPS Punkten sowie die Richtung berechnen.

Ich habe einen GPS Empfänger, der meinem Programm die aktuelle Position gibt, und kann eine Ziel-Position (im GPS Format) im Programm eingeben.

Nun soll mir ein Programm ausrechnen, wie weit das Ziel von meinem GPS-empfänger weg ist, und in welcher Richtung sich das Ziel befindet.

Könnte mir bitte einer sagen, wie ich mit den GPS-Daten rechnen kann?
(google und co. lassen mich da etwas im Stich)

mfg Kevin

Moin

Könnte mir bitte einer sagen, wie ich mit den GPS-Daten
rechnen kann?

Was sind denn GPS-Daten? hast du Koordinaten? Wenn ja:
s²=(x2-x1)²+(y2-y1)²

Für den Winkel google mal nach „Richtungswinkel“. Formel hab ich jetzt nicht im Kopf.

Wenn dein „GPS-Format“ anders ist, …

Paul

Was sind denn GPS-Daten? hast du Koordinaten?:

Ich bekomm die im NMEA format.
also
$GPGGA,hhmmss.ss,llll.ll,a,yyyyy.yy,b,q,nn,d.d,a.a,M,g.g,M,h.h,rrrr*hh

wobei llll.ll die Längen- und yyyyy.yy die BreitenGrade sind.

a und b stehen für a: nördliche oder südliche Hemisphere
b: östliche oder westliche Hemisphere

Also, ich hab z.b.

Latitude Longitude
47.8243 10.2018

Ich muss es dann mal mit der Formel versuchen.
Ich werde es später testen.
Danke schon mal für die Hilfe

mfg Kevin

Für die Berechnung:
s²=(x2-x1)²+(y2-y1)²
müsste ich ja erst mal die Breiten- und Längengrade in Meter bzw- Kilometer umrechnen.

Ich hab dafür die Seite gefunden:
http://seanavigation.narod.ru/progi/degree.html

Mit der kann man die Latitude in Meter ausrechnen, und das Skript berechnet dann auch noch, wie lang eine Longitude ist.

Zum Glück kommt man leicht an den Quellcode ran, um die Formeln zu lernen.

Ich kann bei dem Skript den Grad angeben, und er berechnet mir wie lang die Latitude und Longitude ist.

Ich habe mal mit den Ergebnissen gerechnet, aber komm auf ein falsches Ergebnis.

lat: 47.8021 * 111186 meter = 5314924,2906 m
lon: 10.2255 * 74910 meter = 765992,205 m

lat: 47.8070 * 111187 meter = 5315516,909 m
lon: 10,2068 * 74903 meter = 764519,9404 m

s²=(x2-x1)²+(y2-y1)²
s²=592,6184² + -1472,2646²
s²=351196,56801856 + 2167563,05241316 = 2518759,62043172 m

eigentlich sollte da 1.503 km rauskommen.
(Ich habe die Werte bei google maps rausgezogen. Habe in meinem Ort die Distanz von einem Kreisverkehr zum anderen Gemessen, und die Longitude und Latitude für jeden rausgeschrieben.

habe ich einen Denkfehler reingehauen?

s²=(x2-x1)²+(y2-y1)²
s²=592,6184² + -1472,2646²
s²=351196,56801856 + 2167563,05241316 = 2518759,62043172 m

eigentlich sollte da 1.503 km rauskommen.

Wurzel aus s² ergibt 1587 m. Kommt ungefähr hin.

Grüße
Thorsten

Wurzel aus s² ergibt 1587 m. Kommt ungefähr hin.

aahh, natürlich!
Dankeschon!

hm, aber diese 80m sind bei einer Strecke von über nem Kilometer nicht sooooo tragisch.

Aber bei meinem Projekt (einem Roboter, der per GPS-Daten fährt), ist das dann schon ein ganz großer Unterschied, ob er jetzt 12 Meter fährt, oder dann auf einmal über 80m über sein Ziel hinausfährt…

Naja, mal sehen, hab die Daten ja aus Google-Maps… vll haben die ja auch ein Problem gehabt bei der Umrechnung.
Hab einen Freund gefragt, der auch mit GPS-Daten rumhantieren muss, und er meinte, dass die Google-Maps daten bei uns in der Umgebung nicht sonderlich genau sind.

Werde es dann echt mal mit richtigen Werten versuchen.

mfg Kevin