... the user friendly GPS tool


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Datenpunkte gehen verloren
#1
Hallo zusammen.

Mein GPS Logger liefert Daten im nmea Format.
Diese Tracks lade ich im RouteConverter (Version 1.25), füge für alle Punkte Beschreibungen hinzu und speichere die Datei anschließend wieder. Und siehe da: irgendwas fehlt. ;)

Ein paar Trackpunkte werden nicht mal beim Öffnen aus der Originaldatei eingelesen. Aus irgendeinem Grund werden die Punke einfach überlesen.
Das tritt sporadisch mal auf.

Zwei einfache Beispiele:

Von diesen drei Punkten wird der zweite Punkt nicht eingelesen:    
Code:
$GPGGA,074701.000,4655.3716,N,01154.2843,E,1,,,2004.0,M,,M,,*52
$GPWPL,4655.3716,N,01154.2843,E,Position 259*61
$GPRMC,074701.000,A,4655.3716,N,01154.2843,E,,,240708,,A*43
$GPZDA,074701.000,24,07,08,,*5A
$GPGGA,074706.000,4655.3713,N,01154.2828,E,1,,,2004.0,M,,M,,*5D
$GPWPL,4655.3713,N,01154.2828,E,Position 260*63
$GPRMC,074706.000,A,4655.3713,N,01154.2828,E,,,240708,,A*4C
$GPZDA,074706.000,24,07,08,,*5D
$GPGGA,074711.000,4655.3713,N,01154.2828,E,1,,,2004.0,M,,M,,*5B
$GPWPL,4655.3713,N,01154.2828,E,Position 261*62
$GPRMC,074711.000,A,4655.3713,N,01154.2828,E,,,240708,,A*4A
$GPZDA,074711.000,24,07,08,,*5B


Von diesen Punkten wird nur der letzte eingelesen:    
Code:
$GPGGA,080541.000,4654.9255,N,01154.1666,E,1,,,2373.0,M,,M,,*5F
$GPWPL,4654.9255,N,01154.1666,E,Position 483*63
$GPRMC,080541.000,A,4654.9255,N,01154.1666,E,,,240708,,A*4D
$GPZDA,080541.000,24,07,08,,*57
$GPGGA,080546.000,4654.9255,N,01154.1666,E,1,,,2373.0,M,,M,,*58
$GPWPL,4654.9255,N,01154.1666,E,Position 484*64
$GPRMC,080546.000,A,4654.9255,N,01154.1666,E,,,240708,,A*4A
$GPZDA,080546.000,24,07,08,,*50
$GPGGA,080551.000,4654.9255,N,01154.1666,E,1,,,2373.0,M,,M,,*5E
$GPWPL,4654.9255,N,01154.1666,E,Position 485*65
$GPRMC,080551.000,A,4654.9255,N,01154.1666,E,,,240708,,A*4C
$GPZDA,080551.000,24,07,08,,*56


Hat dazu vielleicht jemand eine Idee?
Andere Programme lesen die Datei korrekt ein, die Daten scheinen also grundsätzlich erst mal richtig zu sein.

Danke.
Reply
#2
(12.05.2009, 22:57)Marco Wrote: Diese Tracks lade ich im RouteConverter (Version 1.25), füge für alle Punkte Beschreibungen hinzu und speichere die Datei anschließend wieder. Und siehe da: irgendwas fehlt. Wink

Hallo Marco,

der NMEA-Roundtrip, d.h. Lesen und Schreiben und dann wieder Lesen - beides vergleichen, ist in der Tat nicht informationserhaltend.

(12.05.2009, 22:57)Marco Wrote: Ein paar Trackpunkte werden nicht mal beim Öffnen aus der Originaldatei eingelesen. Aus irgendeinem Grund werden die Punke einfach überlesen.
Das tritt sporadisch mal auf.

Der Code mache folgendes:
  • Gelesen werden die Sentences GGA, RMC, WPL, ZDA und VTG. Alle anderen werden ignoriert.
  • Aufeinanderfolgende Sentences mit gleicher Position (GGA, RMC, WPL) werden zusammengefaßt.
  • Dazwischenliegende Sentences ohne Positionsdaten (ZDA, VTG) werden mit der davorliegenden Position zusammengefaßt.

Auf Dein Beispiel bezogen:

