Statistiques zonales (Spatial Analyst)

Disponible avec une licence Spatial Analyst.

Disponible avec une licence Image Analyst.

Synthèse

Synthétise les valeurs d’un raster dans chaque zone d’un autre jeu de données.

En savoir plus sur le fonctionnement des outils de statistiques zonales

Illustration

Illustration de l’outil Statistiques zonales
OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "MINIMUM", "DATA", "CURRENT_SLICE")

Utilisation

  • Une zone est définie comme l'ensemble des surfaces en entrée ayant la même valeur. Les surfaces ne sont pas nécessairement contiguës. Vous pouvez utiliser à la fois des entités et un raster pour la zone en entrée.

  • Si la valeur Raster ou vecteur de zones en entrée (in_zone_data dans Python) est un raster, le raster doit être de type entier.

  • Si la valeur Données raster ou vecteur de zones en entrée est une entité, elle est convertie en raster en interne à l’aide de la taille de cellule et de l’alignement des cellules du paramètre Raster de valeurs en entrée (in_value_raster dans Python).

  • Si la taille de cellule des valeurs Données raster ou vecteur de zones en entrée et Raster de valeurs en entrée est différente, la taille de cellule en sortie correspond à la valeur Nombre maximal d’entrées et la valeur Raster de valeurs en entrée est utilisée comme raster de capture en interne. Si la taille de cellule est identique, mais que les cellules ne sont pas alignées, la valeur Raster de valeurs en entrée sert de raster de capture en interne. L’une de ces cases déclenche un ré-échantillonnage interne avant l’exécution de l’opération zonale.

    Lorsque la zone ou les valeurs en entrée sont des rasters avec la même taille de cellule et que les cellules sont alignées, elles utilisent directement l’outil et ne sont pas ré-échantillonnées en interne au cours du traitement de l’outil.

  • Si la valeur Données raster ou vecteur de zones en entrée est une entité, pour n’importe quelle entité de zone qui ne chevauche aucun centre de cellule du raster de valeur, ces zones ne sont pas converties en raster de zones interne. Ces zones ne seront par conséquent pas représentées en sortie. Vous pouvez le faire en déterminant une valeur appropriée pour l’environnement de taille de cellule permettant de préserver le niveau de détail souhaité des zones d’entités, et en spécifiant ceci dans l’environnement d’analyse.

  • Si la valeur de Données raster ou vecteur de zones en entrée est une entité ponctuelle, il est possible qu’une cellule du raster de valeurs en entrée contienne plusieurs points. Pour de telles cellules, la valeur de zone est déterminée par le point doté du champ ObjectID le plus faible (OID ou FID, par exemple).

  • Si la valeur Données raster ou vecteur de zones en entrée contient des polygones superposés, l’analyse zonale n’est pas effectuée pour chaque polygone individuel. Comme l’entité en entrée est convertie en raster, chaque emplacement peut avoir une seule valeur.

    Une méthode alternative consiste à traiter l’opération zonale de façon itérative pour chacune des zones de polygone et à assembler les résultats.

  • Lorsque vous spécifiez la valeur Données raster ou vecteur de zones en entrée, le champ de zone par défaut est le premier champ entier ou texte disponible. S’il n’existe aucun autre champ valide, le champ ObjectID (par exemple, OID ou FID) est utilisé par défaut.

  • Le type de statistique pris en charge dépend du type de données de la valeur Raster de valeurs en entrée et du type de calcul statistique spécifié par le paramètre Calculer les statistiques circulaires.

    Si le type de données est un entier, le calcul des statistiques arithmétiques prend en charge les options Moyenne, Majorité, Maximum, Médiane, Minimum, Minorité, Centile, Plage, Écart type, Somme et Variété. Le calcul des statistiques circulaires prend en charge les options Moyenne, Majorité, Minorité, Écart type et Variété.

    Si le type de données est flottant, le calcul des statistiques arithmétiques prend en charge les options Moyenne, Maximum, Médiane, Minimum, Centile, Plage, Écart type et Somme. Le calcul des statistiques circulaires prend en charge les options Moyenne et Écart type.

  • Pour les calculs de la majorité et de la minorité, lorsqu’il existe une association, la sortie est la plus faible des valeurs associées.

  • Pour calculer les statistiques circulaires, sélectionnez le paramètre Calculer les statistiques circulaires (circular_calculation = "CIRCULAR" dans Python), puis spécifiez une valeur pour Valeur de repli circulaire (circular_wrap_value dans Python).

  • Les types de jeu de données raster multidimensionnelles pris en charge incluent la couche raster multidimensionnelle, la mosaïque, le service d’imagerie et le CRF d’Esri.

  • Le type de données (entier ou à virgule flottante) de la sortie dépend du calcul zonal qui est effectué et du type raster de valeurs en entrée. Reportez-vous à la rubrique Fonctionnement de l’outil Statistiques zonales pour connaître le comportement spécifique d’une statistique.

  • Par défaut, cet outil tire parti des processeurs à plusieurs cœurs. Le nombre maximal de cœurs pouvant être utilisés s’élève à quatre.

    Pour utiliser moins de cœurs, utilisez le paramètre d’environnement Parallel Processing Factor (Facteur de traitement parallèle).

  • Pour plus d’informations sur les environnements de géotraitement qui s’appliquent à cet outil, reportez-vous à la rubrique Environnements d’analyse et Spatial Analyst.

