Croiser les superficies (Spatial Analyst)

Récapitulatif

Calcule les superficies croisées entre deux jeux de données et génère une table en sortie.

Illustration

Illustration de l'outil Croiser les superficies
TabulateArea(ZoneRas, "VALUE", ClassRas, "VALUE", Tabarea1.dbf, 1)

Utilisation

Syntaxe

TabulateArea (in_zone_data, zone_field, in_class_data, class_field, out_table, {processing_cell_size})
ParamètreExplicationType 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.

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 :

  • Si le jeu de données de zones est un raster, la taille de cellule correspond à celle du raster de zones.
  • Si le jeu de données de zones est une entité, 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.

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

Rubriques connexes

Informations de licence

ArcView : Obligatoire Spatial Analyst
ArcEditor : Obligatoire Spatial Analyst
ArcInfo : Obligatoire Spatial Analyst

7/10/2012