Histogramme zonal (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 Input value raster (Raster de valeurs en entrée) (in_value_raster en Python) est spécifié.

    Lorsqu’il est spécifié 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’il est spécifié en tant que couche raster, les conditions suivantes s’appliquent :

    • Pour la symbologie Stretch (Étirer), le type d’étirement est utilisé et les valeurs sont divisées en 256 classes, de 1 à 256.
    • Pour la symbologie Classify (Classifier) ou Unique Values (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 Stretch (Étirer), Classify (Classifier) ou Unique Values (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 Discrete (Discrète) ou Vector Field (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 Données raster ou de vecteur de zones en entrée (in_zone_data dans Python) est un raster, ce dernier doit être de type entier.

  • Si la valeur Données raster ou de vecteur de zones 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 cellule des valeurs Données raster ou vecteur de zones en entrée et Raster de valeurs en entrée est différente, la taille de cellule en sortie correspond à la valeur Nombre maximal d’entrées et la valeur Raster de valeurs en entrée est utilisée comme raster de capture en interne. Si la taille de cellule est identique, mais que les cellules ne sont pas alignées, la valeur Raster de valeurs en entrée 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 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 Zone field (Champ de zone) (zone_field en Python) doit être de type entier ou texte.

    Lorsque vous spécifiez la valeur Données raster ou vecteur de zones en entrée, 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.

  • Un diagramme d'histogramme zonal n'est pas généré par défaut. Pour créer le graphique, sélectionnez le paramètre Zones as rows in output table (Zones en tant que lignes dans la table en sortie) (définissez le paramètre zones_as_rows sur ZONES_AS_ROWS en Python) et spécifiez un paramètre Output graph name (Nom du diagramme en sortie) (out_graph en Python). L’histogramme zonal ne peut être créé que dans l’application ArcGIS AllSource et il 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.

  • 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
Données raster ou 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 utilisées 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 Contents (Contenu), sous Standalone Tables (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.

  • Désactivé : les zones sont représentées en tant que champs. Il s’agit de l’option par défaut.
  • Activé : les zones sont représentées en tant que lignes.
Boolean

ZonalHistogram(in_zone_data, zone_field, in_value_raster, out_table, {out_graph}, {zones_as_rows})
NomExplicationType 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 utilisées 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.

  • ZONES_AS_FIELDSLes zones sont représentées en tant que champs. Il s’agit de l’option par défaut.
  • ZONES_AS_ROWSLes zones sont représentées en tant que lignes.
Boolean

Exemple de code

Premier exemple d'utilisation de l'outil ZonalHistogram (fenêtre Python)

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")
Deuxième exemple d'utilisation de l'outil ZonalHistogram (script autonome)

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)

Rubriques connexes