Résumé
Crée un jeu de données de réseau triangulé irrégulier (TIN).
Utilisation
-
Evitez de créer un TIN avec un système de coordonnées géographiques, car la règle de triangulation de Delaunay ne peut pas être appliquée de manière efficace lorsque les unités XY sont exprimées dans des coordonnées sphériques.
-
Le type d'entité de surface détermine dans quelle mesure les entités en entrée vont contribuer à la définition de la surface triangulée.
- Les entités ponctuelles peuvent être spécifiées en tant que points cotés, qui offrent des nœuds de données dont les valeurs Z sont utilisées dans la triangulation de la surface.
- Les entités linéaires peuvent être spécifiées en tant que points de masse et lignes de fracture, qui représentent les emplacements le long d’une surface avec des discontinuités linéaires au niveau de la pente (par exemple, des lignes de crête, des lignes de rivage, des tronçons de chaussée, des emprises de bâtiment, etc.).
- Les entités surfaciques peuvent également être spécifiées en tant que points de masse et lignes de fracture, ainsi que les entités de découpage qui définissent la zone de données, remplacent les entités qui définissent les régions par des valeurs Z constantes (p. ex. plans d’eau, par exemple) et effacent les entités qui indiquent des surfaces internes où aucune donnée n’est présente.
-
Le nombre maximal de nœuds pris en charge par un TIN dépend principalement des ressources de mémoire libres et contiguës disponibles sur l'ordinateur. Limitez le nombre total de nœuds à moins de 6 millions pour garantir la réactivité des performances d'affichage et une facilité d'utilisation. Il est préférable de gérer les surfaces triangulées plus importantes à l'aide d'un jeu de données de MNT à plusieurs résolutions.
-
Définissez le paramètre d'environnement Version de stockage TIN sur PRE_10.0 si le TIN en cours de création sera utilisé dans des versions d'ArcGIS for Desktop antérieures à 10.0.
Syntaxe
arcpy.ddd.CreateTin(out_tin, {spatial_reference}, {in_features}, {constrained_delaunay})
Paramètre | Explication | Type de données |
out_tin | Jeu de données TIN qui va être généré. | TIN |
spatial_reference (Facultatif) | La référence spatiale du TIN en sortie doit être définie sur un système de coordonnées projetées. Il est déconseillé d'utiliser des systèmes de coordonnées géographiques, car la triangulation Delaunay ne peut pas être garantie lorsque les coordonnées XY sont exprimées en unités angulaires, ce qui peut avoir un effet négatif sur la précision des calculs basés sur la distance, comme la pente, le volume et la ligne de visée. | Coordinate System |
in_features [[in_features, height_field, SF_type, tag_value],...] (Facultatif) | Les entités en entrée et leurs propriétés associées qui contribueront à la définition du TIN.
| Value Table |
constrained_delaunay (Facultatif) | Spécifie la technique de triangulation utilisée le long des lignes de fracture du TIN.
| Boolean |
Exemple de code
1er exemple d'utilisation de l'outil Créer un TIN (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.CreateTin_3d("NewTIN", "Coordinate Systems/Projected Coordinate Systems/State Plane/NAD 1983 (Feet)/NAD 1983 StatePlane California II FIPS 0402 (Feet).prj", "points.shp Shape.Z masspoints", "constrained_delaunay")
2e exemple d'utilisation de l'outil Créer un TIN (script autonome)
L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome.
'''****************************************************************************
Name: Define Data Boundary of LAS File
Description: This script demonstrates how to delineate data boundaries of
LAS files with irregularly clustered points. It is intended for
use as a script tool with one input LAS file.
****************************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
# Set local variables
inLas = arcpy.GetParameterAsText(0) #input LAS file
ptSpacing = arcpy.GetParameterAsText(1) # LAS point spacing
classCode = arcpy.GetParameterAsText(2) # List of integers
returnValue = arcpy.GetParameterAsText(3) # List of strings
outTin = arcpy.GetParameterAsText(4) # TIN created to delineate data area
outBoundary = arcpy.GetParameterAsText(5) # Polygon boundary file
try:
arcpy.CheckOutExtension("3D")
# Execute LASToMultipoint
arcpy.AddMessage("Creating multipoint features from LAS...")
lasMP = arcpy.CreateUniqueName('lasMultipoint', 'in_memory')
arcpy.ddd.LASToMultipoint(inLas, LasMP, ptSpacing, class_code,
"ANY_RETURNS", "", sr, inFormat, zfactor)
# Execute CreateTin
arcpy.AddMessage("Creating TIN dataset...")
arcpy.ddd.CreateTin(outTin, sr, "{0} Shape.Z masspoints"\
.format(lasMP), "Delaunay")
# Execute CopyTin
arcpy.AddMessage("Copying TIN to delineate data boundary...")
arcpy.ddd.CopyTin(outTin, "{0}_copy".format(outTin))
# Execute DelineateTinDataArea
arcpy.AddMessage("Delineating TIN boundary...")
maxEdge = ptSpacing * 4
arcpy.ddd.DelineateTinDataArea(outTin, maxEdge, "PERIMETER_ONLY")
# Execute TinDomain
arcpy.AddMessage("Exporting data area to polygon boundary...")
arcpy.ddd.TinDomain(outTin, outBoundary, "POLYGON")
arcpy.AddMessage("Finished")
arcpy.CheckInExtension("3D")
except arcpy.ExecuteError:
print arcpy.GetMessages()
except:
# Get the traceback object
tb = sys.exc_info()[2]
tbinfo = traceback.format_tb(tb)[0]
# Concatenate error information into message string
pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
.format(tbinfo, str(sys.exc_info()[1]))
msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
# Return python error messages for script tool or Python Window
arcpy.AddError(pymsg)
arcpy.AddError(msgs)
Environnements
Informations de licence
- Basic: Requiert 3D Analyst
- Standard: Requiert 3D Analyst
- Advanced: Requiert 3D Analyst
Rubriques connexes
- Vue d'ensemble du jeu d'outils Gestion des données
- Notions de base relatives aux surfaces
- Formats de surface
- Concepts de surface TIN
- Qu'est-ce qu'une surface TIN ?
- Notions de base relatives à la création de surfaces TIN
- Notions de base relatives à la mise à jour de surfaces TIN
- Mise à jour des entités d'un TIN à l'aide du géotraitement
- Outils de géotraitement pour les surfaces TIN