Code:
$GPGGA,074701.000,4655.3716,N,01154.2843,E,1,,,2004.0,M,,M,,*52
$GPWPL,4655.3716,N,01154.2843,E,Position 259*61
$GPRMC,074701.000,A,4655.3716,N,01154.2843,E,,,240708,,A*43
$GPZDA,074701.000,24,07,08,,*5A[code]

Das sollte eine Position werden.

[code]
$GPGGA,074706.000,4655.3713,N,01154.2828,E,1,,,2004.0,M,,M,,*5D
$GPWPL,4655.3713,N,01154.2828,E,Position 260*63
$GPRMC,074706.000,A,4655.3713,N,01154.2828,E,,,240708,,A*4C
$GPZDA,074706.000,24,07,08,,*5D
$GPGGA,074711.000,4655.3713,N,01154.2828,E,1,,,2004.0,M,,M,,*5B
$GPWPL,4655.3713,N,01154.2828,E,Position 261*62
$GPRMC,074711.000,A,4655.3713,N,01154.2828,E,,,240708,,A*4A
$GPZDA,074711.000,24,07,08,,*5B

Dies eine zweite.

(12.05.2009, 22:57)Marco Wrote: Hat dazu vielleicht jemand eine Idee?

Ja. Diese Logik erklärt sich durch die Anforderung, das Programm einfach zu halten und mit der Herkunft als Konvertierer:
  • Eine Zeile in der Tabelle soll eine Position repräsentieren.
  • Andere Formate bieten keine passenden Strukturen, um die Sentences 1:1 darauf abbilden können.

Ich hoffe, das erklärt es für Dich?
--
Christian
Reply
#3
Hallo,

danke für die schnelle und ausführliche Antwort.

OK, dann ist die Sache klar. It's a feature, not a bug.
Macht ja auch einen gewissen Sinn, nachfolgende Datenpunkte, die genau an derselben Stelle liegen, zu verdichten.

Nachteil ist natürlich, dass das Ergebnis minimal verfälscht wird, z.B. wenn man die Geschwindigkeit von Position zu Position berechnet. Das sollte aber so minimal sein, dass es deutlich unter der GPS Ungenauigkeit liegt und damit irrelevant ist.

Wobei ich es sowieso erstaunlich finde, dass zwei aufeinanderfolgende Positionen genau aufeinanderliegen. Die Chance dazu dürfte real ziemlich gering sein. Aber das ist eine andere Geschichte. Smile
Reply
#4
(13.05.2009, 19:00)Marco Wrote: Wobei ich es sowieso erstaunlich finde, dass zwei aufeinanderfolgende Positionen genau aufeinanderliegen. Die Chance dazu dürfte real ziemlich gering sein. Aber das ist eine andere Geschichte. Smile

Hallo Marco,

hätte ich zunächst auch gedacht, doch die vielen NMEA-Tracklogs, die ich hier zum Testen gesammelt habe, zeigen, daß die meisten Programme nicht nur RMC-Sentences schreiben, sondern üblicherweise die 5 von RouteConverter unterstützten und noch ein paar mehr.

Ich vermute, daß die Autoren der Programme möglichst alle vorhandenen Informationen erhalten und möglichst viele Programme, die die Daten nachher weiterverarbeiten unterstützen möchten. Also schreiben sie für eine GPS-Position 3-5 Sentences mit meist redundanten Daten.

Bei Tripmaster sieht das z.B. so aus:

Code:
$GPRMC,175947.000,A,4812.0597,N,01136.4663,E,0.0,163.8,010907,,,A*62
$GPGGA,175947.000,4812.0597,N,01136.4663,E,1,07,1.4,495.3,M,,,,*09

oder bei Sonys CS1 GPS Modul

Code:
$GPGGA,180114,4808.9490,N,00928.9610,E,1,05,12.6,00616.6,M,048.0,M,,*49
$GPGSA,A,3,05,09,12,14,22,,,,,,,,19.9,12.6,15.3*0B
$GPGSV,2,1,08,05,40,250,50,09,85,036,51,22,16,285,36,17,,,00*4F
$GPGSV,2,2,08,12,57,247,49,13,,,27,30,,,39,14,16,320,35*77
$GPRMC,180114,A,4808.9490,N,00928.9610,E,000.0,000.0,160607,,,A*76
$GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D

Alle Sentences gelten für eine Position.
--
Christian
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)