Korrektur defekter NMEA-Daten?

  • Hallo,


    ich betreibe Glopus sowohl mit eingebautem GPS im HTC Kaiser, als auch mit extern Bluetooth GPS-Maus GPSlim 236. Leider passiert es gelegentlich, dass in der Log-Datei einzelne NMEA-Sätze nicht vollständig ankommen. Beispiel:
    $GPGGA,084853.000,4620.1083,N,00728.6675,E,1,09,1.1,2272.5,M,48.1,M,,0000*6F
    $GPRMC,084853.000,A,4620.1083,N,00728.6675,E,1.04,23.$GPGGA,084854.000,4620.1085,N,00728.6676,E,1,08,1.1,2272.7,M,48.1,M,,0000*6E
    $GPRMC,084854.000,A,4620.1085,N,00728.6676,E,0.00,23.64$GPGGA,084855.000,4620.1093,N,00728.6682,E,1,09,1.1,2274.3,M,48.1,M,,0000*60
    $GPRMC,084855.000,A,4620.1093$GPGGA,084856.000,4620.1093,N,00728.6686,E,1,08,1.2,2274.6,M,48.1,M,,0000*60
    $GPRMC,$GPGGA,084857.000,4620.1089,N,00728.6687,E,1,09,1.1,2273.8,M,48.1,M,,0000*60
    $GPRMC,084857.000,A,4620.1089,N,00728.6687,E,1.55,79.10,040108,,,A*59



    Enthält ein NMEA-Log solche Zeilen, kann Glopus es anscheinend nicht in der Karte anzeigen, bzw. nachträglich in der Diagrammansicht anzeigen. Es wäre super, wenn Glopus z.B. eine Funktion hätte, die über das Kontextmenü im Fahrtenbuch ein "NMEA-clean" o.ä. aufruft, das solche unvollständigen Zeilen und auch Zeilen ohne Fix (brauchen nur unnötig Speicherplatz) endgültig aus der entsprechenden Datei löschen könnte.


    Peter, wäre das eine sinnvolle Erweiterung für Glopus?

  • Bei mir sind noch keine kaputten Datensätze aufgetreten, aber es wäre u.U. vorstellbar, wenn das Gerät softwareseitig überlastet ist.
    Eigentlich sollte Glopus solche Datensätze einfach ignorieren, aber so richtig getestet habe ich das nicht.

  • Datenkorruption hatte ich auch gelegentlich gesehen. Vermutlich liegt das an der COM-Schnittstelle. Die ist ja aus Prinzip schon relativ unzuverlässig.


    Anscheinend werden dann aber auch defekte Datensätze in das Log geschrieben. Das könnte im NMEA-Filter von Glopus unterbunden werden, indem nur Datensätze mit korrekter Prüfsumme gespeichert werden. Ich meine in Glopus selbst, nicht in Serilot. NMEA-Logs von Glopus haben den Vorteil, dass man einfach zu Beginn einer Tour Glopus startet und später die Logs nach Touren in getrennten Dateien liegen hat, mit Datum im Dateinamen. Ein Langzeit-Log fände ich eher unpraktisch. Ok, kann man mit "cat *.asc > allzeitlog" immer noch nachträglich machen.


    p.s. ich fände es auch sinnvoll, die Zeilen ohne GPS-Fix nicht abzuspeichern. Das wäre bestenfalls für Diagnosezwecke sinnvoll. Dann kann man immer noch andere Logger-Apps starten. Oder man konfiguriert es als Option.

    Einmal editiert, zuletzt von frank334 ()

  • Zumindest bei mir zeichnen sich defekte NMEA-Sätze immer dadurch aus, dass sie irgendwo im Text noch einmal anfangen. Ein Test, ob ein $-Zeichen außer am Anfang noch irgendwo auftritt würde schon ausreichen.


    Peter, wenn Du Dich sowieso daran machen solltest: Vielleicht wäre auch das Programmieren eines Log-Filters sinnvoll, der nur die Sätze speichert, die
    a) vollständig (siehe $-Zeichen im Text)
    b) einen Fix aufweisen
    c) einstellbar einen pdop von einstellbar <=x aufweisen


    Dann müsste ich am PC nichts mehr nachbearbeiten, und könnte die fertigen Logs auch direkt auf dem PPC im Glopus ansehen.

  • Hier einmal eine liebe Bitte an Peter Kirst.
    Meine Logs sind im Format *.gpx von Glopus.
    Währe es denn möglich einen Converter in Glopus zu integrieren ?
    Ich benötige es dringend für MN6 > *.rte Routen mit Auswahl wohin gespeichert wird.
    Mein Format *.rte ist dann so:
    [Start:Position 1|][0][10]|||8.710427|50.048098||
    [Position 1|][0][10]|||8.710327|50.047998||
    [Position 2|][0][10]|||8.710325|50.048002||
    [Position 3|][0][10]|||8.710318|50.04789||
    [Position 4|][0][10]|||8.710333|50.04781||
    ...
    Die [10] ist mir wichtig um im Niemandsland mit gleinen Fähnchen die Route
    in MN6 einzulesen zum Wandern und Radfahren zb. rund um Büsum !


    Wie den RouteConverter von Christian Pesch www.routeconverter.de ?
    RouteConverter 1.24.10


    Alle Doppelten; 5 Meter entfernt zum Vorgänger; 10 Meter zwischen verbleibenden Positionen und redudante Position Grenzwert 1 Meter entfernen .... und schon kann man die Route einlesen, aber ich suche wie immer alles auf dem Navi Transonic 6000 T und nicht auf dem Pc ...???
    Notfalls eine Auswahl der Zahlen (Meter) bei schwierigen Logs ....
    Im Urlaub bleibt der Pc zu Hause ......
    Ein Neustart von Glopus zum einlesen der Koordinaten beim Start von MN6 funktioniert ja auch super.
    Das währe echt Klasse
    *lg*
    nim

  • Ich habe selbst schon mal darüber nachgedacht. Danke jedenfalls für die genaue Beschreibung. Ich werde es mal auf die todo Liste schreiben.