gdal tools als speedup für tiffs

  • Wer in GlobalMapper viel mit großen Karten arbeitet (so ab 20.000 pixel aufwärts), ärgert sich manchmal über die "Denkpausen" beim rauszoomen. Wenns dumm läuft, muss GM jeweils die komplette Datei in den Speicher lesen und verkleinern.


    Bei TIFF-Files als Quellen kann man hier mit den gdal tools ( http://www.gdal.org/ ) Abhilfe schaffen:


    Erst mal:
    gdal_translate -co tiled=yes -co compress=lzw huge.tif hugetiled.tif


    (tiled tifs sind immer eine gute idee, zb für ttqv. kompression alternativ auch zB -co compress=jpeg -co jpeg_quality=90 für 24bit-daten)


    Und jetzt der Gag:
    gdaladdo hugetiled.tif 4 8 16 32 64


    Damit bekommt die TIFF-Datei Overviews mit 1/4, 1/8, ... 1/64 der Originalgröße. Fortan ist GlobalMapper blitzschnell mit dieser Datei, auch wenn man aus 80k x 80k pixeln im 1GB tiff komplett herauszoomt.


    Sorry falls das ein alter Hut war.

  • Entschuldigung, wenn ich da mal nachfrage ... aber könnte das mir bitte einer mal irgendwie in kurzen Schritten erklären, wie ich dieses Tool anwende ??? (Ich bin kein EDV-Profi .. ggf. geht es vielen anderen ebenso)
    Für Eure Hilfe wäre ich sehr dankbar ! :huh:

    Mit freundlichen Grüßen ... Dieter
    __________________________________________
    Garmin Map62st - TwoNav Aventura - TwoNav Sportiva+ - Qstarz BT-Q1000 Platinum - TTQV 4 / 7 PU - CompeGPS Land - GlobalMapper

  • Entschuldigung, wenn ich da mal nachfrage ... aber könnte das mir bitte einer mal irgendwie in kurzen Schritten erklären, wie ich dieses Tool anwende ??? (Ich bin kein EDV-Profi .. ggf. geht es vielen anderen ebenso)


    Hallo Dieter,


    GDAL ist ein professionelles GIS-Werkzeug und setzt voraus, daß der Anwender zumindest Grundkenntnisse auf der geowissenschaftlichen und auf der informationstechnischen Seite hat und ihm die Begrifflichkeiten geläufig sind.


    Für die Nutzung sollte man keine Angst vor Terminal/Kommandozeilenebene haben.


    Das Kommandozeilen-Fenster bekommst du in Windows wie folgt:


    Start > Ausführen > cmd.exe in die Maske eintippen und abschicken.


    Alles weitere findet jetzt in diesem Fenster statt, d.h. du mußt dich per Tastatur mit den alten DOS-Befehlen bis zu deiner zu bearbeitenden Datei durch die Verzeichnisstruktur hangeln. Die an der Datei vorzunehmenden Bearbeitungen werden dann explizit als Textzeile eingegeben wie bei dem Beispeil, das Joe oben gebracht hat:


    gdal_translate -co tiled=yes -co compress=lzw huge.tif hugetiled.tif


    Dieser Befehl verwandelt ein normales (Streifen-)Tiff in ein gekacheltes Tiff und komprimiert es neu mit dem LZW-Algorithmus, die Tiff-Datei wird intern komplett umorganisiert.


    Es gibt keinerlei Sicherheitsfunktionen und -abfragen, Tippfehler führen entweder zum Nichtfunktionieren des Befehls (dann gibt's eine Rückmeldung im Kommandozeilenfenster) oder zu ungewollten Ergebnissen.


    GDAL ist in den FWTools enthalten, damit läßt es sich am einfachsten installieren, dabei wird auch der entsprechende Systempfad gesetzt und ein Icon für das Kommandozeilenfenster auf den Desktop gelegt, so daß man mit einem Doppelklick dahinkommt. Mit OpenEV ist in den FWTools außerdem ein GUI für GDAL enthalten, mit dem man Zugriff auf einen Teil der GDAL-Funktionen hat. OpenEV ist auf einem unixoiden Betriebssystem entwickelt worden, die Windows-Version hat ein paar Marotten, die die Bedienung für den nur Windows gewohnten User nicht grad einfacher machen. GDAL ist auch Teil von QLandkarteGT, ich habe aber noch nicht untersucht, auf welche GDAL-Funktionen man damit direkten Zugriff hat.

    "The universal aptitude for inaptitude makes any human accomplishment an incredible miracle." (John Paul Stapp)

  • Kann man mit den FWTools eine Kalibrierung in eine TIFF Datei schreiben, ohne die Bilddatei selbst anzutasten?


    Mich schrecken Kommandozeilen eigentlich nicht, ich hab die FWTools auch auf meinem Rechner, bin aber immer wieder daran gescheitert, für eine bestimmte Anwendung eine Lösung in der Dokumentation zu finden. Insofern finde ich konkrete Beispiele wie das vom joe nur begrüßenswert.

  • Es gibt auch z.B. http://ozi2geotiff.sourceforge.net/
    um Ozimaps->Geotiff


    Dieses Python-Script kann ausschließlich Mercator-projizierte Ozi-Karten in Geotiffs konvertieren, ist seit drei Jahren nicht mehr weiterentwickelt worden und m.M.n. tot. Ab Version 1.8 unterstützt GDAL selber Ozi-Dateien (<klick>), ich habe das aber noch nicht weiter untersucht.

    "The universal aptitude for inaptitude makes any human accomplishment an incredible miracle." (John Paul Stapp)

  • Dieses Python-Script kann ausschließlich Mercator-projizierte Ozi-Karten in Geotiffs konvertieren, ist seit drei Jahren nicht mehr weiterentwickelt worden und m.M.n. tot. Ab Version 1.8 unterstützt GDAL selber Ozi-Dateien (<klick>), ich habe das aber noch nicht weiter untersucht.


    imho nur ozfx2 und ozfx3(aber nicht die neuen ozfx3, habe nicht verfolgt bis zu welcher Versionsnummer).
    was gut funzt ist http://offroadfreunde.ch/qlandkarte/convert.sh
    das macht aus den OziMaps (Bild+Map) eine gcp für QLGT,
    QLGT macht daraus eine Geotiff.

  • ah, das ist ja schonmal was. Dann versteht also GDAL eine *.map Datei. Fragt sich nur, wie man das in den obigen gdal_translate Befehl reinwurschtelt. Reicht es, daß es zu der huge.tif eine huge.map gibt? Oder muß man die huge.map extra spezifizieren? Aus der Dokumentation http://www.gdal.org/gdal_translate.html werde ich nicht schlau.


    Ich hab hier die neuesten fwtools, die enthalten offenbar aber nur GDAL 1.6 und wie ich 1.8 auf meinen (Windows) Rechner kriege, hab ich jetzt auf die Schnelle auch nicht rausfinden können.


    Nachtrag: Könnte man schreiben:

    Code
    1. gdal_translate -co tiled=yes -co compress=lzw huge.map hugetiled.tif


    und hätte dann ein kalibriertes GeoTIFF hugetiled.tif ?


  • Mag bei mir nicht.
    Bei mir funzt mit QLGT Tiff durch setzen von Ref-Punkten in Geotiff wandeln.
    In der Map steht ja Projektion und Punkte drinn,
    muß man halt mit Editor öffnen und von Hand in QLGT eintragen.

  • Die FWTools Shell meldet sich bei mir mit 2.4.7 und das ist die aktuelle Version für Windows. Das liegt allerdings schon länger bei mir auf der Platte, die GDAL Files datieren so Jan 2010. Wann nun 1.8 rauskam, konnte ich auch nicht rausfinden. Das ist alles ziemlich unübersichtlich... :(

  • Hallo Wolfgang,


    prinzipiell funktioniert das so wie in deinem Muster, allerdings erst ab GDAL 1.8.0. Außerdem muß die Ozi-Karte im Format ozf2 oder ozfx3 sein, wobei nur ozfx3-Dateien funktionieren, die mit img2ozf bis Version 3.03 erzeugt wurden, danach hat Des Newman eine Verschlüsselung eingeführt.


    FWTools 2.4.7 enthält GDAL 1.70b2. GDAL 1.8.1 bekommst du z.B. <hier>, die für deine Systemumgebung passenden Dateien mußt du dir selber raussuchen.

    "The universal aptitude for inaptitude makes any human accomplishment an incredible miracle." (John Paul Stapp)

  • Teilerfolg:

    Code
    1. gdal_translate xxx.map yyy.tif


    führt tatsächlich zu etwas, was sich wie ein Geotiff anfühlt. In der 3.Zeile der xxx.map muß die ozf Datei stehen. Alle Versuche, dort dem eine tiff Datei unterzujubeln, sind aber leider fehlgeschlagen :(
    Es kommt immer ERROR 4: "xxx.map" not recognized as a supported file format.


    Das Setzen der Pfade mit dem Batchfile in dem Programmpaket hat übrigens nicht funktioniert; ich hab daher alles in einen Ordner kopiert. Das ist also nicht richtig installiert.

  • Ich hab noch etwas nachgeforscht:


    Offenbar werden noch nicht alle Ozi Datums richtig behandelt. Dafür gibts aber schon einen Request


    Der Befehl

    Code
    1. gdal_translate xxx.gif yyy.tif


    liefert ein Geotiff, wenn ein xxx.map vorhanden ist. Diese Variante gibt es scheints schon länger und wurde wohl irgendwie undokumentiert "eingeschmuggelt". xxx.tif ist aber auch hier nicht zulässig :mad:


    Dann gibt es noch ein Python Skript ozi2gdal.py das die .MAP in eine .VRT umwandelt, mit der GDAL dann korrekt umgehen können soll.
    Quelle


    Weiteres gibts noch hier:
    http://talk.maemo.org/showthread.php?t=57469


    Insbesondere noch einen weiteren Python-Ozikonverter: ozf-decoder.py

    Zitat

    A particular feature of it that it's capable converting of really big files -- up to ozf limits. The TIFFs created in a tiled format.