Merging von georeferenzierten Rasterbildern

Aus Geoportal
Version vom 26. Juni 2023, 09:50 Uhr von Sabine (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Um mehrere georeferenzierte Rasterbilder zu einem georeferenzierten Gesamtbild zusammenzufügen muss neben der Verfügbarkeit der GDAL-Bibliothek auch eine Phyton-Umgebung vorhanden sein. Beide Elemente sind z.B. in der OS-FWT-Tools verfügbar.

Je nach Qualität der Ausgangsbilder sind mehrere GDAL-Bibliotheksaufrufe notwendig, um ein entsprechendes Ergebnis auch hinsichtlich der Farbinformationen des zusammengefügten Gesamtbildes zu erreichen. Liegen die Georeferenzierungsparameter nicht im GEOTIFF-Format vor, ist darauf zu achten, dass in dem Verzeichnis, indem die Ausgangsbilder vorliegen, auch die dazugehörigen Dateien mit den Eckwerten für die Georeferenz (.wld, .tfw -Dateien) vorhanden sind.

Farbinformationen erhalten

Um die Farbinformationen des Ausgangsbildes zu erhalten, kann es notwendig sein, das Bild in ein 24-bit-Format umzurechnen. Dies geschieht mit folgendem Befehlsaufruf:

./pct2rgb.py bild1.tif bild1neu.tif

wobei bild1.tif das Ausgangsbild kennzeichnet und bild1neu.tif für das neu erzeugte Bild im 24-Bit-Format steht. Der Aufruf ist für jede umzuwandelnde Bilddatei auszuführen.


Merging

Um gereferenzierte Rasterbilder zu einem Gesamtbild mit Georeferenz zusammenzufügen, kann folgende Befehlssequenz aus der GDAL-Bibliothek genutzt werden:

./gdal_merge.py -v -o merging.tif bild1.tif bild2.tif......

In diesem Beispiel ist merging.tif, die neu zu erzeugende Datei, die das Gesamtbild als GEOTIF enthält und bild1.tif bis bildn.tif sind die Ausgangsbilder, die zusammengefügt werden sollen.

Werden die Nahtstellen der Bilder durch transparente Pixel überlagert, kann der Parameter -n (no datavalue) gesetzt werden. Dieser Parameter mit Angabe eines Wertes zwischen 0 und 255 verhindert die transparente Darstellung. Achtung! Dieser Rechenprozess ist sehr zeitaufwendig. (Kann mehrere Stunden dauern)

Beispiel:

./gdal_merge.py -n 0 -v -o merging.tif bild1.tif bild2.tif......


Parameterbeschreibung:

-o out_filename: The name of the output file, which will be created if it does not already exist (defaults to "out.tif").

-of format: Output format, defaults to GeoTIFF (GTiff).

-co NAME=VALUE: Creation option for output file. Multiple options can be specified.

-ot datatype: Force the output image bands to have a specific type. Use type names (ie. Byte, Int16,...)

-ps pixelsize_x pixelsize_y: Pixel size to be used for the output file. If not specified the resolution of the first input file will be used.

-ul_lr ulx uly lrx lry: The extents of the output file. If not specified the aggregate extents of all input files will be used.

-v: Generate verbose output of mosaicing operations as they are done.

-separate: Place each input file into a separate stacked band.

-pct: Grab a pseudocolor table from the first input image, and use it for the output. Merging pseudocolored images this way assumes that all input files use the same color table.

-n nodata_value: gnore pixels from files being merged in with this pixel value.

-init value: Pre-initialize the output image bands with these values. However, it is not marked as the nodata value in the output file. If only one value is given, the same value is used in all the bands.

-createonly: The output file is created (and potentially pre-initialized) but no input image data is copied into it.

Separation der Georeferenzierungsparameter

Im vorherigen Beispiel wurde ein Gesamtbild erzeugt, indem die Georeferenzierung innerhalb der Datei im GEOTIF-Format abgelegt sind. Wird aber eine Separation der Georeferenzierungsparameter in Form einer tfw-Datei benötigt, kann dies mit folgender Befehlssequenz ausgeführt werden:

./gdal_translate -co tfw=yes merging.tif merging2.tif

Hier steht die Datei merging.tif für die verfügbare Datei im GEOTIF-Format und merging2.tif für die Ausgabedatei. Bei der Ausgabe werden dann zwei Dateien erzeugt, nämlich merging2.tif, die das eigentliche Rasterbild enthält, sowie merging2.tfw, welche dann die Georeferenzierungsparameter beinhaltet.