Disponible avec une licence Spatial Analyst.
Résumé
Calcule les mesures géométriques (superficie, périmètre, épaisseur et caractéristiques de l'ellipse) pour chaque zone d'un jeu de données et consigne les résultats dans une table.
Pour en savoir plus sur l'utilisation de la fonction Géométrie zonale
Illustration
VALUE AREA PERIMETER THICKNESS XCENTROID YCENTROID MAJORAXIS MINORAXIS ORIENTATION 0 5.0 14.0 0.5 2.300 2.100 2.338 0.681 60.714 1 5.0 14.0 0.5 1.900 2.100 2.668 0.596 126.061 2 3.0 8.0 0.5 3.167 2.167 1.286 0.743 135.000 4 2.0 6.0 0.5 0.500 1.000 1.128 0.564 90.000
Utilisation
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 les données de zone en entrée sont un jeu de données de classes d'entités, une taille de cellule doit être définie par le paramètre Taille de cellule de traitement ou dans l'environnement Taille de cellule.
Les calculs pour chaque zone sont enregistrés dans la table en sortie.
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.
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 la table en sortie, le champ de valeur précède toujours les champs qui contiennent les calculs zonaux en sortie. Le champ de valeur contient les valeurs des zones définies par le jeu de données de zone.
Les valeurs pour les calculs zonaux sont à virgule flottante.
Tous les résultats dans la table en sortie sont présentés en unités de carte, à l’exception de l’élément ORIENTATION qui est exprimé en degrés dans une plage allant de 0 à 180. L'orientation est définie sous forme d'un angle entre l'axe des x et le grand axe de l'ellipse. Les valeurs de l'angle d'orientation augmentent dans le sens antihoraire, en commençant par 0 à l'est (horizontal, à droite) et vont jusqu'à 90 lorsque le grand axe est vertical.
Si une zone particulière se compose d'une seule cellule ou d'un seul bloc carré de cellules, l'orientation de l'ellipse (qui est un cercle dans ce cas) est définie sur 90 degrés.
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
ZonalGeometryAsTable (in_zone_data, zone_field, out_table, {processing_cell_size})
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. Ce doit être un champ de type entier du jeu de données de zones. | Field |
out_table | Table en sortie récapitulant les valeurs de chaque zone. 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. | Table |
processing_cell_size (Facultatif) | Taille de cellule de traitement pour l'opération zonale. Il s'agit de la valeur contenue dans l'environnement, si spécifiquement définie. Si l'environnement n'est pas défini, la valeur par défaut de la taille de cellule est déterminée par le type des données de zone, comme suit :
| Analysis Cell Size |
Exemple de code
Premier exemple d'utilisation de l'outil ZonalGeometryAsTable (fenêtre Python)
Cet exemple détermine les mesures de géométrie pour chaque zone définie par le fichier de formes surfaciques en entrée.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZonalGeometryAsTable = ZonalGeometryAsTable("zones.shp", "Classes", "zonalgeomout", 0.2)
Deuxième exemple d'utilisation de l'outil ZonalGeometryAsTable (script autonome)
Cet exemple détermine les mesures de géométrie pour chaque zone définie par le fichier de formes surfaciques en entrée.
# Name: ZonalGeometryAsTable_Ex_02.py
# Description:Calculates for each zone in a dataset the specified geometry
# measure (area, perimeter, thickness, or the characteristics
# of ellipse) and reports the results as a table.
# 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 = "zones.shp"
zoneField = "Classes"
outTable = "zonalgeomout02.dbf"
processingCellSize = 0.2
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ZonalGeometryAsTable
outZonalGeometryAsTable = ZonalGeometryAsTable(inZoneData, zoneField, "AREA", cellSize)
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