Mit gdal oder python ein untergeordnetes Multiband-Image aus mehreren Dateien erstellen?

8

Wie können Sie bei einer gegebenen Zeitreihe eines Bereichs (einzelnes Band) diese Teilmengen unterteilen und die Teilmengen unter Verwendung von gdal- oder gdals-Bindungen für Python zu einer einzigen Multiband-Datei (z. B. vrt) kombinieren?

Nickves
quelle

Antworten:

4

Ich würde sie zuerst "stapeln":

gdalbuildvrt -separate -input_file_list my_files.txt my.vrt

Dabei enthält my_files eine Liste der Dateien, die Sie verwenden möchten, in der angegebenen Reihenfolge. Dann mit gdal_translate beschneiden:

gdal_translate -projwin ulx uly lrx lry my.vrt my.tif

quelle
6

Ich würde gdal_translate und gdal_merge.py verwenden:

Übersetzen Sie die Bilder mit gdal_translate zum Zuschneiden (Teilmenge). Sie können ein Bash-Skript zum Automatisieren verwenden. Etwas in der folgenden Richtung.

for f in *.tif;do gdal_translate -projwin ulx uly lrx lry "$f" "$f".cropped.tif ; done

Verwenden Sie gdal_merge.py, um die Bilder zu "stapeln". Hier steuern wir die Stapelreihenfolge nicht explizit. Ich glaube, diese werden alphanumerisch in aufsteigender Reihenfolge gestapelt (0-9, dann az).

gdal_merge.py -separate -o myoutput.tif *.cropped.tif

Ich habe -o myoutput.tif verwendet, weil ich nicht weiß, ob myoutput.vrt mit gdal_merge.py funktioniert. Ich gehe davon aus, dass dies der Fall ist, da es sich um ein von GDAL unterstütztes Format handelt, aber ich habe es nie getestet.

Jay Laura
quelle