Résumé
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. Un sous-ensemble de données Lidar peut également être sélectionné en fonction de ses codes de classification, ses balises de classification et ses valeurs renvoyées en appliquant les filtres de points LAS souhaités via une couche de jeu de données LAS. Les filtres peuvent être définis par l'intermédiaire de la boîte de dialogue des propriétés de la couche ou de l'outil Créer une couche de jeu de données LAS.
-
La couche de jeu de données LAS peut également servir à contrôler la mise en application des entités de contraintes de surface qui peuvent être référencées par le jeu de données LAS.
Vous pouvez utiliser le type d'affinage Taille de fenêtre (thinning_type = "WINDOW_SIZE" dans Python) lorsque vous avez besoin de mieux prévoir l'affinage des points LAS au cours de la génération du TIN en sortie.
Syntaxe
LasDatasetToTin_3d (in_las_dataset, out_tin, {thinning_type}, {thinning_method}, {thinning_value}, {max_nodes}, {z_factor})
Paramètre | Explication | Type de données |
in_las_dataset | Jeu de données LAS à traiter. | LAS Dataset Layer |
out_tin | Jeu de données TIN qui va être généré. | TIN |
thinning_type (Facultatif) | Indique la technique de sélection d'un sous-ensemble de points de données LAS qui seront exportés vers le TIN.
| String |
thinning_method (Facultatif) | Indique la technique utilisée pour réduire les points de données LAS, qui influence l'interprétation de la valeur d'affinage. Les options disponibles dépendent du Type d'affinage sélectionné.
Indique la technique utilisée pour réduire les points de données LAS, qui influence l'interprétation de la valeur thinning_value. Les options disponibles dépendent du type thinning_type sélectionné.
| String |
thinning_value (Facultatif) | Si thinning_type = "WINDOW_SIZE", cette valeur représente la surface d'échantillonnage en fonction de laquelle le jeu de données va être divisé. Si thinning_type = "RANDOM" et thinning_method = "PERCENT", cette valeur représente le pourcentage des points du jeu de données LAS qui seront exportés vers le TIN. Si thinning_type = "RANDOM" et thinning_method = "NODE_COUNT", cette valeur représente le nombre total de points LAS qui peuvent être exportés vers le TIN. | 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 de 1, ce qui laisse les valeurs d’altitude inchangées. Ce paramètre est désactivé si la référence spatiale de la surface en entrée possède un datum Z avec une unité linéaire spécifiée. | Double |
Exemple de code
1er exemple d'utilisation de l'outil LasDatasetToTin (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.LasDatasetToTin_3d('se_baltimore.lasd', 'se_bmore', 'RANDOM', 15, 3.28)
2e exemple d'utilisation de l'outil LasDatasetToTin (script autonome)
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)
Environnements
Informations de licence
- ArcGIS Desktop Basic: Requiert 3D Analyst
- ArcGIS Desktop Standard: Requiert 3D Analyst
- ArcGIS Desktop Advanced: Requiert 3D Analyst