Saya memanipulasi dan memproses raster global dengan resolusi 30m. Total ukuran raster biasanya [1.440.000 560.000]. Saya memiliki akses ke komputer super, jadi saya telah menulis kode yang memungkinkan saya untuk memecah raster global menjadi beberapa bagian yang dapat dikelola, melakukan beberapa perhitungan secara paralel, dan menulisnya ke disk dengan cukup cepat.
Saya telah menabrak dinding, ketika datang untuk menampilkan hasil. Saya biasanya membangun raster ubin virtual yang menutupi globe dan menariknya ke QGIS. Tapi itu sangat lambat (menit untuk memuat, jika ya). Dan jika saya mencoba menggeser atau memperbesar, itu beberapa menit lagi. Pendekatan pertama saya untuk memecahkan masalah ini adalah membangun tinjauan umum menggunakan gdaladdo. Namun, ini membutuhkan waktu yang lama untuk membangun (seperti dalam hari), yang tidak kondusif untuk mengembangkan algoritma. Berikut adalah daftar hal-hal yang telah saya coba dan mengapa / bagaimana mereka gagal.
membangun ikhtisar di vrt. Seperti disebutkan di atas, ini membutuhkan 2+ hari untuk menyelesaikan 8 level. Itu tidak dapat diterima untuk tujuan saya.
membangun ikhtisar pada ubin individu, lalu entah bagaimana bergabung menjadi vrt yang berisi ikhtisar tersebut. Saya bisa membuat ikhtisar di atas ubin agak cepat (superkomputer), tetapi saya belum dapat menginstalnya. Saya mencoba:
2a. gdal_merge pada ubin dengan ikhtisar, tetapi ikhtisar tidak dipertahankan (atau setidaknya tidak dikenali oleh QGIS) di tiff keluaran.
2b. gdalbuildvrt pada ubin dengan ikhtisar, tetapi seperti di atas, ikhtisar tidak dipertahankan. [Ini tidak benar, lihat edit.]
2c. Saya juga mencoba hibrida membangun ikhtisar untuk ubin untuk tingkat 1-6 dan membangun tingkat 7-8 langsung di vrt (pada dasarnya opsi 2b) tetapi masih butuh waktu lama untuk hanya dua tingkat ini. Saya melakukan beberapa pengujian dan melihat bahwa ikhtisar genteng yang benar-benar digunakan untuk membangun untuk ikhtisar vrt, tapi masih di urutan hari untuk menyelesaikan ikhtisar pada vrt tersebut.
Jadi saya berharap seseorang di sini memiliki beberapa saran tentang ke mana saya harus pergi selanjutnya. Berikut ini beberapa opsi yang saya pertimbangkan:
Buat sendiri piramida global secara manual. Saya khawatir rekombinasi mereka menjadi file .ovr karena saya menganggap itu akan sulit.
Gunakan mapserver (Geoserver). Saya tahu sedikit tentang hal ini dan khawatir itu tidak akan mengatasi rintangan waktu sambil menambahkan kompleksitas pada proses saya.
Bagi domain dengan benua atau wilayah lain. Saya benar - benar ingin menghindari opsi ini.
Anda mungkin bertanya "mengapa Anda perlu melihat seluruh dunia dengan resolusi 30m?" Salah satu contoh: Saya mengambil topeng piksel air (secara global) dan membuat kerangka untuk menemukan sungai dan melakukan pengukuran. Algoritma skeletonization saya memerlukan sedikit penyetelan (untuk pemangkasan cabang, menghapus loop, pembersihan umum, dll.), Dan hasilnya harus pada 30 m. Karena sungai dan bentang alam beragam di seluruh dunia, saya harus dapat berkeliling untuk melihat efek dari setiap perubahan yang telah saya terapkan.
Saya juga telah memeriksa QGIS untuk memastikan tidak ada pengaturan yang dapat saya mainkan untuk membuat raster besar lebih cepat, tetapi saya tidak melihat apa-apa. Kurang membeli drive SSD, saya pikir itu cranking secepat mungkin. (HDD saya memiliki I / O ~ 250MB / s).
Saya menemukan bahwa membangun ikhtisar pada ubin individu, lalu membangun vrt tampaknya mempertahankan ikhtisar - bagian "Piramida" QGIS dalam metadata untuk file kosong, tetapi di bagian "Dimensi" ada entri untuk setiap tingkat ikhtisar (mis. X 720000, Y 140; X 360000, Y 70, dll.). Jadi saya salah tentang 2b.
Saya juga menemukan bahwa jika saya hanya menarik semua ubin ke QGIS, itu merender dalam waktu kurang dari satu menit, sementara jika saya menarik vrt yang mereferensikan ubin, dibutuhkan> 5 menit (tidak tahu berapa lama tepatnya sejak saya membunuh proses).
Saya melakukan beberapa pengujian pada komputer dengan SSD, dan saya menemukan bahwa saya dapat memuat, menampilkan, dan membuat vrts global (tanpa ikhtisar apa pun) dengan sukses dan pada tingkat yang dapat diterima. Saya telah memesan 1TB PCIe SSD dengan harapan itu akan memungkinkan saya untuk melakukan hal yang sama di komputer saya. Akan diperbarui dengan hasil.
I also tried a hybrid of building overviews for the tiles for levels 1-6 and building levels 7-8 directly on the vrt
yang terasa sama dengan urutan yang Anda rekomendasikan dan itu wajar saja. Saya sendiri tidak akan menghitung 2 4 8 ... ikhtisar untuk VRT jika setiap ubin memilikinya untuk menghemat waktu dan ruang disk. ROI kecil kemudian akan menemukan ikhtisar dari beberapa ubin dan itu harus cukup cepat.