LAS vers multipoints (3D Analyst)

Niveau de licence :BasicStandardAdvanced

Récapitulatif

Crée des entités multi-points à l'aide d'un ou plusieurs fichiers LIDAR.

Illustration

LAS vers multi-points

Utilisation

Syntaxe

LASToMultipoint_3d (input, out_feature_class, average_point_spacing, {class_code}, {return}, {attribute}, {input_coordinate_system}, {file_suffix}, {z_factor}, {folder_recursion})
ParamètreExplicationType de données
input
[input,...]

Un ou plusieurs fichiers ou dossiers contenant des données au format LAS version 1.0, 1.1 ou 1.2. LAS est le format standard pour les données lidar.

Folder or File
out_feature_class

Classe d'entités en sortie.

Feature Class
average_point_spacing

Distance 2D moyenne entre les points dans les fichiers en entrée. Vous pouvez utiliser une approximation. Si des zones ont été échantillonnées à différentes densités, spécifiez l'espacement le plus petit. La valeur doit être entrée dans les unités de projection du système de coordonnées en sortie.

Double
class_code
[class_code,...]
(Facultatif)

Codes de classification à utiliser en tant que filtre de requête pour les points de données LAS. Les valeurs correctes sont comprises entre 1 et 32. Aucun filtre n'est appliqué par défaut.

Long
return
[return,...]
(Facultatif)

Valeurs de renvoi utilisées comme filtre de requête. Les valeurs de renvoi valides sont 1-5, LAST_RETURNS et ANY_RETURNS. La valeur par défaut est ANY_RETURNS.

String
attribute
[[keyword, name],...]
(Facultatif)

Un ou plusieurs attributs LAS à charger et à stocker et, si vous le souhaitez, noms de champs à utiliser. Par défaut, aucune valeur n'est définie. Les mots-clés d'attribut pris en charge sont INTENSITY, RETURN_NUMBER, NUMBER_OF_RETURNS, SCAN_DIRECTION_FLAG, EDGE_OF_FLIGHTLINE, CLASSIFICATION, SCAN_ANGLE_RANK, FILE_MARKER, USER_BIT_FIELD et GPS_TIME.

Value Table
input_coordinate_system
(Facultatif)

Système de coordonnées du fichier LAS en entrée. Il est détecté automatiquement à partir du fichier LAS. Si, pour une raison ou une autre, il n'est pas défini dans le fichier mais que vous le connaissez, spécifiez-le ici.

Coordinate System
file_suffix
(Facultatif)

Suffixe des fichiers à importer à partir d'un dossier en entrée. Ce paramètre est requis lorsqu'un dossier est spécifié en entrée.

String
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
folder_recursion
(Facultatif)

Passe en revue les sous-dossiers lorsqu'un dossier en entrée contenant des données est sélectionné dans un répertoire de sous-dossiers. La classe d'entités en sortie est générée avec une ligne pour chaque fichier rencontré dans la structure de répertoires.

  • NO_RECURSIONSeuls les fichiers LAS trouvés dans un dossier en entrée sont convertis en entités multi-points. Il s'agit du paramétrage par défaut.
  • RECURSIONTous les fichiers LAS résidant dans les sous-répertoires d'un dossier en entrée sont convertis en entités multi-points.
Boolean

Exemple de code

1er exemple d'utilisation de l'outil LASToMultipoint (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.LASToMultipoint_3d("001.las", "Test.gdb/feature_dataset/sample_1", 1.5, 
                        "2", "ANY_RETURNS", "INTENSITY", "Coordinate Systems"\
                        "/Projected Coordinate Systems/UTM/NAD 1983/NAD 1983 "\
                        "UTM Zone 17N.prj", "las", 1)
2e exemple d'utilisation de l'outil LASToMultipoint (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

Thèmes connexes

Informations de licence

ArcGIS for Desktop Basic: Requis 3D Analyst
ArcGIS for Desktop Standard: Requis 3D Analyst
ArcGIS for Desktop Advanced: Requis 3D Analyst
6/5/2014