Umgang mit vielen Karten-Kacheln - jetzt auch Selektion von Polygonflächen

  • Nun ist es auch möglich, Kartenkacheln aus einer Polygonfläche auszuwählen. Bisher wurde so ein Polygon immer zum Rechteck erweitert und hat teilweise zu unnötig hohen Datenmengen der topografischen Karten geführt.


    Die Flächen müssen im ASCII-OVL-Format vorliegen, d.h. z.B. aus den Top50-Karten, aus MagicMaps oder per NH-Toptrans aus anderen Formaten (Umrisslinien in Google KML). Es können mehrere Flächen sein, entweder direkt als Fläche, oder als umgebenden Polygon-Linienzug.


    Syntax:
    kachelwahl ausgangsverzeichnis zielverzeichnis auswahlbereiche.ovl bitmap-extension


    ---
    Update:
    Kachelwahl entlang einer geplanten Route verbessert


    kachelwahl-route ausgangsverzeichnis zielverzeichnis radius routefile bitmap-extension


    ab jetzt müssen die zwischenpunkte nicht mehr interpoliert werden, sondern es werden automatisch alle Kacheln mit einem (radius)-Abstand zu den Liniensegmenten ausgewählt. Das Maß ist jetzt [km] statt der alten long/lat-Metrik.


    ---
    Es gibt eine Cygwin-Version und eine MSYS-Version der Skripte. Cygwin ist stärker POSIX-Kompatibel, dafür ist MSYS schlanker (hat aber leider kein zip-Kommando für das Google-KMZ-Format). Falls bei zu vielen Dateien "argument list too long" auftaucht, entweder den Zeilenspeicher raufsetzen oder die Skripte anpassen (Workaround z.B. bei ovl2selection).



    ---
    geotools.zip Inhalt:


    map2kal - Kalibrierdateien von Ozi-Explorer nach Glopus konvertieren, skalieren
    kal2coord - Lage von Kacheln in Karte anzeigen
    kachelfilter - geografisch eingegrenzte Wahl von Karten-Kacheln in ein anderes Verzeichnis kopieren


    generelle Annahme: die Kacheln sind auf die Ecken kalibriert,
    d.h. die 4 Kalibrierpunkte sind gleichzeitig die 4 Eckpunkte der Kachel
    (automatisch bei NH-Toptrans Batchkonverter und bei GMM)


    --------------------
    Update:
    Attachment entfernt, die aktualisierte Version ist jetzt im Thema "Glopus geotools.zip ..."

  • Leider kriege ich es nicht hin, das Skript zur Umwandlung von ozi nach glopus richtig aufzurufen - oder die *.map dateien sind im falschen Verzeichnis...Wo müssen die denn hin, damit das Skrip sie findet? Oder wie gebe ich den Pfad zu den Dateien an?
    Alles nicht ganz so einfach für Windows-User...
    -> siehe Screenshot Anlage

  • Zitat

    Original von edgri
    Leider kriege ich es nicht hin, das Skript zur Umwandlung von ozi nach glopus richtig aufzurufen - oder die *.map dateien sind im falschen Verzeichnis...Wo müssen die denn hin, damit das Skrip sie findet? Oder wie gebe ich den Pfad zu den Dateien an?
    Alles nicht ganz so einfach für Windows-User...
    -> siehe Screenshot Anlage


    Doch noch hinbekommen - nachdem ich den Path in der Systemsteuerung ergänzt habe und die *.map dann in ein Unterverzeichnis von Home kopiert habe, lief das Skript gut durch.


    Meine jpg.'s haben jetzt noch den falschen Namen - also es steht immer _x000y000 dahinter. Gibts da auch ein Skript? Vielleicht suche ich mal selber...

  • Zitat

    Original von edgri
    Leider kriege ich es nicht hin, das Skript zur Umwandlung von ozi nach glopus richtig aufzurufen - oder die *.map dateien sind im falschen Verzeichnis...
    ...
    Doch noch hinbekommen - nachdem ich den Path in der Systemsteuerung ergänzt habe und die *.map dann in ein Unterverzeichnis von Home kopiert habe, lief das Skript gut durch.
    ...
    Meine jpg.'s haben jetzt noch den falschen Namen - also es steht immer _x000y000 dahinter. Gibts da auch ein Skript? Vielleicht suche ich mal selber...


    Erstmal ist die Dokumentation schon recht spärlich, quasi das mindest Notwendige. Zu den exe-Programmen hab ich ein kleines Textfile zur Erklärung. In den Skripten steht die Benutzung meist im Skript selbst drin, also mit Texteditor anschauen. Syntax kommt auch oft, wenn das Skript ohne Argumente aufgerufen wird. Man könnte sicher noch tausende Dinge erklären, so dass die Erklärung dann länger wird als die Programme selbst. Dazu fehlt mir die Zeit. Also probiert erst selbst einmal aus. Vielleicht können wir einmal ein paar typische Anwendungsszenarien beschreiben.


    Mit den Dateipfaden kann es evtl. Probleme geben, weil die Programme die Unix/Linux-Logik nutzen (/ statt \, keine Laufwerksbuchstaben, stattdessen /c oder /cygdrive/c). Die wird dann intern in die antike DOS-Logik umgesetzt. Das funktioniert meistens, aber nicht immer.


    Die Skripte selbst müssen im Suchpfad stehen, im Cygwin kann du die z.B. nach /bin kopieren (bzw. C:\UNIX\BIN im Windows-Laufwerk). In MSYS (www.mingw.org) ist das typischerweise C:\Programme\MSYS\bin. Mit "cd verzeichnis" kannst du dann ins Kartenverzeichnis einsteigen, z.B. /cygdrive/d/karten/malediven. Mit dem richtigen Laufwerksmapping kann "cygdrive" auch weggelassen werden.


    Was meinst du mit falschen Namen? Die Zahlen am Ende werden zur Unterscheidung der Kacheln benötigt. Man könnte natürlich eine fortlaufende Nummer nehmen, aber mit den Matrixnummern können besser die benachbarten Kacheln gefunden werden. Allerdings sind manchmal in den KAL-Dateien noch falsche Dateiendungen der Grafiken drin, z.B. BMP statt JPG. Dafür hab ich auch ein Skript:
    batchreplace "*.kal" neuesverzeichnis ".bmp" ".jpg"


    für die Linux-Unerfahrenen hier mal ein paar wichtige Kommandos aus Unix/cygwin/bash-shell:


    man kommando - Hilfeseite von kommando anzeigen
    cd verz - Verzeichnis wechseln
    ls verz - Verzeichnisinhalt anzeigen
    rm - Dateien löschen
    cp - kopieren
    mv - verschieben
    pwd - wo bin ich?
    gcc - der C++-Compiler für die Kreativen
    md5sum/md5deep - Integritätsprüfung
    octave - Matlab-Clone (als Paket in Cygwin)


    zip -0 karte.zip *.jpg
    zip karte.zip *.kal
    -> zuerst jpg ohne Kompression in Karten-ZIP packen (da JPG schon optimal gepackt), dann die Kal-Files mit Kompression ergänzen


    ls /bin - da sind noch tausende andere Kommandos


    weitere Dokumentation hier (viele Kommandos sind Teil der "bash")
    http://www.gnu.org/manual/manual.html

    Einmal editiert, zuletzt von frank334 ()