NMEA aus VisualGPSce in TOP50-OVL konvertieren?

  • Nachdem die eierlegende Wollmichsau "NH50-TopTrans" ab 2007 seinen Dienst beenden wird, suche ich nun ein Tool womit ich die NMEA-Daten von meinem PDA, die mit VisualGPSce aufgezeichnet wurden, in das TOP50-OVL Format konvertieren kann.


    Allerdings scheint das nicht so einfach zu sein, denn kein mir bekanntes Programm schafft das!
    Erfolglos waren bisher Versuche mit:
    - Touratech QV 4
    - EasyGPS
    - Garfile
    - GPS Track Maker
    - GPXTrans
    - GPS Datei Konverter
    - G7ToWin
    - GPSBabel
    - GeoConv
    - GPS Route File Converter
    - TOP2GPS
    - TrackLog-Konverter


    Kennt jemand von euch ein passendes Konvertierungstool?


    Gruß, High

  • Schau mal im Glopus-Forum nach geotools....zip :


    Glopus geotools.zip, Skripte und kleine Programme für Kartenverarbeitung und geografischer Auswahl


    Die gleiche Funktion hatte ich auch vermisst und entsprechend nachprogrammiert. Per bash command-line geht es so:


    nmea2ovl < nmea-log.txt > track.ovl


    GPSBabel wird vorausgesetzt (zur NMEA-CSV-Konvertierung). Bei Gelegenheit kann ich den Code mal zu GPSBabel ergänzen, damit es auch mit dessen grafischer Oberfläche nutzbar ist. Überhaupt sehe ich GPSBabel als Alternativlösung zu NH-Toptrans. Es fehlt zwar noch einiges, aber dank offenem Sourcecode können fehlende Funktionen leicht ergänzt werden.


    Hier mein Aufruf zur Weiterentwicklung von GPSBabel:


    http://www.pocketnavigation.net/board/tid1054794-sid.htm


    Im Übrigen lassen sich viele ASCII-Formate auch per Style-Datei zum GpsBabel-XCSV-Format definieren.


    p.s. in NMEA muss dazu die GPRMC-Sequenz drin sein für das Datum (kann z.B. in Glopus konfiguriert werden). Wenn nicht, muss das über die Option "date" nachgetragen werden bzw. die gprmc-verarbeitung ausgeschaltet werden. Einfach weglassen wird vom gpsbabel im default nicht akzeptiert, das hat mich anfangs auch genervt.

    Einmal editiert, zuletzt von frank334 ()

  • Arrgg. Stimmt. Und der Code ist sogar schon drin. "overlay.c". Ich kompilier den und merk es nicht mal. Leider haben die Jungs von GPSBabel das auch überhaupt nicht dokumentiert und sogar OVL in vecs.c auskommentiert. Aber er ist nicht fertig, stimmt: Bei NMEA-Tracks spuckt er zwar ein OVL-File aus, wo aber die Trackpunkte fehlen.


    Der Code ist 700 Zeilen lang und schaut nach einer brauchbaren Grundlage aus, auf die man weiterbauen kann.


    Mein Code ist je Richtung nur etwa 60 Zeilen, aber der funktioniert! Zumindest für die Track-Umwandlung. OVL bietet ja noch eine ganze Menge anderer Möglichkeiten, die ich nicht berücksichtige und die für Tracks keine Rolle spielen. Und dann gibt es wohl noch ein prinzipiell unlösbares Problem, dass OVL immer eine Kartenangabe braucht, um beim Laden keine Fehlermeldung anzuzeigen. Ich lasse das einfach auf "Länderübersicht" voreingestellt. Der overlay.c-Autor hat Niedersachsen voreingestellt. Ganz elegant ist ja beides nicht.


    Aber danke für den Tipp. Vielleicht ist es schneller, den overlay.c zu ändern als meinen Code anzupassen. Muss ich mir bei Gelegenheit mal anschauen.

  • NH-Top50Trans hat eine Einstellung um die Karten manuell auswählen zu können, vieleicht wäre das die eleganteste Lösung. Eventuell sogar mit der Option seine eigenen Kartennamen mittels Texteingabe anzugeben und in einer INI für den späteren Gebrauch zu speichern. Es gibt nämlich eine Menge an verschiedenen Karten die mit TOP50 gelesen werden können (z.B. TOP10NRW).
    Oder man lässt den Kartennamen komplett weg und weist den Nutzer daruf hin, das Overlay direkt aus der TOP50-Anwendung heraus zu laden und bei der folgenden Abfrage "Keinen Kartenbezug" zu wählen.
    Dann muss der Nutzer nur wissen wo das Overlay liegt und springt manuell dort hin.

  • Ja, hatte ich auch schon gedacht, den Kartenbezug ganz herauszunehmen. Eigentlich hat die Karte in Tracks ja auch nichts verloren. Als Format ist OVL sowieso recht verkorkst, z.B. ist darin keine Höheninformation möglich. In anderen Foren wird vor einer Konvertierung in OVL gewarnt, weil es Trackinformationen verliert. "Länderübersicht" sollte eigentlich ein Kompromiss sein, damit sich Geogrid beim Laden nicht beschwert. Beim Laden des Tracks aus Laufender Anwendung wird die aktuelle Karte trotzdem beibehalten. Mir reicht das. Für GPSBabel könnte man eine Option für den Kartennamen festlegen.


    Übrigens, ich habe das "#if 0" aus vecs.c mal herausgenommen und neukompiliert. Dann gibt es das "overlay" Format. OVL schreiben ging nicht. Aber ... OVL-Tracks konnten gelesen werden! Toll, dass es schon drin ist. Damit kann OVL in alle anderen Babelformate gewandelt werden. Nur in der GUI sollte man das noch ergänzen. Ich habe leider keinen Delphi-Compiler. Kann jemand aushelfen?

  • Hi, High,
    wäre die Geocache-Variante von VisualGPS, nämlich BeelineGPS, nicht die einfachere Lösung?


    Gruß
    Günther

  • Kann BeelineGPS denn im TOP50-OVL Format aufzeichnen oder dorthin konvertieren?

  • Hi,
    beelinegps zeichnet aber Tracks auf, vielleicht packt Garfile die?


    Gruß
    Günther

  • Fredie Kern hat "overlay.c" geschrieben. Er weiss sicher mehr vom OVL als Robert. Bei Gelegenheit werd ich mir mal die 700 Zeilen Source etwas näher ansehen, was da noch fehlt. Das Lesen von Tracks läuft ja schon. Wenn ihr wollt, könnt ihr euch das kompilieren, z.B. unter Cygwin: recht einfach "./configure ; make ; make install". Und vorher noch das #if 0 rausnehmen in vecs.c. Es läuft, hab ich selbst getestet.


    Ansonsten, wie gesagt aus meinen Skripten:
    kml2ovl < track.kml > track.ovl
    ovl2kml < track.ovl > track.kml
    nmea2ovl < nmea-log.txt > track.ovl


    Zum Track-Aufzeichnen würde ich gleich das Navi-Programm nehmen, z.B. Navigon (mit INI-Patch für's Logging) oder Glopus für topografische Karten. Das läuft ja sicher sowieso schon.


    Der Kartenbezug kann übrigens auch im kml2ovl-Skript einfach angepasst werden, indem ein "sed s/Länderübersicht/Mein tolles Bundesland/g" zur Substitution nachgeschoben wird.

  • Zitat

    Original von High
    Wäre echt toll, wenn die Windows-GUI bald OVL-schreiben könnte!
    Du kannst uns ja hier auf dem laufenden halten. : drink


    Sie kann! :D :D :D Du installierst einfach mein gpsbabel.exe Patch (siehe Glopus-Forum) und die GUI erkennt das "Geogrid Viewer" Format automatisch. Im Test war ich überrascht, dass sowohl Lesen als auch Schreiben funktionierte. Alle Format und wpt/track u.s.w. - Kombinationen hab ich natürlich nicht probiert, aber versucht es nur. Das neue gpsbabel.exe (mingw-version) wird einfach in das gleiche Verzeichnis mit der GUI gelegt.

  • Der GPSBabel-Patch funktioniert einwandfrei.
    Vielen Dank dafür.
    Das könntest Du doch den Entwicklern von GPSBabel mitteilen und die könnten es dann direkt mit neuer Versionsnummer in den Download einarbeiten.

  • Prima. Willst du den noch etwas testen? Da gibt ne Menge Möglichkeiten von Waypoints, Tracks und Transfer in Fremdformaten.


    Leider hat sich der overlay.c-Entwickler nicht mehr gemeldet. Was der Babel-Chef immer gerne hätte sind Referenz-Dateien und Test-Cases, mit denen die korrekte Funktion überprüft werden kann. Ausserdem fehlen noch XML-Dokumentationsdateien.


    Bevor wir das Ding abschliessen und ins Release bringen könnten, müssten wir aber genau wissen, ob es auch richtig funktioniert. Mein letzter Test mit Tracks OVL <-> KML war erfolgreich, bidirektional. Aber ich hatte in Erinnerung, dass ein früherer Versuch nur in einer Richtung funktionierte.


    p.s. ich hatte mir auch die Höheninformation noch nicht angesehen. Die einen behaupten OVL hätte das, andere sagen, OVL kennt keine Höhe. Weiss es jemand definitiv? Ausserdem sagt man, ASCII-Overlay hätte nur einen Teil der Features von Binär-OVL.

    Einmal editiert, zuletzt von frank334 ()

  • Zitat

    Original von frank334
    p.s. ich hatte mir auch die Höheninformation noch nicht angesehen. Die einen behaupten OVL hätte das, andere sagen, OVL kennt keine Höhe. Weiss es jemand definitiv? Ausserdem sagt man, ASCII-Overlay hätte nur einen Teil der Features von Binär-OVL.


    Ich hab mir mal ein paar meiner (ASCII)-OVLs angesehen: keine Höhen drin. Und ja, ASCII-OVL hat ein paar Features weniger als Bin-OVL. Allerdings würde ich mich bei der Entwicklung von Konvertern auf ASCII beschränken, an das Bin-Format käme man wohl nur durch Reverse-Engeneering :D



    Wastl

    Das schöne an Bienchen ist, man hat immer was worauf man sich freuen kann :love2