Ich habe hier von einer GPS Software zwei nmea Einträge und möchte daraus die Distanz in km berechnen.
Hier die Daten, die ich immer verwende zum berechnen
$GPRMC,050314,A,4811.922355,N,01619.616010,E,7.6,16.9,280917,,,D*45
$GPRMC,050316,A,4811.923642,N,01619.615688,E,0.0,,280917,,,D*50+
Ich verwende folgende Formel in meinem vb6 Programm:
Zuerst forme ich die Länge und Breite um:
breite = Left(breite1, 2) + CDbl(Mid(breite1, 3, 2)) / 60 + CDbl(Mid(breite1, 5)) / 3600 / 100
laenge = Left(laenge1, 2) + CDbl(Mid(laenge1, 3, 2)) / 60 + CDbl(Mid(laenge1, 5)) / 3600 / 100
Danach errechne ich die Differenz:
e = ArcCos(Sin(breite_neu / 180 * 4 * Atn(1)) * Sin(breite_alt / 180 * 4 * Atn(1)) + Cos(breite_neu / 180 * 4 * Atn(1)) * Cos(breite_alt / 180 * 4 * Atn(1)) * Cos(laenge_neu / 180 * 4 * Atn(1) - laenge_alt / 180 * 4 * Atn(1)))
distanz = e * 6378.137
Wenn ich alle Daten durchlaufe komme ich aber immer auf 22,9km. Laut gps Visualizer Profile oder gps-track-analyse.net sind es aber nur 16,54km.
Hier die komplette Datei: https://www.dropbox.com/s/8gao…_20171130183608.nmea?dl=0
Hoffe es kann mir jemand weiterhelfen, was ich da falsch mache.
Vielen Dank