Résumé
Redéfinit la zone de données, ou zone d'interpolation, d'un réseau triangulé irrégulier (TIN) à partir de la longueur du segment de triangle.
Illustration
Utilisation
Cet outil n’élimine aucune des données source. Il modifie le TIN en entrée en reclassifiant ses arêtes pour qu’elles soient incluses ou exclues de la zone d’interpolation. Si vous souhaitez conserver une version intacte du TIN qui va être traité, créez un double du jeu de données à l’aide de l’outil Copier TIN avant d’exécuter cet outil.
Toutes les arêtes des triangles sont évaluées avant le début de la classification de la longueur des arêtes. Cette opération annulera toute classification de zone de données existante. Si le résultat provenant d'une exécution n'est pas satisfaisant, le TIN obtenu peut être de nouveau exécuté sans qu'il soit nécessaire d'obtenir les données d'origine.
Les longueurs de segment extrêmes produites par des caractéristiques concaves dans les mesures source du TIN peuvent être supprimées de la zone des données valide du TIN à l’aide de cet outil. Les triangles dont un segment excède la longueur de segment maximale (champ Maximum Edge Length) sont masqués en tant que zones NoData.
La méthode (champ Method) détermine les triangles qui sont évalués.
Syntaxe
arcpy.ddd.DelineateTinDataArea(in_tin, max_edge_length, {method})
Paramètre | Explication | Type de données |
in_tin | Jeu de données TIN à traiter. | TIN Layer |
max_edge_length | Distance bidimensionnelle qui définit la longueur maximale d’un segment de triangle TIN dans la zone de données du TIN. Les triangles dont un ou plusieurs segments excèdent cette valeur seront considérés comme étant à l'extérieur de la zone d'interpolation du TIN et ne seront pas représentés dans des cartes ni utilisés dans une analyse de surface. | Double |
method (Facultatif) | Tronçons TIN qui seront évalués lors de la délimitation de la surface des données du TIN.
| String |
Sortie dérivée
Nom | Explication | Type de données |
derived_out_tin | TIN mis à jour. | Couche du TIN |
Exemple de code
1er exemple d'utilisation de l'outil DelineateTinDataArea (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.DelineateTinDataArea_3d("elevation", 10, "PERIMETER_ONLY")
2e exemple d'utilisation de l'outil DelineateTinDataArea (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