Saya mencoba untuk klip ECW besar (detail di bawah) tetapi file raster terlalu besar untuk diproses seluruhnya.
Beberapa detail ECW di bawah ini
Pengemudi: ECW / ERDAS Compressed Wavelets (SDK 5.0)
ukuran file: 50gb Ukurannya adalah 450000, 565081 Ukuran piksel: 0,15 0,15 COLORSPACE = RGB COMPRESSION_RATE_TARGET = 9 VERSION = 2 Jumlah band: 4
Area yang ingin saya klip kira-kira 1/5 dari file asli.
Berikut adalah metode yang saya coba tanpa hasil:
Menggunakan Arcgis untuk menyimpan file ke format / lainnya ... (Saya cepat menyerah)
Qgis bekas dan alat pemotongnya ... pembuatan file tetap macet sekitar 40%.
Digunakan gdal_translate keluar dari OSGeo4W dengan opsi lain selain Qgis. (Mencoba berpikir bahwa MUNGKIN membebaskan beberapa memori tidak menggunakan Qgis akan menjadi trik)
Digunakan gdal_retile berpikir bahwa saya akan memotong gambar menjadi potongan-potongan dan mengambil yang saya inginkan. Perintah "gdal_retile -ps 10000 10000 -dari ecw -tileIndex tile.shp -targetDir input.ecw Ini macet lebih cepat"
Adakah yang punya ide?
Untuk info saya menjalankan windows 7 64bits pada i5-3470 3.2Ghz dengan 16gb ram.
Anda dapat memotongnya langsung dengan alat gdal, gdal_translate jika Anda mengetahui koordinat Area Minat Anda, jika georeferensi-nya:
Jika tidak menggunakan
-srswin
bendera seperti ini:gdal_translate -srcwin [xoff yoff xsize ysize] infile outfile.
Pilihan lain adalah membuat raster 'virtual' (dari beberapa kilobyte) yang menunjuk pada dataset awal Anda, dengan gdalbuildvrt .
Sayangnya Anda akan memerlukan file georeferensi untuk menggunakan gdalbuildvrt.
Setelah Anda memotong, jangan lupa untuk membuat piramida agar mudah dilihat. Perintah berikut akan membangun piramida eksternal yang dikompres dengan algoritma DEFLATE (lossless):
Sebagai langkah terakhir Anda dapat menghitung statistik juga untuk menghindari beberapa masalah bodoh dengan program komersial tertentu:
sumber
gdaladdo -ro input.vrt 2 4 8 16
lalugdaladdo -ro --config COMPRESS_OVERVIEW DEFLATE input.vrt 2 4 8 16
. Tujuan saya adalah untuk mengakhiri dengan ECW jadi saya mencobagdal_translate -of ECW input.vrt output.ecw
dan mendapat kesalahan berikut:0ERROR 6: GDALDriver::Create() ... no create method implemented for this format.
gdalinfo --formats
. Jika Anda tidak melihat ECW dalam daftar, coba instruksi itu: faunalia.pt/node/438'Klip' langsung
gdalwarp
harus digunakan (saya tahu ini adalah pertanyaan lama: 18 bulan IRL seperti zaman geologis dalam tahun internet).Saya memiliki antena 70Gb (ECW, 94000x81000 piksel pada 10cm / px), dan GDAL dapat secara sewenang-wenang memangkasnya dengan shapefile menggunakan
gdalwarp -cutline [clipfile] -crop_to_cutline [infile] [outfile]
di baris perintah Windows. (Saya menyadari bahwa solusi ini membutuhkan pembangunan shapefile untuk area target yang diminati, tetapi itu bukan tantangan terbesar yang diketahui GIS).
Untuk mengekstrak potongan setengah pinggiran kota membutuhkan ~ 0.4sec; untuk mengiris file menjadi empat bagian dibutuhkan 4sec. Spesifikasi mesin saya tidak jauh berbeda (i7-4770 @ 3.4GHz, RAM 16GB, Win7-64 Ultimate).
sumber