Existe-t-il une alternative open source pour l'outil de statistiques de zone (ArcGIS Spatial Analyst)? Quel est le meilleur outil (que je peux utiliser dans le script) pour compter les statistiques des fichiers raster?Statistiques zonales QGIS
Répondre
vous pouvez utiliser le package de trame dans R
library(raster)
v <- raster('raster filename')
z <- raster('zones raster filename')
zv <- zonal(v, z, fun=mean)
-moi si je me trompe, RobertH, mais je crois zonale() exige que les zones sont déjà « pixellisés » dans un certain sens, alors que beaucoup fois on voudra les statistiques des cellules raster qui tombent dans les polygones. Les différentes méthodes de recouvrement dans R dans le paquet sp (voir: "méthodes de superposition") sont nécessaires pour cela, mais si je me trompe je serais heureux de l'entendre. Je préfère nettement le paquetage raster à l'utilisation de SpatialGridsDataFrames, mais je pense qu'il faut compter sur les classes sp pour mélanger les polygones et les données maillées. Ce qui est correct, sauf qu'il devient problématique car il manque la gestion de la mémoire du paquetage raster, ce qui rend les opérations de style point-dans-polygones très difficiles à faire dans R sur les rasters de grande taille. Je suis également amené à croire, mais je n'ai pas essayé, que cela peut être fait dans GRASS, et/ou via QGIS, avec la prochaine version de QGIS (1.7) pour avoir une sorte de fonctionnalité zonale intégrée .
Vous pouvez le faire avec GRASS en utilisant diverses méthodes. Lequel convient le mieux dépendra de vos données et de la sortie requise. Notez que vous pouvez également utiliser GRASS depuis QGIS à l'aide de la boîte à outils GRASS ou de la boîte à outils Sextante.
Supposons que vous avez:
- une carte vectorielle, par exemple,
vector_zones
avec les zones définies dans la colonnemyzones
dans la table d'attributs. - une couche raster « valeurs » pour lesquelles vous voulez calculer vos statistiques zonales
Pour utiliser r.statistics, vous devez d'abord convertir la carte vectorielle à une couche de trame, que vous pouvez faire avec v.to.rast. Ensuite, utilisez r.statistics pour calculer les statistiques zonales.
v.to.rast input=vector_zones output=zones column=myzones
r.statistics base=zones cover=values out=outputmap method=average
Cela vous donnera une nouvelle couche avec la statistique zonale choisie, ce qui pourrait être moyenne, le mode, la médiane, la variance, etc. (voir ci-dessus le lien de la page de manuel).
La fonction r.univar fonctionne également sur des couches de trame.
v.to.rast input=vector_zones output=zones column=myzones
r.univar map=values zones=zones output=output.file fs=;
La sortie est une table avec les statistiques zonales.
Cela ne vous oblige pas à convertir la couche de vecteur à une couche de trame (ce qui est fait à l'interne). La fonction calcule des statistiques univariées de base par catégorie de vecteurs (cat) à partir de la carte raster.
v.rast.stats vector=vector_zones layer=1 raster=values column_prefix=val
Les résultats sont téléchargés dans la table d'attributs de la carte vectorielle.
Le paquet Rasterstats est un bel outil open source qui a bien fonctionné pour moi: http://blog.perrygeo.net/2013/09/24/python-raster-stats/
j'ai commencé à l'utiliser comme un travail autour parce que la méthode ZonalStatistics de arcpy produisait une trame problématique qui conduisent à une erreur bizarre quand essayer de convertir le raster en tableau (https://gis.stackexchange.com/questions/110274/save-fails-on-raster-object-created-from-numpyarraytoraster). Rasterstats a bien fonctionné et fourni une solution efficace à mon problème.
- 1. QGIS erreur Windows
- 2. connexion mysql en qgis
- 3. question Qpainter.rotate() - qgis
- 4. probabilités statistiques statistiques
- 5. Problème de QTimer dans QGIS (Quantum GIS)
- 6. Direction R ou QGIS pour la distance
- 7. Calculs statistiques
- 8. Statistiques MongoDB
- 9. Statistiques NHibernate
- 10. Statistiques mensuelles
- 11. QGIS ne dispose pas de libjvm.so sur Ubuntu Precise
- 12. Toute bonne alternative aux bibliothèques qgis en python
- 13. Création de QGIS pour Windows avec Mingw et Cmake?
- 14. écrire un script python pour automatiser les tâches QGIS (Qt)
- 15. ne peut pas installer QGis dans Ubuntu 12.04
- 16. Comment aligner l'étiquette QProgressBar dans la barre de message QGIS?
- 17. QGIS 2.2 sous OSX Mavericks bloqué en mode plein écran
- 18. Principales statistiques sur les statistiques Facebook obsolètes - alternatives non documentées?
- 19. Statistiques/Facettes sur elasticsearch
- 20. Statistiques des appels Android
- 21. Calculer le mois Statistiques
- 22. Statistiques de batterie SmartWatch?
- 23. Statistiques du développeur Apple
- 24. Interprétation des statistiques Z3
- 25. Statistiques d'utilisation SSL Internet
- 26. Faking statistiques Oracle?
- 27. CruiseControl.net statistiques tutoriel
- 28. facebook part bouton statistiques
- 29. Traceroute comparaison et statistiques
- 30. Ehcache Statistiques par clé
voir l'aide (zonale) dans R pour un exemple exécutable avec des données d'échantillon – Spacedman