Résumé
Calculez le déplacement entre deux surfaces pour déterminer si l'une d'entre elle est au-dessus, au-dessous ou identique à l'autre surface.
Pour en savoir plus sur le fonctionnement de l'outil Différence de surface
Utilisation
La sortie représente uniquement les portions superposées des surfaces en entrée.
Il est possible de générer un raster en sortie ou un TIN pour évaluer la différence Z entre la surface en entrée et celle de référence.
Il est préférable que les systèmes de coordonnée horizontaux et verticaux des surfaces en entrée soient les mêmes.
La classe d'entités en sortie comportera des entités surfaciques qui sépareront les régions de la surface en entrée selon qu'elles se trouvent au-dessus, au-dessous ou qu'elles sont identiques au plan de référence. La table attributaire de l'entité présente les champs suivants :
- Volume : volume d’espace entre l’entrée et la surface de référence liée par le polygone. Le volume sera toujours équivalent à 0 pour les zones où les deux surfaces sont identiques.
- SArea : zone surfacique de la surface en entrée liée par le polygone.
- Code : valeur numérique qui décrit la relation spatiale de la surface avec le plan de référence. -1 indique que la surface se trouve sous le plan de référence, 0 indique que la surface est identique au plan de référence et 1 indique que la surface se trouve au-dessus du plan de référence.
Syntaxe
arcpy.ddd.SurfaceDifference(in_surface, in_reference_surface, out_feature_class, {pyramid_level_resolution}, {reference_pyramid_level_resolution}, {out_raster}, {raster_cell_size}, {out_tin_folder}, {out_tin_basename}, method, reference_method, {extent}, boundary)
Paramètre | Explication | Type de données |
in_surface | La surface triangulée dont le déplacement relatif est évalué à partir de la surface de référence. | LAS Dataset Layer; Terrain Layer; TIN Layer |
in_reference_surface | La surface triangulée qui sera utilisée comme ligne de base pour déterminer le déplacement relatif de la surface en entrée. | LAS Dataset Layer; Terrain Layer; TIN Layer |
out_feature_class | Classe d'entités en sortie qui contient des triangles contigus et des parties de triangle de même classification, regroupés dans des polygones. Le volume englobé par chaque région de différence est répertorié dans la table attributaire. | Feature Class |
pyramid_level_resolution (Facultatif) | La résolution qui sera utilisée pour générer la surface en entrée. Pour un jeu de données de MNT, ceci correspondra à ses définitions des niveaux de pyramide, où la valeur par défaut 0 représente la résolution maximale. Pour un jeu de données LAS, cette valeur représente la longueur de chaque côté du carré qui sera utilisé pour éclaircir les retours de points LAS. | Double |
reference_pyramid_level_resolution (Facultatif) | La résolution qui sera utilisée pour générer la surface de référence. Pour un jeu de données de MNT, ceci correspondra à ses définitions des niveaux de pyramide, où la valeur par défaut 0 représente la résolution maximale. Pour un jeu de données LAS, cette valeur représente la longueur de chaque côté du carré qui sera utilisé pour affiner les retours de points LAS. | Double |
out_raster (Facultatif) | Surface raster en sortie dont les valeurs représentent la surface en entrée normalisée par rapport à la surface de référence. Les valeurs positives reflètent des zones où la surface en entrée est au-dessus de la surface de référence, alors que les valeurs négatives indiquent les zones où la surface en entrée est au-dessous de la surface de référence. Les valeurs du raster sont dérivées d'un TIN via l'interpolation linéaire. | Raster Dataset |
raster_cell_size (Facultatif) | La taille de la cellule du Raster en sortie. | Double |
out_tin_folder (Facultatif) | L’emplacement du dossier de stockage d'une ou plusieurs surfaces TIN dont les valeurs représentent la différence entre la surface en entrée et celle de référence. | Folder |
out_tin_basename (Facultatif) | Nom de base donné à chaque surface TIN en sortie. Si un jeu de données TIN ne suffit pas pour représenter les données, plusieurs TIN portant le même nom de base sont créés. | String |
method | La méthode utilisée pour sélectionner un point LAS dans chaque fenêtre d'analyse lors de l’application d’une résolution d'analyse pour affiner la surface du jeu de données LAS en entrée. Les points résultants seront utilisés pour construire une surface triangulée.
| String |
reference_method | La méthode utilisée pour sélectionner un point LAS dans chaque fenêtre d'analyse lors de l’application d’une résolution d'analyse pour affiner la surface du jeu de données LAS en entrée. Les points résultants seront utilisés pour construire une surface triangulée.
| String |
extent (Facultatif) | Spécifie l’étendue des données qui seront évaluées par cet outil. | Extent |
boundary | Entité surfacique définissant la zone d’intérêt que cet outil doit traiter. | Feature Layer |
Exemple de code
1er exemple d'utilisation de l'outil SurfaceDifference (fenêtre Python)
L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre Python.
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.SurfaceDifference_3d("sample.gdb/featuredataset/terrain", "sample.gdb/featuredataset/terrain2", "surface_diff.shp")
2e exemple d'utilisation de l'outil SurfaceDifference (script autonome)
L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome.
'''****************************************************************************
Name: SurfaceDifference Example
Description: This script demonstrates how to use the
SurfaceDifference tool.
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension("3D")
# Set environment settings
env.workspace = "C:/data"
# Set Local Variables
inSurface = "flood_tin"
inReference = "elev_tin"
# Ensure output name is unique
outPoly = arcpy.CreateUniqueName("difference.shp")
#Execute SurfaceDifference
arcpy.SurfaceDifference_3d(inSurface, inReference, outPoly)
del arcpy, inSurface, inReference, outPoly
Environnements
Informations de licence
- Basic: Requiert 3D Analyst
- Standard: Requiert 3D Analyst
- Advanced: Requiert 3D Analyst