J'ai un fichier de formes avec des polygones. Et j'ai un fichier raster global. Je veux superposer les polygones du fichier de formes sur la grille raster et calculer la valeur raster moyenne pour chaque polygone.
Comment puis-je faire cela en utilisant GDAL, en écrivant les résultats dans le fichier de formes?
Réponses:
Dans R, vous pouvez faire
e est un vecteur avec la moyenne des valeurs des cellules raster pour chaque polygone.
la source
Suite aux conseils que j'ai reçus sur la liste de diffusion gdal-dev, j'ai utilisé StarSpan :
Les résultats sont enregistrés au format CSV. À ce moment-là, cela me suffisait déjà, mais il devrait être possible de créer un Shapefile à partir de ces informations.
la source
Le script suivant vous permet d'effectuer la tâche avec GDAL: http://pcjericks.github.io/py-gdalogr-cookbook/raster_layers.html#calculate-zonal-statistics
la source
Chargez votre fichier de formes et votre raster dans PostGIS 2.0 et faites:
la source
Je ne pense pas que GDAL soit le meilleur outil pour cela, mais vous pouvez utiliser gdal_rasterize pour "effacer" toutes les valeurs en dehors du polygone.
Quelque chose comme:
Le programme gdal_rasterize modifie le fichier, nous faisons donc une copie sur laquelle travailler. Nous marquons également une valeur particulière (zéro dans ce cas) comme nodata. Le "-burn 0 -b 1" signifie graver une valeur de zéro dans la bande 1 du fichier cible (work.tif). Le "-i" signifie une tramage inversée, donc nous brûlons les valeurs à l' extérieur du polygone au lieu de l'intérieur. La commande gdalinfo avec -stats rend compte des statistiques de bande. Je pense que cela exclura la valeur nodata (que nous avons marquée plus tôt avec -a_nodata).
la source
Transformez le fichier de forme en raster par gdal_rasterize et utilisez le code dans http://www.spatial-ecology.net/dokuwiki/doku.php?id=wiki:geo_tools pour calculer les statistiques zonales pour chaque polygone. Vous pouvez exécuter http://km.fao.org/OFwiki/index.php/Oft-reclass si vous souhaitez obtenir un tif avec vos statistiques de rasters. Profitez du code Ciao Giuseppe
la source
Ce n'est pas possible avec GDAL. Vous pouvez cependant utiliser d'autres outils gratuits, par exemple les saga gis:
la source
Vous pouvez également utiliser rasterstats qui est un module Python conçu à cet effet:
Ensuite, vous pouvez accéder à l'attribut de la première zone en utilisant:
la source
vous pouvez utiliser l'outil de calcul de statistiques de points dans arc gis et cet outil peut être téléchargé à partir de http://ianbroad.com/arcgis-toolbox-calculate-point-statistics-polygon-arcpy/
la source