Saya memiliki shapefile dengan poligon. Dan saya punya file raster global. Saya ingin overlay poligon shapefile ke grid raster dan menghitung nilai raster rata-rata untuk setiap poligon.
Bagaimana saya bisa melakukan ini menggunakan GDAL, menulis hasilnya ke shapefile?
Jawaban:
Di R bisa Anda lakukan
e adalah vektor dengan rata-rata nilai sel raster untuk setiap poligon.
sumber
Mengikuti saran yang saya dapat di milis gdal-dev, saya menggunakan StarSpan :
Hasilnya disimpan ke format CSV. Pada saat itu, itu sudah cukup bagi saya, tetapi harus dimungkinkan untuk memalsukan Shapefile dari info itu.
sumber
Muat shapefile Anda dan raster Anda di PostGIS 2.0 dan lakukan:
sumber
Saya tidak berpikir GDAL adalah alat terbaik untuk ini, tetapi Anda dapat menggunakan gdal_rasterize untuk "menghapus" semua nilai di luar poligon.
Sesuatu seperti:
Program gdal_rasterize memodifikasi file, jadi kami membuat salinan untuk dikerjakan. Kami juga menandai beberapa nilai tertentu (nol dalam kasus ini) menjadi nodata. "-Burn 0 -b 1" berarti membakar nilai nol ke dalam band 1 dari file target (work.tif). "-I" berarti membalikkan rasterisasi sehingga kami membakar nilai di luar poligon bukan di dalamnya. Perintah gdalinfo dengan -stats melaporkan statistik band. Saya percaya ini akan mengecualikan nilai nodata (yang kami tandai sebelumnya dengan -a_nodata).
sumber
Script berikut memungkinkan Anda melakukan tugas dengan GDAL: http://pcjericks.github.io/py-gdalogr-cookbook/raster_layers.html#calculate-zonal-statistics
sumber
Ubah file bentuk dalam raster oleh gdal_rasterize dan gunakan kode di http://www.spatial-ecology.net/dokuwiki/doku.php?id=wiki:geo_tools untuk menghitung statistik zona untuk setiap poligon. Anda dapat menjalankan http://km.fao.org/OFwiki/index.php/Oft-reclass jika Anda ingin mendapatkan tif dengan statistik raster Anda. Nikmati kode Ciao Giuseppe
sumber
Ini tidak mungkin menggunakan GDAL. Anda dapat menggunakan alat gratis lainnya, misalnya saga gis:
sumber
Anda juga dapat menggunakan rasterstats yang merupakan modul Python yang dirancang untuk tujuan ini:
Kemudian Anda dapat mengakses atribut zona pertama menggunakan:
sumber
Anda dapat menggunakan alat statistik penghitungan titik di arc gis dan alat ini dapat diunduh dari http://ianbroad.com/arcgis-toolbox-calculate-point-statistics-polygon-arcpy/
sumber