Disponible avec une licence Spatial Analyst.
Résumé
Calcule les superficies croisées entre deux jeux de données et génère une table en sortie.
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 entités et un raster pour la zone en entrée.
Si les Input raster or feature zone data (données raster ou de zone d'entités en entrée) (in_zone_data dans Python) ou les Input raster or feature class data (données raster ou de classe d'entités en entrée) (in_class_data dans Python) sont un raster, ce doit être un raster entier.
Si les deux entrées sont des rasters et que leurs tailles de cellules sont différentes, la taille de la cellule de sortie sera le Maximum Of Inputs (maximum d'entrées). Les Input raster or feature class data (données raster ou de classe d'entités en entrée) (in_class_data en Python) sont utilisées comme Snap Raster (raster de capture) en interne. Si la taille de la cellule est la même, mais les cellules ne sont pas alignées, les données de la classe serviront 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 les classes et les zones en entrée sont deux rasters de même taille de cellule et les cellules sont alignées, elles sont utilisées directement dans l'outil. Elles ne seront pas rééchantillonnées en interne pendant l'exécution de l'outil.
Si les Input raster or feature zone data (données raster ou de zone d'entités en entrée) (in_zone_data dans Python) est une fonctionnalité et les Input raster or feature class data (données raster ou de classe d'entités en entrée) (in_class_data dans Python) sont un raster, les données de la zone seront converties en raster interne, à l'aide de la taille et l'alignement de cellules des données de classe.
Si les Input raster or feature zone data (données raster ou de classe d'entités en entrée) (in_class_data dans Python) est une fonctionnalité et les Input raster or feature class data (données raster ou de zone d'entités en entrée) (in_zone_data dans Python) sont un raster, les données de la classe seront converties en raster interne, à l'aide de la taille et l'alignement de cellules des données de zone.
Si les deux entrées sont des entités, l'étendue sera le Minimum Of Inputs (minimum d'entrées), la taille de cellule correspond à la valeur la plus faible entre la largeur et la hauteur de l'étendue du jeu de classes d'entités zones dans la référence spatiale en sortie, divisée par 250.
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 de zone ou de classe en entrée, le champ par défaut est le premier entier ou champ de texte disponible. S’il n’existe aucun autre champ valide, le champ ObjectID (par exemple, OID ou FID) est utilisé par défaut.
Si un point ou une ligne est utilisé comme Input raster or feature class data (raster d'entrée ou données de classe d'entités) (in_class_data dans Python), la surface d'intersection de ces entités est consignée.
La sortie de l'outil Croiser les superficies est une table.
Dans cette table :
- Il y aura un enregistrement pour chaque valeur unique du jeu de données de zone.
- Il y aura un champ pour chaque valeur unique du jeu de données de classe.
- Chaque enregistrement stockera la surface de chaque classe dans chaque zone.
Reportez-vous à la rubrique Utilisation de l'outil Croiser les superficies pour obtenir des explications concernant certains problèmes qui peuvent se poser avec cet outil, ainsi que des suggestions sur la manière d'y remédier.
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
TabulateArea (in_zone_data, zone_field, in_class_data, class_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. Il peut s'agir d'un champ de type entier ou chaîne du jeu de données de zones. | Field |
in_class_data | Jeu de données définissant les classes dont les superficies seront récapitulées dans chaque zone. La classe en entrée peut être une couche raster d'entiers ou une couche d'entités. | Raster Layer; Feature Layer |
class_field | Champ contenant les valeurs de classe. Il peut s'agir d'un champ de type entier ou chaîne des données de classes en entrée. | Field |
out_table | Table en sortie contenant le récapitulatif des superficies de chaque classe dans 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
Exemple 1 d'utilisation de l'outil TabulateArea (fenêtre Python)
Cet exemple retourne une table avec la surface de chaque valeur de classe contenue dans chaque zone.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
TabulateArea("zonedata.shp", "IDStr", "valueraster", "VALUE",
"C:/sapyexamples/output/areatable.dbf", 2)
Deuxième exemple d'utilisation de l'outil TabulateArea (script autonome)
Cet exemple retourne une table avec la surface de chaque valeur de classe contenue dans chaque zone.
# Name: TabulateArea_Ex_02.py
# Description: Calculates cross tabulated areas between two datasets.
# 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"
env.extent = "classgrid"
env.snapRaster = "classgrid"
# Set local variables
inZoneData = "zonedata.shp"
zoneField = "IDStr"
inClassData = "valueraster"
classField = "VALUE"
outTable = "C:/sapyexamples/output/areatable02.dbf"
processingCellSize = 2
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute TabulateArea
TabulateArea(inZoneData, zoneField, inClassData, classField, outTable,
processingCellSize)
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