Statistiques zonales (Image Analyst)

Disponible avec une licence Spatial Analyst.

Disponible avec une licence Image Analyst.

Résumé

Calcule les statistiques des valeurs d’un raster dans chaque zone d’un autre jeu de données.

Pour en savoir plus sur l'utilisation de la fonction Statistiques zonales

Illustration

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

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 les données raster ou vecteur de zones en entrée (Input raster or feature zone data) (in_zone_data dans Python) constituent un raster, ils doivent être un raster d’entiers.

  • Si les données raster ou vecteur de zones en entrée (in_zone_data dans Python) forment une entité, ces données sont converties en raster en interne à l’aide de la taille de cellule et de l’alignement des cellules du raster de valeurs en entrée (in_value_raster dans Python).

  • Si la taille de cellule des données raster ou vecteur de zones en entrée (in_zone_data dans Python) et que le raster de valeurs en entrée (in_value_raster dans Python) est différent, la taille de cellule en sortie correspond à la valeur de Maximum Of Inputs (Nombre maximal d’entrées) et le raster de valeurs en entrée est utilisé comme raster de capture en interne. Si la taille de cellule est identique mais que les cellules ne sont pas alignées, le raster de valeurs en entrée est utilisé comme 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 de l’exécution de l’outil.

  • Si les données Input raster or feature zone data (Données raster ou vecteur de zones en entrée) (in_zone_data dans Python) sont 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 les données raster ou vecteur de zones en entrée (Input raster or feature zone data) (in_zone_data dans Python) est une entité ponctuelle, il est possible d’avoir plusieurs points contenus dans toute cellule du raster de valeurs en entrée. 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 les données raster ou vecteur de zones en entrée (Input raster or feature zone data) (in_zone_data dans Python) 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 les données raster ou vecteur de zones en entrée (Input raster or feature zone data) (in_zone_data dans Python), 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 raster de valeurs en entrée (Input value raster) (in_value_raster dans Python) peut être de type entier ou à virgule flottante. Toutefois, lorsque son type est à virgule flottante, les options de calcul de la majorité, de la médiane, de la minorité et de la variété ne sont pas disponibles.

  • Pour les calculs de majorité et de minorité, lorsqu’il existe un rattachement, la sortie pour la zone est basée sur la plus faible des valeurs associées. Pour plus d’informations, reportez-vous à la rubrique Fonctionnement de l’outil Statistiques zonales.

  • 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.

  • 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 Facteur de traitement parallèle.

Syntaxe

ZonalStatistics(in_zone_data, zone_field, in_value_raster, {statistics_type}, {ignore_nodata}, {process_as_multidimensional}, {percentile_value})
ParamètreExplicationType 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.
  • 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 pourcentage).
  • 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 traitement 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.

Cette option est uniquement prise en charge si le paramètre statistics_type est défini sur PERCENTILE.

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.ia import *
env.workspace = "C://data"
outZonalStats = ZonalStatistics("zone", "value", "valueraster", "RANGE",
                                "NODATA")
outZonalStats.save("C:/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: Image Analyst Extension

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

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

# 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: Requiert Image Analyst or Spatial Analyst
  • Standard: Requiert Image Analyst or Spatial Analyst
  • Advanced: Requiert Image Analyst or Spatial Analyst

Rubriques connexes