Caractérisation zonale (Spatial Analyst)

Disponible avec une licence 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 Moyenne, Majorité, Total de majorités, Pourcentage de majorités, Maximum, Médiane, Minimum, Minorité, Total de minorités, Pourcentage de minorités, Centile, Plage, Écart type, Somme et Variété. Le calcul de statistiques circulaires prend en charge les options Moyenne, Majorité, Minorité, Écart type et Variété.

    Si les données sont de type flottant, le calcul de statistiques arithmétiques prend en charge les options Moyenne, Maximum, Médiane, Minimum, Centile, Plage, Écart type et Somme. Le calcul de 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 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 Calculer les statistiques circulaires (circular_calculation = "CIRCULAR" dans Python), puis spécifiez une valeur pour le paramètre 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 jeux de données raster multidimensionnels pris en charge incluent les couches raster multidimensionnelles, les mosaïques, les services d’imagerie et les CRF Esri.

  • 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 pour chaque valeur Rasters de valeurs en entrée.
    • 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.

  • 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 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
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 dans un espace de travail de géodatabase, et une table dBASE 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 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
Valeurs de centile
(Facultatif)

Centile à 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 ou 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 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é 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)

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
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
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 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
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 dans un espace de travail de géodatabase, et une table dBASE 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 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
percentile_values
[percentile_values,...]
(Facultatif)

Centile à 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 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 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é sera utilisée.
  • LINEARLa moyenne pondérée des deux valeurs environnantes du centile souhaité sera utilisée.
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
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
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")

Informations de licence

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

Rubriques connexes