Paramètres

ÉtiquetteExplicationType de données
Données de raster ou de vecteur de zones en entrée

Jeu de données qui définit les zones.

Les zones peuvent être définies par un raster d'entiers ou une couche d'entités.

Raster Layer; Feature Layer
Champ de zone

Champ contenant les valeurs qui définissent chaque zone.

Il peut s'agir d'un champ de type entier ou chaîne du jeu de données de zones.

Field
Raster de valeurs en entrée

Raster contenant les valeurs sur lesquelles calculer une statistique.

Raster Layer
Type de statistique
(Facultatif)

Spécifie le type de statistique à calculer.

  • MoyenneLa moyenne de toutes les cellules du raster de valeurs appartenant à la même zone que la cellule en sortie, est calculée. Il s’agit de l’option par défaut.
  • MajoritéLa valeur qui revient le plus souvent parmi toutes les cellules du raster de valeurs appartenant à la même zone que la cellule en sortie, est calculée.
  • MaximumLa valeur la plus élevée de toutes les cellules du raster de valeurs appartenant à la même zone que la cellule en sortie, est calculée.
  • MédianeLa valeur médiane de toutes les cellules du raster de valeurs appartenant à la même zone que la cellule en sortie, est calculée.
  • MinimumLa valeur la plus faible de toutes les cellules du raster de valeurs appartenant à la même zone que la cellule en sortie, est calculée.
  • MinoritéLa valeur qui revient le moins souvent parmi toutes les cellules du raster de valeurs appartenant à la même zone que la cellule en sortie, est calculée.
  • CentileLe centile de toutes les cellules du raster de valeurs appartenant à la même zone que la cellule en sortie, est calculé. Le 90è centile est calculé par défaut. Vous pouvez spécifier d’autres valeurs (entre 0 et 100) à l’aide du paramètre Percentile Value (Valeur de centile).
  • PlageL’écart entre la valeur la plus élevée et la plus faible parmi toutes les cellules du raster de valeurs appartenant à la même zone que la cellule en sortie, est calculé.
  • Écart typeL’écart type de toutes les cellules du raster de valeurs appartenant à la même zone que la cellule en sortie, est calculé.
  • SommeLa valeur totale de toutes les cellules du raster de valeurs appartenant à la même zone que la cellule en sortie, est calculée.
  • VariétéLe nombre de valeurs uniques pour toutes les cellules du raster de valeurs appartenant à la même zone que la cellule en sortie, est calculé.
String
Ignorer NoData dans les calculs
(Facultatif)

Indique si les valeurs NoData de la valeur en entrée sont ignorées dans les résultats de la zone dans laquelle elles se trouvent.

  • Activé : dans une zone particulière, seules les cellules qui ont une valeur dans le raster de valeurs en entrée seront utilisées pour déterminer la valeur en sortie de cette zone. Les cellules NoData dans le raster de valeurs sont ignorées dans le calcul statistique. Il s’agit de l’option par défaut.
  • Désactivé : dans une zone donnée, s’il existe des cellules NoData dans le raster de valeurs, elles ne sont pas ignorées et leur existence indique que les informations sont suffisantes pour exécuter des calculs statistiques pour toutes les cellules de la zone. Par conséquent, toute la zone reçoit la valeur NoData dans le raster en sortie.
Boolean
Process as Multidimensional (Traiter comme multidimensionnel)
(Facultatif)

Indique le mode de calcul des rasters en entrée multidimensionnels.

  • Désactivé : les statistiques sont calculées à partir de la tranche actuelle du jeu de données multidimensionnelles en entrée. Il s’agit de l’option par défaut.
  • Activé : Les statistiques sont calculées pour toutes les dimensions du jeu de données multidimensionnelles en entrée.
Boolean
Valeur du centile
(Facultatif)

Pourcentage à calculer. La valeur par défaut est 90, soit le 90e centile.

Les valeurs peuvent varier entre 0 et 100. Le centile 0 est équivalent à la statistique minimale, tandis que le 100e centile équivaut au maximum. La valeur 50 produit essentiellement le même résultat que la statistique médiane.

