Croiser les superficies (ArcGIS Spatial Analyst)

Disponible avec une licence Spatial Analyst.

Synthèse

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

  • 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 l’une des entrées correspond à un raster, ce dernier doit être de type entier.

  • Si l’un des jeux de données en entrée est une classe d’entités, il est converti au préalable en interne avant que l’analyse ne soit effectuée, à l’aide de la Cell Size (Taille de cellule) et de l’alignement de cellules de l’autre raster en entrée.

  • Si les deux entrées sont des rasters et que leurs cellules ne sont pas alignées, les entrées seront rééchantillonnées pendant l’analyse. Si l’environnement Raster de capture n’a pas été spécifié de manière explicite, les cellules sont alignées en interne à l’aide des Input raster or feature class data (Données raster ou de classe d'entités en entrée) (in_class_data dans Python). Si les deux rasters ont la même taille de cellule et que les cellules sont alignées, il n’y aura pas de rééchantillonnage.

  • Si les deux jeux de données en entrée sont des classes d’entités, ils sont convertis en interne en un raster avant que l’analyse ne soit effectuée à l’aide de la Processing Cell Size (Taille de cellule de traitement) (processing_cell_size dans Python) ou à partir de l’environnement d’analyse raster, si ce dernier est spécifié.

  • Si Input raster or feature zone data (Données raster ou vecteur de zones en entrée) (in_zone_data dans Python) est une entité, pour l’une des entités de zone ne recouvrant aucun centre de cellule du raster de classe, ces zones ne sont pas converties dans le raster de zone interne. Ces zones ne seront par conséquent pas représentées en sortie. Vous pouvez le faire en déterminant une valeur appropriée pour l’environnement Cell Size (Taille de cellule) permettant de préserver le niveau de détail souhaité des zones d’entités, et en spécifiant ceci dans l’environnement d'analyse.

  • Si les entrées contiennent des entités superposées, l’analyse zonale est effectuée pour chaque entité individuelle.

  • Si des données ponctuelles ou linéaires sont utilisées comme classe d’entités en entrée, la surface intersectée par ces entités est consignée.

  • Lorsque vous spécifiez les données de zone ou de classe en entrée, le champ par défaut est le premier champ d’entier ou de texte disponible. S’il n’existe aucun autre champ valide, le champ ObjectID (par exemple, OID ou FID) est utilisé par défaut.

  • Le paramètre Taille de cellule de traitement peut être défini par une valeur numérique ou obtenu à partir d’un jeu de données raster existant. 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 de taille de cellule si celui-ci a été spécifié. Si la taille de cellule du paramètre ou la taille de cellule de l’environnement n’a pas été spécifiée, la taille de cellule en sortie par défaut est déterminée en fonction du type de jeu de données en entrée de la façon suivante :

    • 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 de 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 se trouve dans le système de coordonnées en sortie 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 sélectionnée du champ Méthode de projection de la taille de cellule.

  • Le paramètre Classes as rows in output table (Classes en tant que lignes dans la table en sortie) (classes_as_rows dans Python) vous permet de sélectionner le type de structure de table en sortie. Cochez ce paramètre (CLASSES_AS_ROWS dans Python) pour représenter les lignes des classes ou désélectionnez-le (CLASSES_AS_FIELDS dans Python) pour représenter les classes comme champs.

    Si les classes sont représentées dans des lignes, la sortie de la table peut être associée et interrogée pour extraire les informations sur les zones par rasters de zone ou de classe.

  • La sortie de cet outil est une table.

    Dans cette table, si le paramètre Classes as rows in output table (Classes en tant que lignes dans la table en sortie) est désélectionné (CLASSES_AS_FIELDS dans Python), les conditions suivantes sont remplies :

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

    Si le paramètre Classes as rows in output table (Classes en tant que lignes dans la table en sortie) est coché (CLASSES_AS_ROWS dans Python), les conditions suivantes sont remplies :

    • Il existe un enregistrement pour chaque valeur unique du jeu de données de zone qui possède une valeur unique du jeu de données de classe.
    • Des champs individuels identifient le champ de zone, le champ de classe, le nombre et la superficie de chaque classe dans chaque zone.

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

Paramètres

ÉtiquetteExplicationType de données
Données raster ou vecteur de zones en entrée

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
Champ de zone

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
Données raster ou vecteur de classe en entrée

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
Champ de classement

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
Table en sortie
(Facultatif)

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 dans un espace de travail de géodatabase, et une table dBASE dans un espace de travail de fichier

Table
Taille de cellule de traitement
(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
Classes as rows in output table (Classes en tant que lignes dans la table en sortie)
(Facultatif)

Spécifie le mode de représentation des valeurs du raster de classe en entrée dans la table en sortie.

  • Désélectionnée : les classes sont représentées sous forme de champs. Il s’agit de l’option par défaut.
  • Cochée : les classes sont représentées sous forme de lignes.
Boolean

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

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
(Facultatif)

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 dans un espace de travail de géodatabase, et une table dBASE dans un espace de travail de fichier

Table
processing_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
classes_as_rows
(Facultatif)

Spécifie le mode de représentation des valeurs du raster de classe en entrée dans la table en sortie.

  • CLASSES_AS_FIELDSLes classes sont représentées sous forme de champs. Il s’agit de l’option par défaut.
  • CLASSES_AS_ROWSLes classes sont représentées sous forme de lignes.
Boolean

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

# Execute TabulateArea
TabulateArea(inZoneData, zoneField, inClassData, classField, outTable,
             processingCellSize)