Tengo un shapefile con polígonos. Y tengo un archivo ráster global. Quiero superponer los polígonos del archivo de forma en la cuadrícula de trama y calcular el valor medio de la trama para cada polígono.
¿Cómo puedo hacer esto usando GDAL, escribiendo los resultados en el shapefile?
Respuestas:
En R puedes hacer
e es un vector con la media de los valores de celda ráster para cada polígono.
fuente
Siguiendo el consejo que recibí en la lista de correo de gdal-dev, utilicé StarSpan :
Los resultados se guardan en formato CSV. En ese momento, eso ya era suficiente para mí, pero debería ser posible de alguna manera falsificar un Shapefile a partir de esa información.
fuente
Cargue su archivo de forma y su ráster en PostGIS 2.0 y haga:
fuente
No creo que GDAL sea la mejor herramienta para esto, pero puede usar gdal_rasterize para "borrar" todos los valores fuera del polígono.
Algo como:
El programa gdal_rasterize modifica el archivo, por lo que hacemos una copia para trabajar. También marcamos algún valor particular (cero en este caso) como nodata. El "-burn 0 -b 1" significa grabar un valor de cero en la banda 1 del archivo de destino (work.tif). El "-i" significa rasterización invertida, por lo que quemamos valores fuera del polígono en lugar de dentro de él. El comando gdalinfo con -stats informa sobre estadísticas de banda. Creo que excluirá el valor de nodata (que marcamos anteriormente con -a_nodata).
fuente
El siguiente script le permite realizar la tarea con GDAL: http://pcjericks.github.io/py-gdalogr-cookbook/raster_layers.html#calculate-zonal-statistics
fuente
Transforme el archivo de forma en ráster mediante gdal_rasterize y use el código en http://www.spatial-ecology.net/dokuwiki/doku.php?id=wiki:geo_tools para calcular la estadística zonal para cada polígono. Puede ejecutar http://km.fao.org/OFwiki/index.php/Oft-reclass si desea obtener un tif con la estadística de sus rásteres. Disfruta el código Ciao Giuseppe
fuente
Esto no es posible con GDAL. Sin embargo, podría usar otras herramientas gratuitas, por ejemplo, saga gis:
fuente
También puede usar rasterstats que es un módulo de Python diseñado para este propósito:
Luego puede acceder al atributo de la primera zona usando:
fuente
puede usar la herramienta de cálculo de estadísticas de puntos en arc gis y esta herramienta se puede descargar desde http://ianbroad.com/arcgis-toolbox-calculate-point-statistics-polygon-arcpy/
fuente