Routen konvertieren von MN|5 nach MN|6

  • Nachdem an anderer Stelle schon darüber berichtet wurde, wie man bei den verschiedenen PNAs den Desktop freilegt und ActiveSync aktiviert, kommt hier die gute Nachricht für alle die MN|5 kompatible Routen haben oder einen PC Routenplaner der solche erstellen kann, und sie im MN|6 nutzen wollen.


    Das Export-Format von Tourenplanern für MN|5 enthält je Wegpunkt eine Zeile mit folgendem Aufbau:
    -|-|-|-|-|-|-|-|-|-|-|<länge>|<breite>|-|-|<länge>|<breite>|


    Bei MN|6 sieht es bei reiner Verwendung von GPS-Koordinaten der Wegpunkte so aus:
    [|][0][10]|||<länge>|<breite>[0]||


    Um nun das MN|5-Format in MN|6 zu konvertieren benötigt man nur einen skriptfähigen Textprozessor. Ich habe mich aus alter Gewohnheit für awk entschieden von dem es auch ein paar Windows Implementierungen gibt. Ich selbst nutze MAWK (gibt's z.B. bei SourceForge.net). Dazu benötigt man noch ein einfaches awk-Script, um auf der Windows Kommandozeile die Konvertierung durchführen zu können. Ich habe das Skript (s.u.) in eine kleine Textdatei mit dem Namen mn5to6.awk.txt gepackt. Den mawk habe ich der Einfachheit halber ins das Verzeichnis \Windows\system32 kopiert (Installation nicht erforderlich). Der Aufruf sieht dann so aus:


    mawk -f mn5to6.awk.txt MN5-Route.rte > MN6-Route.rte


    wobei für MN5-Route.rte und MN6-Route.rte die effektiven Namen eingesetzt werden müssen. Man sollte übrigens die Namen explizit unterschiedlich wählen, oder unterschiedliche Verzeichnisse verwenden. Man kann natürlich auch eine kleine cmd-Datei schreiben, die regelmässig über "Geplante Tasks" in einem Verzeichnis nach neuen Routendateien schaut, die von einem Tourenplaner exportiert wurden, mawk startet und die Ergebnisse in einem anderen Verzeichnis ablegt. Aber dafür habe ich im Augenblick keinen Bedarf. Vielleicht später mal.


    So und hier noch das awk Skript, das Ihr einfach in eine Textdatei kopieren müsst.


    BEGIN {
    FS = "|"
    getline}


    { printf "[|][0][10]|||%s|%s[0]||\r\n", $12, $13 }
    END { }


    Nachdem weiter unten im Thread nach einer Schritt für Schritt Anleitung gefragt wurde hier also noch meine Version.


    • MAWK aus dem Internet herunterladen mawk at SourceForge
    • nach dem Entpacken die ausführbare Datei mawk.exe in das Verzeichnis \WINDOWS\SYSTEM32 verschieben
    • im Verzeichnis "Eigene Dateien" ein Unterverzeichnis Routes erstellen
    • In diesem Unterverzeichnis zwei Unterverzeichnisse MN5 und MN6 erstellen
    • MN5 Routendateien (vom alten Navi oder aus dem Routenplaner) kommen in MN5
    • den Windows Editor starten (Start > Programme > Zubehör > Editor) und das Skript hineinkopieren.
    • Das Skript unter dem Namen mn5to6.txt im Verzeichnis Routes\MN5 ablegen
    • Ein DOS Eingabefenster öffnen
    • In das Verzeichnis "Eigene Dateien\Routes\MN5" wechseln
    • folgenden Befehl eingeben mawk -f mn5to6.txt meine_route.rte >..\MN6\meine_route.rte


    Wer es noch einfacher haben möchte bemüht noch enmal den Windows Editor und erstellt im Verzeichnis MN5 eine Datei convert.txt mit folgendem Inhalt:


    mawk -f mn5to6.txt $1 >..\MN6\$1


    Anschliessend die Datei umbenennen in convert.cmd.
    Nun kann man im DOS Eingabefenster im Verzeichnis "Eigene Dateien\Routes\MN5" folgenden Befehl benutzen, um Routen zu konvertieren:


    convert meine_route.rte


    Die konvertierte Route steht dann unter dem gleichen Namen im Verzeichnis "Eigene Dateien\Routes\MN6".

    Einmal editiert, zuletzt von guitarman58 ()

  • Hallo guitarman58,


    vielen dank für die Mühe wo Du dir gemacht hast.
    An so etwas ähnliches hatte ich auch schon gedacht, aber da es mit dem Programmieren nicht so dolle bei mir ist konnt ich das nicht umsetzen.
    Ich hab die nächsten paar Tage leider keine Zeit aber ich werd das auf jeden Fall mal Probieren.


    Schade das es sonst noch keinen weiter interessiert hat, da ja hier so viele geschrien haben.


    Gruß
    Coolrunning

  • Zitat

    Schade das es sonst noch keinen weiter interessiert hat, da ja hier so viele geschrien haben.


    Doch, hat es, aber ich gebe ehrlich zu das noch nicht so richtig kapiert zu haben?(.
    Schritt für Schritt Anleitung wäre besser.

  • Zitat

    Original von flinki
    ...
    Schritt für Schritt Anleitung wäre besser.


    Hallo Flinki


    • MAWK runter laden
      PUSHme/SEEme
    • Installieren
    • Textdatei mit dem Script erzeugen und in das Installationsverzeichnis (C:\Programme\GnuWin32\bin) kopieren (Textdatei siehe Anhang)
    • MN|5 Routendatei ins gleiche Verzeichnis kopieren
    • In Windows auf die DOS-Ebene wechseln und mit cd C:\Programme\GnuWin32\bin in das Verzeichnis wechseln
    • Am DOS-Prompt

      Zitat

      mawk -f mn5to6.txt MN5-Route.rte > MN6-Route.rte

      eingeben


    So werden die RTEs fuer MN|6 erzeugt.
    Frage nun bitte nicht nach wie die funktionieren. Ich habe im Moment keinen MN|6 hier. Daher kann ich es nicht testen.

  • @Alfred
    Ja, danke dir, aber wenn man den Komfort von Windows-Eingabemasken gewohnt ist, fällt es eben schwer solche Sachen zu verstehen ?(. Ich versuch's aber mal 8).

  • Zitat

    Original von flinki
    ... aber wenn man den Komfort von Windows-Eingabemasken gewohnt ist ...


    Hallo flinki


    Ansonsten einfach nachfragen, das Forum hilft Dir.
    :D :D :D


    Nein, im Ernst. Viele juengere, oder spaeter in die EDV eingestiegene, kennen keine DOS/Unix/.../nichtIcon -Welt. Sie sind mit Windows gross geworden und finden sich deshalb in der "alten Welt" nicht zurecht. Hier rede ich meinerseits vielleicht noch ueber ein Relikt das aus der Gunst/Fluch/... der fruehen Geburt uebrig geblieben ist, oder einfach etwas das in der taeglichen Arbeitswelt benoetigt wird. Wer weis das schon wie das bei den einzelnen Usern ist.

  • Da auch ich den Komfort der Windows-Masken gewohnt bin (obwohl ich als 43jähriger schon die Ursprünge kennengelernt habe...), habe ich mich mal kurz hingesetzt und eine Konvertierungsroutine geschrieben.


    Kurzbeschreibung:
    Das Programm bietet im oberen Teil die Möglichkeit, eine .rte Datei auszuwählen. Der untere Teil "wandert" dabei mit. Hat man im oberen Teil die zu konvertierende Datei ausgewählt (Doppelklick), so kann man im unteren Teil das Zielverzeichnis auswählen. Mit einem Klick auf "Konvertieren" geht's los.
    Die Fehlertoleranz ist bislang aus Zeitgründen eher rudimentär vorhanden:
    - es wird eine gültige .rte Datei des MN5 erwartet
    - vor dem Überschreiben einer vorhandenen Datei wird nachgefragt
    - Quell- und Zieldatei dürfen nicht identisch (gleiches Verzeichnis) sein, da der Zieldateiname identisch mit dem der Quelldatei ist.
    Das Programm wurde mit Visual Basic erstellt und wurde unter XP getestet. Zusätzliche Bibliotheken wurden bislang nicht vermisst. Ich habe es als zip-Datei angehangen.


    Viel Spaß. :)