Falsche GPS Daten

Hallo,

ich habe mal wieder eine Frage zum immer gleichen Thema:

Ich habe ein Programm geschrieben, welches die NMEA Sätze von meinem U-blox C94-M8P ausliest und aus dem GGA Satz Länge und Breite ausliest. Als ich das draußen testen wollte musste ich feststellen, dass ich mich laut Programm etwa 9km von meinem tatsächlichen Standpunkt entfernt befand (in einem See…). Ich nehme stark an, dass etwas beim auslesen schief gegangen ist, deswegen wollte ich fragen, wie man besser vorgehen sollte.

Mein Programm arbeitet so:

NMEA Sätze wie diesen: “$GNGGA,102646.00,4804.87905,N,01116.54885,E,1,12,0.84,603.8,M,46.5,M,*48” finden und einzeln in einen String schreiben.
Im String nach Kommas suchen. Nach dem 2. Komma 10 stellen auslesen und als Latitude String speichern (“4804.87905”).
Nach dem 4. Komma 11 Stellen auslesen und als Longitude String speichern (“01116.54885”).
Die Strings in Typ Double umwandeln und durch 100 teilen.
Damit rechne ich dann weiter.

Laut Wikipedia folgen die NMEA Sätze WGS84. Hat jemand eine Idee, warum ich damit trotzdem so weit ab vom Schuss bin? Muss ich beim Auslesen irgendetwas bestimmtes beachten?

Probier mal ob gpsbabel genauso konvertiert.

Kennst du zufällig noch ein Programm, welches man nicht runterladen muss? Ich hab doch das Admin Password nicht :smiley:

Ich habe diesen ( http://freenmea.net/decoder ) online Konverter gefunden, und anscheinend können die richtigen Daten rauskommen. Dh. meine Konvertierung ist falsch, ich nehme an man muss da eine besondere Formel benutzen…

Für wie lange war deine Position denn “mitten im See”? Nur kurz? Die Zeitangabe im Datensatz ist in UTC. Berücksichtigst du das? War die Position “im See” laut Status-Flag gültig?

Gruß Klaus

Auf Arbeit? Hoffentlich liest der Chef nicht mit.

Da dürfte das Problem liegen. So wie ich diese Beschreibung http://www.gpsinformation.org/dale/nmea.htm verstehe, handelt es sich um Grad und Minuten. D.h. aus 4804.87905 werden nicht 48,0487905 Grad, sondern 48 Grad und 4,87905 Minuten. Teile letztere durch 60 und zähle sie zu den Graden hinzu, dann bist du bei 48,0813175 N, 11,275814 E. Paßt das besser?

Es gibt durchaus Chefs, bis zu denen es sich herumgesprochen hat, daß Mitarbeiter, die Kopfarbeiten durchführen, unterm Strich produktiver sind, wenn sie während der Arbeit gelegentlich kurze Pausen einlegen, in denen sie sich mit etwas ganz anderem beschäftigen. Solange also der Workflow stimmt, kann der Chef damit durchaus einverstanden sein, während die IT dennoch der Ansicht ist, Installation von Fremdsoftware zu unterbinden :slight_smile:

–ks

Ja, mach ich ja auch, hatte den Smily vergessen.

Da ich das ganze für ihn mache sollte das kein Problem sein. Wenn er möchte, dass ich Navigation programmiere soll er auch einverstanden sein wenn ich mich in Foren rumtreibe um mein Wissen zu erweitern :wink:

Die Position im See ist dauerhaft, auch wenn ich das Gerät vor meinem Fenster stehen und vor sich hin messen lasse befinde ich mich im See. Die Koordinaten, die Bernhard ausgerechnet hat stimmen aber, vielen Dank dafür :slight_smile:

Kleiner Hinweis: Für jeden, der sich mit Koordinaten, Log-Dateien und Datenformaten herumschlagen muss, ist GPSBabel ein fast unverzichtbares Tool (auch wenn das Problem im vorliegenden Fall schon gelöst ist).