Géométrie zonale (Spatial Analyst)

Disponible avec une licence Spatial Analyst.

Résumé

Calcule la mesure géométrique spécifiée (superficie, périmètre, épaisseur ou caractéristiques de l'ellipse) pour chaque zone d'un jeu de données.

Pour en savoir plus sur l'utilisation de la fonction Géométrie zonale

Illustration

Illustration de l'outil Géométrie zonale
OutRas = ZonalGeometry (InRas1, « VALUE », « AREA »)

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.

  • La taille de cellule en sortie (champ Output cell size) peut être définie par une valeur numérique ou obtenue à partir d’un jeu de données raster. Si la taille de cellule n’a pas été spécifiée de manière explicite comme étant la valeur du paramètre, elle est dérivée de l’environnement Cell Size (Taille de cellule) si celui-ci a été spécifié. Lorsque ni le paramètre ni l’environnement de taille de cellule n’a été spécifié, la taille de cellule en sortie par défaut est déterminée sur le type de jeu de données, comme suit :

    • Si le jeu de données en entrée est un raster, c’est la taille de cellule du jeu de données qui est utilisée.
    • Si le jeu de données en entrée est une entité et que l’environnement Snap Raster (Raster de capture) a été défini, c’est la taille de cellule du raster de capture qui est utilisée. Si aucun raster de capture n’a été défini, la taille de cellule est calculée à partir de la valeur la plus faible entre la largeur et la hauteur de l’étendue divisée par 250, où l’étendue correspond au système de coordonnées en sortie (option Output Coordinate System) spécifié dans l’environnement.
  • Si la taille de cellule est spécifiée à l’aide d’une valeur numérique, l’outil l’utilise directement pour le raster en sortie.

    Si la taille de cellule est spécifiée à l’aide d’un jeu de données raster, le paramètre affiche le chemin du jeu de données raster au lieu de la valeur de la taille de cellule. La taille de cellule de ce jeu de données raster sera utilisée directement dans l’analyse, à condition que la référence spatiale du jeu de données soit identique à la référence spatiale en sortie. Si la référence spatiale du jeu de données diffère de la référence spatiale en sortie, elle sera projetée d’après la valeur du champ Cell Size Projection Method (Méthode de projection de la taille de cellule).

  • 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.

  • 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.

  • 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

ZonalGeometry(in_zone_data, zone_field, {geometry_type}, {cell_size})
ParamètreExplicationType 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.

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.

  • AREASuperficie de chaque zone.
  • PERIMETERPérimètre de chaque zone.
  • THICKNESSPoint le plus profond (ou épais) à l'intérieur de la zone par rapport aux cellules environnantes.
  • CENTROIDDétermine les centroïdes de chaque zone.
String
cell_size
(Facultatif)

La taille de cellule du jeu de données raster en sortie sera créée.

Ce paramètre peut être défini par une valeur numérique ou obtenu à partir d’un jeu de données raster. Si la taille de cellule n’est pas explicitement spécifiée en tant que valeur de paramètre, la valeur de la taille de cellule de l’environnement sera utilisée dans la mesure où elle est définie. Dans le cas contraire, le calcul fera appel à des règles supplémentaires pour la déterminer à partir d’autres données en entrée. Pour en savoir plus, consultez la section relative à l’utilisation.

Analysis Cell Size

Valeur renvoyée

NomExplicationType de données
out_raster

Raster de géométrie zonale en sortie.

Raster

Exemple de code

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

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

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

# Execute ZonalStatistics
outZonalGeometry = ZonalGeometry(inZoneData, zoneField, "AREA", cellSize)  

# Save the output 
outZonalGeometry.save("C:/sapyexamples/output/zonegeomout2")

Informations de licence

  • Basic: Requiert Spatial Analyst
  • Standard: Requiert Spatial Analyst
  • Advanced: Requiert Spatial Analyst

Rubriques connexes