Ce paramètre est disponible uniquement si le paramètre Type de statistique est défini sur Centile.

Double
Type d’interpolation en centile
(Facultatif)

Définit la méthode d’interpolation à utiliser lorsque la valeur du centile se situe entre deux valeurs de cellule du raster de valeurs en entrée.

  • Détection automatiqueSi le raster de valeurs en entrée est de type pixel entier, la méthode La plus proche est utilisée. Si le raster de valeurs en entrée est de type pixel à virgule flottante, la méthode Linéaire est utilisée. Il s’agit de l’option par défaut.
  • Les plus prochesLa valeur disponible la plus proche du centile souhaité est utilisée. Dans ce cas, le type de pixel en sortie est identique à celui du raster de valeurs en entrée.
  • LinéaireLa moyenne pondérée des deux valeurs environnantes du centile souhaité est utilisée. Dans ce cas, le type de pixel en sortie est à virgule flottante.
String
Calculer les statistiques circulaires
(Facultatif)

Indique le mode de traitement du raster en entrée pour les données circulaires.

  • Désactivé : les statistiques linéaires ordinaires sont calculées. Il s’agit de l’option par défaut.
  • Activé : les statistiques des angles ou d’autres quantités cycliques, telles que la direction en degrés, les heures du jour et les parties fractionnaires de nombres réels, sont calculées.
Boolean
Valeur d’enroulement circulaire
(Facultatif)

La valeur utilisée pour arrondir une valeur linéaire à la plage d’une statistique circulaire donnée. Sa valeur doit être un entier positif ou un nombre à virgule flottante. La valeur par défaut est 360 degrés.

Ce paramètre est pris en charge uniquement si le paramètre Calculer les statistiques circulaires est sélectionné.

Double

Valeur renvoyée

ÉtiquetteExplicationType de données
Raster en sortie

Raster de statistiques zonales en sortie.

Raster

ZonalStatistics(in_zone_data, zone_field, in_value_raster, {statistics_type}, {ignore_nodata}, {process_as_multidimensional}, {percentile_value}, {percentile_interpolation_type}, {circular_calculation}, {circular_wrap_value})
NomExplicationType de données
in_zone_data

Jeu de données qui définit les zones.

Les zones peuvent être définies par un raster d'entiers ou une couche d'entités.

Raster Layer; Feature Layer
zone_field

Champ contenant les valeurs qui définissent chaque zone.

Il peut s'agir d'un champ de type entier ou chaîne du jeu de données de zones.

Field
in_value_raster

Raster contenant les valeurs sur lesquelles calculer une statistique.

Raster Layer
statistics_type
(Facultatif)

Spécifie le type de statistique à calculer.

  • MEANLa moyenne de toutes les cellules du raster de valeurs appartenant à la même zone que la cellule en sortie, est calculée. Il s’agit de l’option par défaut.
  • MAJORITYLa valeur qui revient le plus souvent parmi toutes les cellules du raster de valeurs appartenant à la même zone que la cellule en sortie, est calculée.
  • MAXIMUMLa valeur la plus élevée de toutes les cellules du raster de valeurs appartenant à la même zone que la cellule en sortie, est calculée.
  • MEDIANLa valeur médiane de toutes les cellules du raster de valeurs appartenant à la même zone que la cellule en sortie, est calculée.
  • MINIMUMLa valeur la plus faible de toutes les cellules du raster de valeurs appartenant à la même zone que la cellule en sortie, est calculée.
  • MINORITYLa valeur qui revient le moins souvent parmi toutes les cellules du raster de valeurs appartenant à la même zone que la cellule en sortie, est calculée.
  • PERCENTILELe centile de toutes les cellules du raster de valeurs appartenant à la même zone que la cellule en sortie, est calculé. Le 90è centile est calculé par défaut. Vous pouvez spécifier d’autres valeurs (entre 0 et 100) à l’aide du paramètre Percentile Value (Valeur de centile).
  • RANGEL’écart entre la valeur la plus élevée et la plus faible parmi toutes les cellules du raster de valeurs appartenant à la même zone que la cellule en sortie, est calculé.
  • STDL’écart type de toutes les cellules du raster de valeurs appartenant à la même zone que la cellule en sortie, est calculé.
  • SUMLa valeur totale de toutes les cellules du raster de valeurs appartenant à la même zone que la cellule en sortie, est calculée.
  • VARIETYLe nombre de valeurs uniques pour toutes les cellules du raster de valeurs appartenant à la même zone que la cellule en sortie, est calculé.
String
ignore_nodata
(Facultatif)

