Erzeugen mehrerer Auflösungen bei Tiff-Bildern (z.B. DOPs) mit gdaladdo zur Performencesteigerung bei den Ladezeiten
Allgemeines:
Mit dem Befehl gdaladdo, eine Funktionen der gdal-Bibliothek, werden Übersichts-(Raster-)Bilder erstellt. Es unterstützt die meisten Formate und kann verschiedene Downsampling-Algorithmen verwenden. Weitere Informationen findet man unter http://en.giswiki.org/wiki/Gdaladdo Wir haben unsere gerasterten DOP's mit Gdaladdo in der Form bearbeitet, dass wir in den jeweiligen Tiff-Bildern verschiedene Auflösungen erzeugt haben. Der Speicherbedarf für das Tiff-Bild wird dadurch ca. 1/3 größer. Mit Hilfe von IrfanView kann man sich dann für das Tiff-Bild die unterschiedlichen Ebenen anschauen. Im Ergebnis dieser Anwendung sind die Ladezeiten für das Anzeigen der DOP's enorm gefallen. Man kann sich sogar den gesamten Landkreis anzeigen, auch wenn das wenig Sinn macht und die Wartezeit ist echt komfortabel.
Ausführung:
1. Die Zeilen im nächsten Fenster ergeben ein Shell-Script und sind z.B. in TextPad hinein zu kopieren. Die Datei wird dann beispielsweise script.sh genannt. Die Endung sh ist nicht so wichtig aber zu empfehlen.
#!/bin/sh
# Dieses Script erzeugt eine Datei namens pyramiden_batch.sh, die die gdaladdo-Funktions-Aufrufe für alle TIFF-Dateien im Verzeichnis und Unterverzeichnissen enthält.Sie muss anschließend manuell mit sh pyramiden_batch.sh gestartet werden. Vorher bitte die Datei prüfen.
wert="2 4 8 16 32 64 128 256" # hier mit 8 Stufen
# liste=`ls *.tif`
# liste=`find . -name *.tif`
liste=`find *.tif`
set $liste
>pyramiden_batch.sh
for i do :
string="gdaladdo -r average ${i} ${wert}"
echo $string
echo $string >>pyramiden_batch.sh
done
2. Die Datei script.sh kopiert man sich dann mit winSCP in das Verzeichnis, wo auch die Geo-tiff Bilder, welche gewandelt werden sollen, liegen.
3. Man muss das Recht zugewiesen bekommen, dass Shell-Script ausführen zu dürfen (In winSCP auf Datei und rechte Maustaste und dann auf Eigenschaften; bei Rechte Eigentümer muss bei R W und X ein Kreuz sein).
4. Starten von putty
5. Anmeldung als root
6. Befehl "cd .."
7. Wechseln in das Verzeichnis, wo die Geo-tiff Bilder und die script.sh liegen. Z.B.: data/DOP
8. Dann ./script.sh eingeben und Ausführen.
9. Unter winSCP im Verzeichnis der zu wandelnden Geo-tiff Bilder schaut man jetzt nach, ob die Datei pyramiden_batch.sh gebildet wurde.
10. In der Datei müssen für alle Geo-tiff Bilder die Befehle für die Wandelung aufgeführt sein.
Z.B.: gdaladdo -r average 44605934.tif 2 4 8 16 32 64 128 256
11. Jetzt schaue ich nach, ob auch die Datei pyramiden_batch.sh die entsprechenden Rechte hat (siehe Punkt 3)
12. Unter putty führt man mit ./pyramiden_batch.sh das Shell-Script aus. Auch hier muss man sich im Verzeichnis befinden, wo alle Dateien liegen. (in diesem Beispiel data/DOP)
13. Jetzt werden alle Geo-tiff Bilder gewandelt, wobei der die Dateigröße zunimmt.
14. Mit IrfanView kann man sich die unterschiedlichen Auflösungen der einzelnen Geo-tiff Bilder durch betätigen der Pfeiltaste anschauen.