Disponible avec une licence 3D Analyst.
Récapitulatif
Crée un jeu de données de réseau triangulé irrégulier (TIN).
Utilisation
Les TIN utilisés pour la modélisation des surfaces doivent être construits à l'aide de systèmes 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. En outre, les calculs basés sur la distance, comme la pente, le volume et la ligne de visée, peuvent entraîner des résultats trompeurs ou incorrects.
Envisagez de redimensionner la boîte de dialogue de l'outil si le paramètre Classe d'entités en entrée ne s'affiche pas clairement.
Songez à limiter à quelques millions le nombre maximal de nœuds chargés dans le TIN à partir des entités en entrée pour garantir une facilité d'utilisation et des performances d'affichage adéquates. Le nombre maximal de nœuds pris en charge par un TIN varie en fonction des ressources de mémoire libres et contiguës du système. Dix à quinze millions de nœuds représentent généralement la plus grande taille possible, dans des conditions d'exploitation normales sur les plates-formes Windows 32 bits. Les plus grands jeux de données sont mieux représentés avec un MNT.
Syntaxe
CreateTin_3d (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) | Référence spatiale du TIN en sortie. | Coordinate System |
in_features [[in_feature_class, height_field, SF_type, tag_value],...] (Facultatif) | Ajoutez les références à une ou plusieurs classes d'entités qui seront incluses dans le TIN. Pour chaque classe d'entités, vous devez définir les propriétés du mode d'utilisation afin de déterminer la surface. in_feature_class : classe d'entités dont les entités sont importées dans le TIN. height_field - Champ qui spécifie la source des valeurs d'altitude pour les entités. N'importe quel champ numérique de la table attributaire de l'entité peut être utilisé. Si l'entité prend en charge des valeurs Z, vous pouvez lire la géométrie de l'entité en sélectionnant l'option Shape.Z. Si aucune hauteur n'est requise, spécifiez le mot-clé <Aucun> pour créer des entités z-less dont l'altitude serait interpolée à partir de la surface. SF_type : le type de surface définit le mode d'incorporation de la géométrie importée à partir des entités dans la triangulation de la surface. Les options rigides ou malléables font référence à la représentation des tronçons d'entité sous la forme de ruptures de pente distinctes ou de changement graduel lorsque la surface triangulée est convertie en raster. Les mots-clés suivants sont disponibles :
tag_value : champ de nombre entier de la table attributaire de la classe d'entités, utilisé lorsque le type de surface est défini sur une option de remplissage de valeur. Le remplissage de balise représente la méthode d'attribution de triangle la plus simple, lorsque les limites sont appliquées dans la triangulation en tant que lignes de fracture. L'option par défaut est définie sur <Aucun>. | 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
- ArcGIS for Desktop Basic: Requis 3D Analyst
- ArcGIS for Desktop Standard: Requis 3D Analyst
- ArcGIS for Desktop Advanced: Requis 3D Analyst
Thèmes 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