Caractérisation zonale (Spatial Analyst)

Synthèse

Synthétise les valeurs de plusieurs rasters dans les zones d’un autre jeu de données et affiche les résultats sous forme de table.

En savoir plus sur le fonctionnement des outils de statistiques zonales

Utilisation

  • Voici quelques exemples d’application de l’outil :

    • Calculez la moyenne des précipitations, la température maximale et la population totale dans différentes zones de l’écosystème pour estimer les pratiques agricoles durables.
    • Estimez l’élévation moyenne, la pente moyenne et la somme des valeurs NDVI pour chaque parcelle afin de localiser les zones adaptées à la plantation d’arbres d’ombrage.

  • 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 des rasters pour la zone en entrée.

  • Si la valeur du paramètre Raster ou entités de zone en entrée (in_zone_raster_or_features dans Python) est un raster, il doit s’agir d’un raster de type entier.

  • Si la valeur du paramètre Raster ou entités de zone en entrée est une entité, celle-ci est convertie en raster en interne avec la taille de cellule, l’alignement des cellules et la référence spatiale issus de la valeur du paramètre Rasters de valeurs en entrée (in_value_rasters_statistics dans Python) avec la taille de cellule la plus petite, sauf indication contraire dans l’environnement d’analyse. Un rééchantillonnage interne est ainsi déclenché avant l’exécution de l’opération zonale.

  • Si la valeur du paramètre Raster ou entités de zone en entrée est une entité, pour les entités de zone qui ne chevauchent aucun centre de cellule d’un raster de valeurs, 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 Raster ou entités de zone en entrée est une entité ponctuelle, plusieurs points peuvent se trouver dans une cellule particulière des rasters de valeurs en entrée. Pour de telles cellules, la valeur des zones est déterminée par le point dont le champ ObjectID est le plus faible (par exemple, OID ou FID).

  • Si la valeur de Raster ou entités de zone en entrée présente des entités qui se chevauchent, l’analyse zonale est effectuée pour chaque entité individuellement.

  • Lorsque la taille de cellule des valeurs des paramètres Raster ou entités de zone en entrée et Rasters de valeurs en entrée diffère, la taille de cellule, l’alignement des cellules et la référence spatiale issus de la valeur du paramètre Rasters de valeurs en entrée avec la taille de cellule la plus petite sont utilisés, sauf indication contraire dans l’environnement d’analyse. Un rééchantillonnage interne est ainsi déclenché avant l’exécution de l’opération zonale.

    Lorsque les entrées de zones et de valeurs sont toutes des rasters dont la taille de cellule est la même et que les cellules sont alignées, elles sont utilisées directement dans l’outil et ne sont pas rééchantillonnées en interne au cours du traitement de l’outil.

  • Lorsque vous spécifiez la valeur Raster ou entités de zone en entrée, la valeur du paramètre Champ de zone (zone_field dans Python) par défaut est le premier champ de type entier disponible (par exemple, OID ou FID) pour les entités et le champ VALUE pour le raster. Le champ de zone peut être de type entier ou chaîne.

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

    Si les données sont de type entier, le calcul de statistiques arithmétiques prend en charge les options Mean (Moyenne), Majority (Majorité), Majority count (Nombre majoritaire), Majority percentage (Pourcentage de majorité), Maximum, Median (Médiane), Minimum, Minority (Minorité), Minority count (Nombre minoritaire), Minority percentage (Pourcentage de minorité), Percentile (Centile), Range (Plage), Standard deviation (Écart type), Sum (Somme) et Variety (Variété). Le calcul de statistiques circulaires prend en charge les options Mean (Moyenne), Majority (Majorité), Minority (Minorité), Standard deviation (Écart type) et Variety (Variété).

    Si les données sont de type flottant, le calcul de statistiques arithmétiques prend en charge les options Mean (Moyenne), Maximum, Median (Médiane), Minimum, Percentile (Centile), Range (Plage), Standard deviation (Écart type) et Sum (Somme). Le calcul de statistiques circulaires prend en charge les options Mean (Moyenne) et Standard deviation (É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 plusieurs types de statistiques par raster de valeurs, vous devez spécifier le même raster de valeurs plusieurs fois. Si la même combinaison de raster de valeurs et de type de statistiques existe en double, l’outil génère une erreur.

  • Pour calculer les statistiques circulaires, cochez le paramètre Calculate Circular Statistics (Calculer les statistiques circulaires) (circular_calculation = "CIRCULAR" dans Python) et définissez une valeur pour le paramètre Circular Wrap Value (Valeur de repli circulaire) (circular_wrap_value dans Python).

    Si le paramètre Calculer les statistiques circulaires est sélectionné, les statistiques circulaires sont calculées pour tous les rasters de valeurs pour lesquels la valeur de repli circulaire spécifiée est appliquée.

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

  • Lors du traitement de toutes les tranches des rasters multidimensionnels, les valeurs des paramètres Output Statistics Table (Table de statistiques en sortie) et Output Statistics Feature Class (Classe d’entités de statistiques en sortie) ne contiennent que les informations de date. Elles ne contiennent pas l’heure si elles sont au format DBF ou SHP. Si elles sont au format FGDB, la classe d’entités et la table en sortie incluent les informations temporelles avec la date dans le champ Standard Time.

  • La valeur du paramètre Table de statistiques en sortie (out_statistics_table dans Python) présente les caractéristiques suivantes :

    • Le nombre de lignes dans la table en sortie correspond au nombre de zones dans l’étendue d’analyse.
    • Une série de champs est créée dans la table en sortie pour représenter les zones, avec les valeurs de nombre et de statistiques de chaque valeur de paramètre Input Value Rasters (Rasters de valeurs en entrée) et Statistics Type (Type de statistique).
    • Les noms des champs sont dérivés du nom du raster de valeurs et du type de statistiques par défaut, sauf indication contraire dans le paramètre Nom de champ. Pour les statistiques circulaires, le nom du champ inclut C_ avant la statistique spécifiée. Par exemple, le nom de champ sera ValueRasterName_MEAN pour la statistique de moyenne arithmétique et ValueRasterName_C_MEAN pour la statistique de moyenne circulaire.
    • La longueur maximale des noms de champ dans la table en sortie dépend de l’espace de travail.
    • Le type de données de chaque valeur des éléments dans la table en sortie dépend du calcul zonal effectué. Reportez-vous à la rubrique Fonctionnement de l’outil Statistiques zonales pour comprendre le comportement spécifique d’une statistique.

  • Pour la valeur du paramètre Classe d’entités de statistiques en sortie (out_statistics_features dans Python), si l’entrée de zone est un raster, la classe d’entités en sortie est convertie en entités sans généralisation et en respectant l’environnement d’analyse.

    Si l’entrée de la zone est un raster contenant des zones non contiguës, l’outil crée des polygones en une seule partie dans la classe d’entités des statistiques en sortie. La classe d’entités des statistiques en sortie contient les statistiques calculées dans la table des statistiques en sortie ajoutée à chaque polygone en une seule partie dans la zone correspondante.

  • Cet outil utilise les paramètres d’environnement suivants :

    • Le raster de valeurs avec la taille de cellule la plus petite est utilisé pour la taille de cellule d’analyse, le système de coordonnées en sortie et le raster de capture par défaut.
    • L’étendue par défaut est l’intersection de la zone avec l’union de tous les rasters de valeurs.
    • Par défaut, cet outil utilise 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
Raster ou entités de zone en entrée

Jeu de données définissant les zones.

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

Raster Layer; Feature Layer
Rasters de valeurs en entrée

Collection de rasters dont les valeurs seront chacune synthétisées par une statistique. Les propriétés de ce paramètre sont les suivantes.

  • Raster : raster de valeurs en entrée.
  • Type de statistiques : statistiques qui seront calculées pour le raster.
  • Nom de champ : nom de champ pour le raster dans la table en sortie.

Une statistique est calculée pour toutes les cellules dans chaque raster de valeurs en entrée appartenant à la même zone que la cellule en sortie. Les types de statistiques suivants sont disponibles :

  • Moyenne : valeur moyenne des cellules.
  • Majorité : valeur de cellule la plus fréquente.
  • Nombre majoritaire : fréquence de toutes les cellules contenant la valeur majoritaire.
  • Pourcentage majoritaire : pourcentage de cellules contenant la valeur majoritaire.
  • Maximum : valeur de cellule la plus élevée.
  • Médiane : valeur de cellule médiane ou intermédiaire.
  • Minimum : valeur de cellule la plus faible.
  • Minorité : valeur de cellule la moins fréquente.
  • Nombre minoritaire : fréquence de toutes les cellules contenant la valeur minoritaire.
  • Pourcentage minoritaire : pourcentage de cellules contenant la valeur minoritaire.
  • Centile : centile des valeurs de cellule. 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 Values (Valeurs de centile).
  • Plage : différence entre la valeur la plus faible et la valeur la plus élevée.
  • Type : écart type des valeurs de cellule.
  • Somme : valeur totale des cellules.
  • Variété : nombre de valeurs de cellule uniques.

Les noms de champ dans la table de statistiques en sortie sont dérivés du nom de raster de valeurs et du type de statistiques par défaut.

Value Table
Table de statistiques en sortie

Table en sortie qui contiendra le récapitulatif des valeurs dans chaque zone pour tous les rasters de valeurs.

Le format de la table est déterminé par l'emplacement et le chemin d'accès en sortie. Par défaut, la sortie sera une table de géodatabase si elle se trouve dans un espace de travail Géodatabase, et une table dBASE si elle se trouve dans un espace de travail de fichier.

Table
Classe d’entités de statistiques en sortie
(Facultatif)

Classe d’entités en sortie qui est créée en associant la table en sortie aux données de zone en entrée.

Feature Class
Champ de zone
(Facultatif)

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
Ignorer NoData dans les calculs
(Facultatif)

Indique si les valeurs NoData de la valeur en entrée seront 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 seront ignorées dans le calcul statistique. Il s’agit de l’option par défaut.
  • Désactivé : dans une zone particulière, s’il existe des cellules NoData dans le raster de valeurs, elles ne seront pas ignorées et leur existence indique que les informations sont insuffisantes pour exécuter des calculs statistiques pour l’ensemble des cellules de cette zone. Par conséquent, toute la zone reçoit la valeur NoData.
Boolean
Valeurs de centile
(Facultatif)

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

Les valeurs peuvent varier entre 0 et 100. Le centile n° 0 est équivalent à la statistique minimale tandis que le 100e centile équivaut au maximum Une valeur de 50 donne le même résultat que la statistique médiane.

Ce paramètre n’est disponible que si le paramètre Statistics type (Type de statistique) est défini sur Percentile (Centile) ou All (Tout).

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 type de pixel du raster de valeurs en entrée est de type entier, la méthode Nearest (La plus proche) est utilisée. Si le type de pixel du raster de valeurs en entrée est de type virgule flottante, la méthode Linear (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é sera utilisée.
  • LinéaireLa moyenne pondérée des deux valeurs environnantes du centile souhaité sera utilisée.
String
Calculer les statistiques circulaires
(Facultatif)

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

  • Décoché : les statistiques linéaires sont calculées. Il s’agit de l’option par défaut.
  • Coché : les statistiques des angles ou autres quantités cycliques, telles que la direction de la boussole en degrés, les journées ou la partie décimale des nombres réels, sont calculées.
Boolean
Circular Wrap Value (Valeur de repli circulaire)
(Facultatif)

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

Ce paramètre n’est pris en charge que si le paramètre Calculate Circular Statistics (Calculer les statistiques circulaires) est sélectionné.

Double
Process as Multidimensional (Traiter comme multidimensionnel)
(Facultatif)

Spécifie le mode de calcul des rasters en entrée s’il s’agit de rasters multidimensionnels.

  • Désactivé : les statistiques sont calculées à partir de la tranche actuelle du jeu de données multidimensionnelles. 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
Ajouter des attributs de zone aux entités en sortie
(Facultatif)

Indique si des attributs de zone supplémentaires provenant des zones en entrée seront ajoutés à la classe d’entités en sortie.

  • Désélectionné : seul le champ d’ID de zone provenant des zones en entrée est ajouté à la classe d’entités en sortie. Il s’agit de l’option par défaut.
  • Sélectionné : les attributs de zone supplémentaires provenant des zones en entrée sont ajoutés à la classe d’entités en sortie.
Boolean

ZonalCharacterization(in_zone_raster_or_features, in_value_rasters_statistics, out_statistics_table, {out_statistics_features}, {zone_field}, {ignore_nodata}, {percentile_values}, {percentile_interpolation_type}, {circular_calculation}, {circular_wrap_value}, {process_as_multidimensional}, {add_zone_attributes})
NomExplicationType de données
in_zone_raster_or_features

Jeu de données définissant les zones.

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

Raster Layer; Feature Layer
in_value_rasters_statistics
[in_value_rasters_statistics,...]

Collection de rasters dont les valeurs seront chacune synthétisées par une statistique. Les propriétés de ce paramètre sont les suivantes.

  • Raster : raster de valeurs en entrée.
  • Type de statistiques : statistiques qui seront calculées pour le raster.
  • Nom de champ : nom de champ pour le raster dans la table en sortie.

Une statistique est calculée pour toutes les cellules dans chaque raster de valeurs en entrée appartenant à la même zone que la cellule en sortie. Les types de statistiques suivants sont disponibles :

  • MEAN : valeur moyenne des cellules.
  • MAJORITY : valeur de cellule la plus fréquente.
  • MAJORITY_COUNT : fréquence de toutes les cellules contenant la valeur majoritaire.
  • MAJORITY_PERCENT : pourcentage de cellules contenant la valeur majoritaire.
  • MAXIMUM : valeur de cellule la plus élevée.
  • MEDIAN : valeur de cellule médiane ou intermédiaire.
  • MINIMUM : valeur de cellule la plus faible.
  • MINORITY : valeur de cellule la moins fréquente.
  • MINORITY_COUNT : fréquence de toutes les cellules contenant la valeur minoritaire.
  • MINORITY_PERCENT : pourcentage de cellules contenant la valeur minoritaire.
  • PERCENTILE : centile des valeurs de cellule. 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_values.
  • RANGE : différence entre la valeur la plus faible et la valeur la plus élevée.
  • STD : écart type des valeurs de cellule.
  • SUM : valeur totale des cellules.
  • VARIETY : nombre de valeurs de cellule uniques.

Les noms de champ dans la table de statistiques en sortie sont dérivés du nom de raster de valeurs et du type de statistiques par défaut.

Value Table
out_statistics_table

Table en sortie qui contiendra le récapitulatif des valeurs dans chaque zone pour tous les rasters de valeurs.

Le format de la table est déterminé par l'emplacement et le chemin d'accès en sortie. Par défaut, la sortie sera une table de géodatabase si elle se trouve dans un espace de travail Géodatabase, et une table dBASE si elle se trouve dans un espace de travail de fichier.

Table
out_statistics_features
(Facultatif)

Classe d’entités en sortie qui est créée en associant la table en sortie aux données de zone en entrée.

Feature Class
zone_field
(Facultatif)

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
ignore_nodata
(Facultatif)

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

  • DATADans 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 seront ignorées dans le calcul statistique. Il s’agit de l’option par défaut.
  • NODATADans une zone particulière, s’il existe des cellules NoData dans le raster de valeurs, elles ne seront pas ignorées et leur existence indique que les informations sont insuffisantes pour exécuter des calculs statistiques pour l’ensemble des cellules de cette zone. Par conséquent, toute la zone reçoit la valeur NoData.
Boolean
percentile_values
[percentile_values,...]
(Facultatif)

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

Les valeurs peuvent varier entre 0 et 100. Le centile n° 0 est équivalent à la statistique minimale tandis que le 100e centile équivaut au maximum Une valeur de 50 donne le même résultat que la statistique médiane.

Ce paramètre n’est pris en charge que si le paramètre statistics_type est défini sur PERCENTILE ou ALL.

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 type de pixel du raster de valeurs en entrée est de type 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é sera utilisée.
  • LINEARLa moyenne pondérée des deux valeurs environnantes du centile souhaité sera utilisée.
String
circular_calculation
(Facultatif)

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

  • ARITHMETICLes statistiques linéaires sont calculées. Il s’agit de l’option par défaut.
  • CIRCULARLes statistiques des angles ou autres quantités cycliques, telles que la direction de la boussole en degrés, les journées ou la partie décimale des nombres réels, sont calculées.
Boolean
circular_wrap_value
(Facultatif)

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

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

Double
process_as_multidimensional
(Facultatif)

Spécifie le mode de calcul des rasters en entrée s’il s’agit de rasters 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
add_zone_attributes
(Facultatif)

Indique si des attributs de zone supplémentaires provenant des zones en entrée seront ajoutés à la classe d’entités en sortie.

  • ZONE_FIELD_ONLYSeul le champ d’ID de zone provenant des zones en entrée est ajouté à la classe d’entités en sortie. Il s’agit de l’option par défaut.
  • ALLLes attributs de zone supplémentaires provenant des zones en entrée sont ajoutés à la classe d’entités en sortie.
Boolean

Exemple de code

Exemple 1 d’utilisation de la fonction ZonalCharacterization (fenêtre Python)

Cet exemple récapitule les valeurs de plusieurs rasters dans les zones définies par un shapefile de type polygone et enregistre les résultats dans une table et une classe d’entités.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"

outTable = ZonalCharacterization("zones.shp",
                "ValueRas1.tif MEAN ValueRas1_MEAN;ValueRas2.tif MAXIMUM ValueRas2_MAX;ValueRas3.tif STD ValueRas3_STD",
                "zonalcharacterout.dbf","featurestatout.shp","Id","DATA","",
                "AUTO_DETECT","ARITHMETIC","","CURRENT_SLICE","ZONE_FIELD_ONLY")
Exemple 2 d’utilisation de la fonction ZonalCharacterization (script autonome)

Cet exemple récapitule les valeurs de plusieurs rasters dans les zones définies par un raster de zone et enregistre les résultats dans une table et une classe d’entités.

# Name: ZonalCharacterization_Ex_standalone.py
# Description: Summarizes the values of multiple rasters within the zones
#              of another dataset and reports the results as a table.
# 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.tif"
zoneField = "Value"
inValueRas1 = "ValueRas1.tif"
inValueRas2 = "ValueRas2.tif"
inValueRas3 = "ValueRas3.tif"
outTable = "zonalcharactereizationout.dbf"
outFeatureClass = "featurestatout.shp"

# Execute ZonalCharacterization
outzonalchar = ZonalCharacterization(inZoneData, [[inValueRas1, "MEAN", 
            "ValueRas1_MEAN"], [inValueRas2, "STD", "ValueRas2_STD"], 
            [inValueRas3, "SUM", "ValueRas3_SUM"]], outTable, outFeatureClass, 
            zoneField, "NODATA", "", "", "ARITHMETIC", "", "CURRENT_SLICE", "ALL")

Rubriques connexes