Comment les statistiques zonales fonctionnent-elles exactement?

10

Je suis un peu confus sur le fonctionnement des outils de statistiques zonales dans QGIS (soit l'outil `` Statistiques zonales '' sous les outils Raster de la boîte à outils des géoalgorithmes QGIS ou l'outil `` Statistiques raster de polygones '' sous les outils raster SAGA Vector <-> Raster ).

Fondamentalement, j'ai une couche de carte raster et quelques petits polygones dans une couche séparée. Je veux affecter à chaque polygone la valeur du raster ci-dessous. Dans le cas où un polygone chevauche plusieurs cellules raster, je veux juste avoir le maximum.

Pourtant, la sortie n'a pas de sens et je ne peux pas m'arrêter sur le raisonnement de ces résultats (qui ne sont évidemment pas le maximum de la cellule raster sous-jacente):

entrez la description de l'image ici

Des idées sur ce que je fais mal ou ce que je n'ai pas encore considéré? Les résultats avec l'API python dans qgis.analysis.QgsZonalStatistics()( selon cette question ici ) sont bien meilleurs, mais il ne propose que count, meanet sum... mais pour une raison quelconque, non maxou min.

GeoEki
la source
1
Je viens d'essayer ceci dans ArcMap en convertissant mon raster en points et il semble que l'outil Statistiques zonales QGIS fasse de même en interne et n'utilise que les cas où un point coupe un polygone. Cependant, il ne semble pas y avoir d'option de correspondance appropriée dans QGIS (quelque chose de comparable à ceux proposés dans l'outil Spatial Join d'ArcMap, par exemple INTERSECT, WITHIN_A_DISTANCE, CLOSEST, ...).
GeoEki
Pour comprendre cela, j'ai calculé le "nombre" pour une couche raster grossière (environ un pixel est dans le polygone) avec les statistiques zonales de QGIS et j'ai obtenu une valeur de 0,45 - ce qui n'est étonnamment pas un entier. Cela suggère que QGIS peut en quelque sorte pondérer les valeurs des pixels. Cela pourrait être la raison pour laquelle le max / min ne correspond pas à ce que vous attendez - peut-être une mauvaise implémentation de cette pondération lors du calcul du max / min.
Jon
Voir gis.stackexchange.com/a/281753/18189 pour une description du fonctionnement de l'algorithme de statistiques zonales QGIS.
dbaston

Réponses:

4

Mise à jour en avril 2018 et QGIS 2.18

La version actuelle de Zonal Statistics Plugin peut fournir:

Count: to count the number of pixels
Sum: to sum the pixel values
Mean: to get the mean of pixel values
Median: to get the median of pixel values
StDev: to get the standard deviation of pixel values
Min: to get the minimum of pixel values
Max: to get the maximum of pixel values
Range: to get the range (max - min) of pixel values
Minority: to get the less represented pixel value
Majority: to get the most represented pixel value
Variety: to count the number of distinct pixel values

Réponse originale

En bref, cette approche avec QGIS, pour autant que je sache, n'est pas possible d'afficher le maximum de pixels raster en conséquence. Seuls le nombre, la moyenne et la somme. J'ai fourni quelques ressources qui couvrent cela.

Voici la page doc du plugin Zonal Statistics Plugin

Avec le plugin de statistiques icon_zonal_statistics Zonal, vous pouvez analyser les résultats d'une classification thématique. Il vous permet de calculer plusieurs valeurs des pixels d'une couche raster à l'aide d'une couche vectorielle polygonale (voir figure_zonal_statistics). Vous pouvez calculer la somme, la valeur moyenne et le nombre total de pixels qui se trouvent dans un polygone. Le plugin génère des colonnes de sortie dans la couche vectorielle avec un préfixe défini par l'utilisateur.

En outre, ce didacticiel QGIS sur l' échantillonnage de données raster à l'aide de points ou de polygones fournit un échantillon de données pour obtenir le retour des statistiques zonales. J'ai inclus une capture d'écran qu'ils fournissent comme exemple de leur flux de travail et de leurs résultats.

Activez les plugins de statistiques zonales. Il s'agit d'un plugin principal, il est donc déjà installé. Voir Utiliser des plugins pour savoir comment activer le plugin principal

entrez la description de l'image ici

entrez la description de l'image ici

entrez la description de l'image ici

Une fois le traitement terminé, sélectionnez la couche comtés. Utilisez l'outil Identifier et cliquez sur n'importe quel polygone de comté. Vous verrez trois nouveaux attributs ajoutés à la couche: ZS_count, ZS_mean et ZS_sum. Ces attributs contiennent respectivement le nombre de pixels raster, la moyenne des valeurs des pixels raster et la somme des valeurs des pixels raster. Puisque nous nous intéressons à la température moyenne, le champ ZS_mean sera celui à utiliser.

entrez la description de l'image ici

whyzar
la source
2

Depuis QGIS 3.0 (peut-être plus tôt, je ne suis pas sûr), les statistiques suivantes sont disponibles:

  • Compter
  • Somme
  • Signifier
  • Médian
  • Écart-type
  • Le minimum
  • Maximum
  • Gamme
  • Minorité
  • Majorité (mode)
  • Variété
  • Variance
dbaston
la source