Jeu de données LAS vers TIN (3D Analyst)
Récapitulatif
Exporte un réseau triangulé irrégulier (TIN) à partir d'un jeu de données LAS.
Illustration
Utilisation
Lorsqu'un jeu de données LAS est spécifié en entrée, tous les points de données qu'il référence dans les fichiers LAS sont traités.
La couche de jeux de données LAS peut être utilisée pour filtrer les points LAS par code de classe ou valeurs renvoyées. La couche peut être créée à l'aide de l'outil Faire une couche de jeux de données LAS ou en chargeant le jeu de données LAS dans ArcMap ou ArcScene, et en spécifiant les codes de classe souhaités et les valeurs renvoyées par le biais de la boîte de dialogue des propriétés de la couche.
-
Les options de sélection des points MINIMUM, MAXIMUM et AVERAGE utilisent une surface de taille de fenêtre automatiquement calculée, conçue pour produire un jeu de données TIN dont le nombre de nœuds peut être géré de manière appropriée par le système.
Syntaxe
Paramètre | Explication | Type de données |
in_las_dataset |
Jeu de données LAS en entrée. | LAS Dataset Layer |
out_tin |
Jeu de données TIN en sortie. | TIN |
thinning_type (Facultatif) |
Type d'affinage utilisé pour réduire les points de données LAS enregistrés sous la forme de nœuds dans le TIN obtenu.
| String |
thinning_method (Facultatif) |
La méthode d'affinage définit la technique utilisée pour réduire les points de données LAS et influence l'interprétation de la Valeur d'affinage. Les options disponibles dépendent du Type d'affinage sélectionné. Pour RANDOM :
Pour WINDOW_SIZE :
| String |
thinning_value (Facultatif) |
Valeur associée au Type d'affinage et à la Méthode d'affinage sélectionnés. Pour les méthodes d'affinage disponibles avec la méthode de sélection de points RANDOM :
Quelle que soit la méthode d'affinage WINDOW_SIZE utilisée, la valeur représente la surface résultant de la division de l’étendue du jeu de données LAS pour l'échantillonnage de points de données. | Double |
max_nodes (Facultatif) |
Nombre maximal de nœuds autorisés dans le TIN en sortie. La valeur par défaut est de 5 millions. | Double |
z_factor (Facultatif) |
Facteur par lequel les valeurs Z sont multipliées. Il permet généralement de convertir des unités linéaires Z afin d'apparier les unités linéaires XY. La valeur par défaut est 1, qui laisse les valeurs d'altitude inchangées. | Double |
Exemple de code
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.LasDatasetToTin_3d('se_baltimore.lasd', 'se_bmore', 'RANDOM', 15, 3.28)
L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome :
'''**********************************************************************
Name: LAS Dataset to TIN Example
Description: Create a TIN using bare earth lidar measurements. This
script is designed for use as a script tool.
**********************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
# Set Local Variables
lasD = arcpy.GetParameterAsText(0)
inLas = arcpy.GetParameterAsText(1) #input las files
surfCons = arcpy.GetParameterAsText(2) #input surface constraints
sr = arcpy.GetParameter(3) #spatial reference of las dataset
outTin = arcpy.GetParameterAsText(4)
thinningType = arcpy.GetParameterAsText(5)
thinningMethod = arcpy.GetParameterAsText(6)
thinningValue = arcpy.GetParameter(7)
zFactor = arcpy.GetParameter(8)
try:
arcpy.CheckOutExtension('3D')
# Execute CreateLasDataset
arcpy.management.CreateLasDataset(inLas, lasD, 'RECURSION', surfCons, sr)
lasLyr = arcpy.CreateUniqueName('lasdToTin', 'in_memory')
classCode = 2
returnValue = 'LAST'
# Execute MakeLasDatasetLayer
arcpy.management.MakeLasDatasetLayer(lasD, lasLyr, classCode, returnValue)
# Define extent of the area of interest
env.extent(1426057, 606477, 1449836, 623246)
# Execute LasDatasetToTin
arcpy.ddd.LasDatasetToTin(lasLyr, outTin, thinningType,
thinningMethod, thinningValue, zFactor)
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)