Saya memiliki file raster besar (129600 x 64800 piksel) dengan badan air global (nilai 1 bit 0 dan 1) dan mencoba mengekstrak garis pantai samudera dan perairan daratan.
Saya sudah mencoba dengan ArcGIS dan QGIS untuk mengkonversi dari raster ke polyline, tetapi butuh waktu lama.
Adakah yang tahu cara yang lebih baik / lebih cepat (Python atau R) atau alat yang lebih baik untuk tugas ini?
Memperbarui
- R: rasterToContour mungkin cepat dan tepat, tetapi jika Anda memiliki dataset yang sangat besar seperti milik saya (8.398.080.000 piksel), Anda memerlukan jumlah RAM yang sangat besar (lebih dari 16GB) atau Anda memaksa R untuk melakukan lebih banyak pemrosesan pada hard drive dan itu juga akan memakan waktu lama.
- Python / GDAL: gdal_poligonize membuat poligon bukan polyline
Perbarui 2
- R rasterToContour: rasterToContour tidak memberikan hasil yang diinginkan. Dibandingkan dengan ArcGIS (raster ke polygon diikuti oleh fitur untuk garis) itu tidak mengekstrak garis piksel yang tepat, seperti yang ditunjukkan dalam contoh di bawah ini.
PEMBARUAN 3
Python / GDAL: Saya telah menjalankan gdal_polygonize dari baris perintah terhadap ArcGIS pada dataset uji dan hasilnya sangat jelas:
- gdal: 49 detik
- ArcGIS: 1,84 detik