Disponible avec une licence Spatial Analyst.
Résumé
Crée une table et un histogramme qui affichent la distribution de fréquence de valeurs de cellule sur la valeur en entrée pour chaque zone unique.
Illustration
Utilisation
Un histogramme zonal vous permet d’étudier la distribution de fréquence de valeurs dans un jeu de données au sein des classes d’un autre jeu de données. Exemples : distribution de la pente dans des classes d'utilisation du sol, distribution des précipitations dans des classes d'altitude ou distribution des crimes par secteurs de police.
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 taille de cellule est différente de Input raster or feature zone data (Données raster ou vecteur de zones en entrée) (in_zone_data dans Python) et que Input value raster (Raster de valeurs en entrée) (in_value_raster dans Python) est différent, la taille de cellule en sortie correspond au maximum des entrées (option Maximum Of Inputs) et le raster de valeurs en entrée (Input value raster) sera 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 (Input value raster) 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 utiliseront directement l’outil et ne seront pas ré-échantillonnées en interne au cours de l’exécution de l’outil.
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 (Input raster or feature zone data) (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 (option Input value raster) (in_value_raster dans Python).
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.
Le champ de zone (Zone field) (zone_field dans Python) doit être de type entier ou texte.
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.
Dans l'histogramme, le nombre de classes (bins) pour chaque zone est déterminé par le raster de valeurs en entrée.
- Si une couche est spécifiée, la symbologie de la couche définit le nombre de classes.
- Si un jeu de données est spécifié, par défaut, il y aura 256 classes, à moins que l'entrée soit de type entier avec moins de 26 valeurs uniques, auquel cas ce sera le nombre total de valeurs uniques.
Un diagramme d’histogramme zonal n’est pas généré par défaut. Pour qu'il soit créé lors de l'exécution de l'outil, spécifiez le Nom du diagramme en sortie.
Le diagramme est temporaire (en mémoire) uniquement. Pour en faire une version permanente, utilisez l’outil Enregistrer le diagramme pour créer un fichier graphique .grf, ou l’un des autres formats en sortie disponibles avec cet outil.
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.
Syntaxe
ZonalHistogram (in_zone_data, zone_field, in_value_raster, out_table, {out_graph})
Paramètre | Explication | Type de données |
in_zone_data | 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 |
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 | Valeurs de raster pour créer les histogrammes. | Raster Layer |
out_table | Fichier de table en sortie. 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 le chemin ne se trouve pas dans une géodatabase, le format est déterminé par l'extension. Si l'extension est .dbf, le format est dBASE. Si aucune extension n'est spécifiée, la sortie sera une table INFO. Le diagramme facultatif en sortie est créé à partir des informations de la table. | Table |
out_graph (Facultatif) | Nom du diagramme en sortie pour l'affichage. Le diagramme est temporaire. Pour le rendre définitif, utilisez l'outil Enregistrer le diagramme. | Graph |
Exemple de code
Premier exemple d'utilisation de l'outil ZonalHistogram (fenêtre Python)
Cet exemple crée une table d'histogramme zonal .dbf.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZonHisto = ZonalHistogram("zoneras", "zonfield", "valueras", "znhist_tbl.dbf")
Deuxième exemple d'utilisation de l'outil ZonalHistogram (script autonome)
Cet exemple crée une table d'histogramme zonal .dbf et un fichier graphique.
# Name: ZonalHistogram_Ex_02.py
# Description: Creates a zonal histogram output table and
# a graph showing the amount of value cells
# for each unique input zone.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inZoneData = "zonras"
zoneField = "zonfield"
inValueRaster = "valueras"
outTable = "C:/sapyexamples/output/zonehist_tbl.dbf"
outGraph = "zonehist_gra"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ZonalHistogram
ZonalHistogram(inZoneData, zoneField, inValueRaster, outTable, outGraph)
Environnements
- Validation automatique
- Taille de cellule
- Compression
- Espace de travail courant
- Etendue
- Transformations géographiques
- Masque
- Mot-clé de configuration en sortie
- Système de coordonnées en sortie
- Noms de champ qualifiés
- Espace de travail temporaire
- Raster de capture
- Taille de tuile
- Transférer les descriptions des domaines de champs
Informations de licence
- ArcGIS Desktop Basic: Requiert Spatial Analyst
- ArcGIS Desktop Standard: Requiert Spatial Analyst
- ArcGIS Desktop Advanced: Requiert Spatial Analyst