Géométrie zonale (Spatial Analyst)
Récapitulatif
Calcule, pour chaque zone d'un jeu de données la mesure géométrique spécifiée (superficie, périmètre, épaisseur ou caractéristiques de l'ellipse).
Pour en savoir plus sur l'utilisation de la fonction Géométrie zonale
Illustration
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 jeux de données raster et de classes d'entités pour la zone en entrée.
Lorsque vous spécifiez les données de zone en entrée, le champ de zone par défaut est le premier champ valide disponible. S'il n'existe aucun autre champ valide, le champ ObjectID (par exemple, OID ou FID) est utilisé par défaut.
Si un champ réservé (par exemple, OBECTID, FID ou OID) est sélectionné pour le champ de zone, cela peut causer une certaine ambiguïté dans le résultat. Le résultat inclut le nom du champ réservé particulier nécessaire pour le type de format en sortie particulier, ainsi que le champ de zone spécifié. Si le champ spécifié a le même nom que le champ réservé pour le format en sortie particulier, le nom du champ de zone dans la sortie est modifié de façon à ce que tous les noms de champs dans le résultat soient uniques.
Remarque :Pour créer un champ de valeurs uniques qui n'a pas de nom réservé, utilisez les outils de géotraitement Ajouter un champ et Calculer un champ.
-
Le type de données du raster en sortie pour chacun des types de géométrie sera la virgule flottante.
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.
Syntaxe
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 |
geometry_type (Facultatif) |
Type de géométrie à calculer.
| String |
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 |
Valeur renvoyée
Nom | Explication | Type de données |
out_raster |
Raster de géométrie zonale en sortie. | Raster |
Exemple de code
Cet exemple détermine la surface 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"
outZonalGeometry = ZonalGeometry("zones.shp", "Classes", "AREA", 0.2)
outZonalGeometry.save("C:/sapyexamples/output/zonegeomout3")
Cet exemple détermine la surface pour chaque zone définie par le fichier de formes surfaciques en entrée.
# Name: ZonalGeometry_Ex_02.py
# Description:Calculates for each zone in a dataset the specified geometry
# measure (area, perimeter, thickness, or the characteristics
# of ellipse).
# 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"
cellSize = 0.2
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ZonalStatistics
outZonalGeometry = ZonalGeometry(inZoneData, zoneField, "AREA", cellSize)
# Save the output
outZonalGeometry.save("C:/sapyexamples/output/zonegeomout2")