gdalmerge menghasilkan file yang terlalu besar

12

Saya mencoba untuk menggabungkan 60 file geotiff ke dalam satu file besar untuk dapat menghasilkan ubin dari file geotiff besar yang dihasilkan dengan menggunakan gdal2tiles.

Proses penggabungan berhasil, tetapi karena alasan tertentu menghasilkan file yang memiliki ukuran 78GB, bukan yang diharapkan 19GB. Tidak yakin apa yang salah di sana.

Alasan untuk mencobanya adalah karena memasang 60 geotiff satu per satu memberi saya ruang putih di perbatasan peta.

pengguna851
sumber

Jawaban:

16

Biasanya, GeoTIFF dikompres untuk penyimpanan. Menjalankan gdal_merge pada pengaturan default tidak akan memampatkan file. Tambahkan opsi

-co COMPRESS=DEFLATE

(atau salah satu opsi lain yang tercantum dalam dokumentasi ) ke perintah Anda untuk mendapatkan file output yang lebih kecil.

underdark
sumber
1
Untuk referensi di masa mendatang - milikku, jika tidak ada orang lain - gdal.org/frmt_gtiff.html memiliki set opsi spesifik GeoTiff yang harus bisa Anda gunakan untuk perintah gdal. Bergantung pada jenis citra yang Anda miliki, Anda mungkin ingin COMPRESS = LZQ atau bahkan JPEG; akan lebih baik untuk memverifikasi jenis kompresi yang digunakan pada gambar sumber.
Herb
Terima kasih Herb, saya telah memperbarui jawaban untuk memuat tautan Anda.
underdark
5

Seperti yang ditunjukkan oleh underdark, solusi terbaik adalah dengan mengompresi citra Anda untuk mencegah volume besar ruang kosong yang disimpan secara langsung (gambar TIFF asli seperti bitmap: setiap nilai membutuhkan jumlah ruang yang sama). Opsi kompresi berguna lainnya adalah:

-co COMPRESS=LZW

Jarang memiliki rasio kompresi yang sama DEFLATE, tetapi memiliki keuntungan bekerja dengan sebagian besar perangkat lunak, di mana DEFLATEtidak didukung di banyak lingkungan seperti ArcGIS 9.x.

Anda dapat mencoba kompresi lossless yang lebih agresif dengan menggunakan salah satu transformasi wavelet, seperti ECW , MrSID atau salah satu dari berbagai implementasi JPEG2000. Ingatlah bahwa Anda akan membutuhkan alat menggunakan GDAL atau mengimplementasikan perpustakaan untuk mengakses data dalam format ini.

scw
sumber
3

Anda mungkin menghindari menggabungkan file geotiff Anda dengan menulis file vrt yang menggabungkannya "secara virtual".

Ini adalah file XML yang menjelaskan bagaimana file harus dirakit. Semua utilitas gdal menerima file vrt ini sebagai peta input. gdal2tiles atau MapTiler keduanya didasarkan pada gdal sehingga mereka harus dapat menggunakan file vrt (saya belum mencoba dengan file vrt tapi saya sudah mencoba dengan file gdal_wms dan itu bekerja dengan cukup baik).

Menulis file vrt dari awal tidak mudah. Cukup konversi salah satu geotiff Anda ke vrt untuk memiliki contoh:

gdal_tranlate -of vrt one_of_your_geotiff.tif one_of_your_geotiff.vrt

Ada juga alat yang disebut gdalbuildvrt tetapi saya tidak mencobanya.

Nama
sumber
1
Matt Perry memiliki artikel bagus tentang beberapa keuntungan menggunakan VRTs di sini: perrygeo.net/wordpress/?p=141
scw