| Étiquette | Explication | Type de données |
Données 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 à utiliser pour créer l’histogramme. | Raster Layer |
Table en sortie | 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 dans un espace de travail de géodatabase, et une table dBASE dans un espace de travail de fichier Le diagramme facultatif en sortie est créé à partir des informations de la table. | Table |
Nom du diagramme en sortie (Facultatif) | Nom du diagramme en sortie pour l'affichage. Le diagramme apparaît dans la fenêtre Contenu, sous Tables autonomes. | Graph |
Zones en tant que lignes dans la table en sortie (Facultatif) | Spécifie la façon dont les valeurs du raster de valeurs en entrée seront représentées dans la table en sortie.
| Boolean |
Disponible avec une licence Spatial Analyst.
Synthèse
Crée une table et un histogramme qui montrent la distribution de fréquence des valeurs de cellule dans les valeurs en entrée pour chaque zone unique.
Utilisation
Un histogramme zonal permet de rechercher la distribution de fréquence des valeurs d’un jeu de données dans les 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.
Le nombre de classes d’un histogramme zonal dépend de la manière dont la valeur du paramètre Raster de valeurs en entrée (in_value_raster dans Python) est spécifiée.
Lorsqu’elle est spécifiée en tant que jeu de données raster, les conditions suivantes s’appliquent :
- Dans le cas d’un raster de type entier comportant moins de 25 valeurs uniques, le nombre de classes correspond au nombre de valeurs uniques du raster de valeurs.
- Dans le cas d’un raster de type entier comportant plus de 25 valeurs uniques, les valeurs sont divisées en 256 classes, de 1 à 256. Si le nombre de valeurs uniques est inférieur à 256, certaines classes ont pour fréquence 0.
- Dans le cas d’un raster à virgule flottante, les valeurs sont divisées en 256 classes, de 1 à 256.
Lorsqu’elle est spécifiée en tant que couche raster, les conditions suivantes s’appliquent :
- Pour la symbologie Étirer, le type d’étirement est utilisé et les valeurs sont divisées en 256 classes, de 1 à 256.
- Pour la symbologie Classifier ou Valeurs uniques, le nombre de classes correspond aux classes ou aux valeurs uniques de la symbologie.
- L’analyse zonale est effectuée dans la plage de valeurs spécifiée par la symbologie Étirer, Classifier ou Valeurs uniques. Toute valeur du raster de valeurs qui ne s’affiche par dans la symbologie est ignorée par le calcul.
- Pour la symbologie Discrète ou Champ vectoriel, l’analyse zonale ignore la symbologie. L’analyse est effectuée en ne tenant compte que du type de données et du nombre de valeurs uniques dans le raster de valeurs, comme lorsque le raster de valeurs en entrée est spécifié en tant que jeu de données raster.
- L’histogramme zonal affiche les valeurs de classe des étiquettes de symbologie de la couche raster de valeurs.
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 Données raster ou d’entités de zone en entrée (in_zone_data dans Python) est un raster, il doit s’agir d’un raster de type entier.
Si la valeur du paramètre Données raster ou d’entités de zone en entrée est une entité, elle est convertie en raster en interne avec la taille de cellule et l’alignement des cellules du paramètre Raster de valeurs en entrée (in_value_raster dans Python).
Si la taille de la cellule, l’alignement de la cellule ou la référence spatiale des valeurs des paramètres Données raster ou vecteur de zones en entrée et Raster de valeurs en entrée sont différents, la valeur Raster de valeurs en entrée est utilisée comme taille de cellule, raster de capture et système de coordonnées en sortie en interne. Ces cas déclenchent 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 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.
La valeur du paramètre Champ de zone (zone_field dans Python) doit être de type entier ou texte.
Lorsque vous spécifiez la valeur du paramètre Données raster ou d’entités de zone en entrée, le champ de zone par défaut est le premier champ de type 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.
Aucun diagramme de type histogramme zonal n’est généré par défaut. Pour créer le diagramme, sélectionnez le paramètre Zones en tant que lignes dans la table en sortie (définissez le paramètre zones_as_rows sur ZONES_AS_ROWS dans Python) et spécifiez une valeur pour le paramètre Nom du diagramme en sortie (paramètre out_graph dans Python). Le diagramme de type histogramme zonal peut être créé uniquement dans ArcGIS Pro et n’est pas pris en charge à partir d’un script autonome.
Lorsque vous créez la table en sortie en désélectionnant le paramètre Zones as rows in output table (Zones en tant que lignes dans la table en sortie), le champ d’étiquette contient les valeurs issues du jeu de données raster de valeurs ou les étiquettes de symbologie de la couche, en fonction de la manière dont le raster de valeurs en entrée a été spécifié.
Lorsque vous créez la table en sottie en cochant le paramètre Zones as rows in output table (Zones en tant que lignes dans la table en sortie), le champ d’étiquette contient les valeurs issues du raster de zones.
Si les valeurs de fréquence en sortie dépassent la capacité du type de données des champs long (entier 32 bits), le champ dans la table en sortie est automatiquement mis à jour avec le type de données des champs entier très grand (entier 64 bits), à condition que celui-ci soit pris en charge par le format de table en sortie spécifié. Si le format en sortie ne prend pas en charge le type de données des champs entier très grand, la valeur de fréquence en sortie renvoyée est -9999. Le type de données des champs entier très grand est pris en charge dans les tables de géodatabase fichier et de géodatabase d’entreprise.
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
ZonalHistogram(in_zone_data, zone_field, in_value_raster, out_table, {out_graph}, {zones_as_rows})| Nom | Explication | Type 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 à utiliser pour créer l’histogramme. | 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 dans un espace de travail de géodatabase, et une table dBASE dans un espace de travail de fichier 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. | Graph |
zones_as_rows (Facultatif) | Spécifie la façon dont les valeurs du raster de valeurs en entrée seront représentées dans la table en sortie.
| Boolean |
Exemple de code
Cet exemple crée une table d’histogramme zonal .dbf et un fichier graphique.
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZonalHist = ZonalHistogram("zoneras", "zonfield", "valueras", "znhist_tbl.dbf",
"znhist_graphl", "ZONES_AS_ROWS")Cet exemple crée une table d’histogramme zonal .dbf.
# Name: ZonalHistogram_Ex_02.py
# Description: Creates a zonal histogram output table
# 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 *
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inZoneData = "zonras"
zoneField = "zonfield"
inValueRaster = "valueras"
outTable = "C:/sapyexamples/output/zonehist_tb2.dbf"
# Execute ZonalHistogram
ZonalHistogram(inZoneData, zoneField, inValueRaster, outTable)Environnements
Informations de licence
- Basic: Nécessite Spatial Analyst
- Standard: Nécessite Spatial Analyst
- Advanced: Nécessite Spatial Analyst
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?