gdalmerge erzeugt eine viel zu große Datei

12

Ich versuche, 60 Geotiff-Dateien zu einer riesigen Datei zusammenzuführen, um mithilfe von gdal2tiles Kacheln aus dieser riesigen Geotiff-Datei erstellen zu können.

Der Zusammenführungsprozess hat funktioniert, aber aus irgendeinem Grund wird eine Datei mit einer Größe von 78 GB anstelle der erwarteten 19 GB erstellt. Ich bin mir nicht ganz sicher, was da schief gelaufen ist.

Der Grund für diesen Versuch ist, dass ich durch Kacheln der 60 Geotiffs nacheinander weiße Felder am Kartenrand bekomme.

user851
quelle

Antworten:

16

Normalerweise werden GeoTIFFs zum Speichern komprimiert. Wenn Sie gdal_merge mit den Standardeinstellungen ausführen, wird die Datei nicht komprimiert. Fügen Sie die Option hinzu

-co COMPRESS=DEFLATE

(oder eine der anderen in der Dokumentation aufgeführten Optionen ), um kleinere Ausgabedateien zu erhalten.

Underdunkel
quelle
1
Zum späteren Nachschlagen - meins, falls nicht anders angegeben - hat gdal.org/frmt_gtiff.html eine Reihe von GeoTiff-spezifischen Optionen, die Sie für jeden der gdal-Befehle verwenden sollten. Abhängig von der Art Ihrer Bilder möchten Sie möglicherweise COMPRESS = LZQ oder sogar JPEG. Es lohnt sich, die Art der Komprimierung zu überprüfen, die für die Quellbilder verwendet wird.
Herb
Vielen Dank Herb, ich habe die Antwort aktualisiert und Ihren Link eingefügt.
underdark
5

Wie underdark hervorhebt, besteht die beste Lösung darin, Ihre Bilder zu komprimieren, um zu verhindern, dass das große Volumen an leerem Speicherplatz direkt gespeichert wird (das native TIFF-Bild ist wie eine Bitmap: Jeder Wert belegt dieselbe Menge an Speicherplatz). Eine weitere praktische Komprimierungsoption ist:

-co COMPRESS=LZW

Es hat selten das gleiche Komprimierungsverhältnis wie DEFLATE, aber den Vorteil, dass es mit den meisten Softwareprogrammen funktioniert, DEFLATEdie in vielen Umgebungen wie ArcGIS 9.x nicht unterstützt werden.

Sie können eine noch aggressivere verlustfreie Komprimierung versuchen, indem Sie eine der Wavelet-Transformationen wie ECW , MrSID oder eine der verschiedenen JPEG2000-Implementierungen verwenden. Denken Sie daran, dass Sie Tools benötigen, die GDAL verwenden, oder die Bibliotheken auf andere Weise implementieren, um auf die Daten in diesen Formaten zuzugreifen.

scw
quelle
3

Sie könnten das Zusammenführen Ihrer Geotiff-Dateien vermeiden, indem Sie eine vrt-Datei schreiben, die sie "virtuell" zusammenführt.

Es ist eine XML-Datei, die beschreibt, wie die Dateien zusammengestellt werden sollen. Alle gdal-Dienstprogramme akzeptieren diese vrt-Datei als Eingabe-Map. gdal2tiles oder MapTiler basieren beide auf gdal, so dass sie eine vrt-datei verwenden können (ich habe es noch nicht mit einer vrt-datei versucht, aber ich habe es bereits mit einer gdal_wms-datei versucht und es hat ziemlich gut funktioniert).

Das Schreiben der vrt-Datei von Grund auf ist nicht einfach. Konvertieren Sie einfach einen Ihrer Geotiffs nach vrt, um ein Beispiel zu erhalten:

gdal_tranlate -of vrt one_of_your_geotiff.tif one_of_your_geotiff.vrt

Es gibt auch ein Tool namens gdalbuildvrt, das ich aber nicht ausprobiert habe.

Name
quelle
1
Matt Perry hat einige der Vorteile der Verwendung von VRTs hier beschrieben: perrygeo.net/wordpress/?p=141
scw