Indique si les valeurs NoData de la valeur en entrée sont ignorées dans les résultats de la zone dans laquelle elles se trouvent.

  • DATADans une zone donnée, seules les cellules qui ont une valeur dans le raster de valeurs en entrée sont utilisées pour déterminer la valeur en sortie de cette zone. Les cellules NoData dans le raster de valeurs sont ignorées dans le calcul statistique. Il s’agit de l’option par défaut.
  • NODATADans une zone donnée, s’il existe des cellules NoData dans le raster de valeurs, elles ne sont pas ignorées et leur existence indique que les informations sont suffisantes pour exécuter des calculs statistiques pour toutes les cellules de la zone. Par conséquent, toute la zone reçoit la valeur NoData dans le raster en sortie.
Boolean
process_as_multidimensional
(Facultatif)

Indique le mode de calcul des rasters en entrée multidimensionnels.

  • CURRENT_SLICELes statistiques sont calculées à partir de la tranche actuelle du jeu de données multidimensionnelles. Il s’agit de l’option par défaut.
  • ALL_SLICESLes statistiques sont calculées pour toutes les dimensions du jeu de données multidimensionnelles en entrée.
Boolean
percentile_value
(Facultatif)

Pourcentage à calculer. La valeur par défaut est 90, soit le 90e centile.

Les valeurs peuvent varier entre 0 et 100. Le centile 0 est équivalent à la statistique minimale, tandis que le 100e centile équivaut au maximum. La valeur 50 produit essentiellement le même résultat que la statistique médiane.

Ce paramètre est pris en charge uniquement lorsque le paramètre statistics_type est défini sur PERCENTILE.

Double
percentile_interpolation_type
(Facultatif)

Définit la méthode d’interpolation à utiliser lorsque la valeur du centile se situe entre deux valeurs de cellule du raster de valeurs en entrée.

  • AUTO_DETECTSi le raster de valeurs en entrée est de type pixel entier, la méthode NEAREST est utilisée. Si le raster de valeurs en entrée est de type pixel à virgule flottante, la méthode LINEAR est utilisée. Il s’agit de l’option par défaut.
  • NEARESTLa valeur disponible la plus proche du centile souhaité est utilisée. Dans ce cas, le type de pixel en sortie est identique à celui du raster de valeurs en entrée.
  • LINEARLa moyenne pondérée des deux valeurs environnantes du centile souhaité est utilisée. Dans ce cas, le type de pixel en sortie est à virgule flottante.
String
circular_calculation
(Facultatif)

Indique le mode de traitement du raster en entrée pour les données circulaires.

  • ARITHMETICLes statistiques linéaires ordinaires sont calculées. Il s’agit de l’option par défaut.
  • CIRCULARLes statistiques des angles ou d’autres quantités cycliques, telles que la direction en degrés, les heures du jour et les parties fractionnaires de nombres réels, sont calculées.
Boolean
circular_wrap_value
(Facultatif)

La valeur utilisée pour arrondir une valeur linéaire à la plage d’une statistique circulaire donnée. Sa valeur doit être un entier positif ou un nombre à virgule flottante. La valeur par défaut est 360 degrés.

Ce paramètre est pris en charge uniquement si le paramètre circular_calculation est défini sur CIRCULAR.

Double

Valeur renvoyée

NomExplicationType de données
out_raster

Raster de statistiques zonales en sortie.

Raster

Exemple de code

Premier exemple d'utilisation de l'outil ZonalStatistics (fenêtre Python)

Cet exemple détermine pour chaque zone la plage de valeurs de cellule dans le raster de valeurs en entrée.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZonalStats = ZonalStatistics("zone", "value", "valueraster", "RANGE",
                                "NODATA")
outZonalStats.save("C:/sapyexamples/output/zonestatout")
Deuxième exemple d'utilisation de l'outil ZonalStatistics (script autonome)

Cet exemple crée une sortie zonale multidimensionnelle en calculant la valeur maximale du raster de valeurs multidimensionnelle en entrée pour chaque zone.

# Name: ZonalStatistics_Ex_standalone.py
# Description: Summarizes values of a multidimensional raster within the zones 
#              of another dataset.
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy.sa import *

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Set the analysis environments
arcpy.env.workspace = "C:/sapyexamples/data"

# Set the local variables
inZoneData = "zones.shp"
zoneField = "sampleID"
inValueRaster = "multidimensional_valueraster.crf" 

# Execute ZonalStatistics
outZonalStatistics = ZonalStatistics(inZoneData, zoneField, inValueRaster,
                                     "MAXIMUM", "NODATA", "ALL_SLICES")

# Save the output 
outZonalStatistics.save("C:/sapyexamples/output/zonestatout2.crf")

Informations de licence

  • Basic: Nécessite Spatial Analyst ou Image Analyst
  • Standard: Nécessite Spatial Analyst ou Image Analyst
  • Advanced: Nécessite Spatial Analyst ou Image Analyst

Rubriques connexes