Skip To Content

LAS extrahieren

Zusammenfassung

Extrahiert LAS- oder ZLAS-Dateien, die ein Ausschneidepolygon oder eine Ausschneideausdehnung überschneiden.

Abbildung

LAS extrahieren

Verwendung

  • Wenn ein LAS-Dataset als Eingabe festgelegt wird, werden alle Datenpunkte in den LAS-Dateien, auf die es verweist, verarbeitet. Eine Teilmenge der LIDAR-Daten kann auch nach ihren eigenen Klassifizierungscodes, Klassifizierungs-Flags und Rückgabewerten ausgewählt werden, indem die gewünschten LAS-Punktfilter über einen LAS-Dataset-Layer angewendet werden. Filter können über das Dialogfeld "Layer-Eigenschaften" oder mit dem Werkzeug LAS-Dataset-Layer erstellen definiert werden.

  • Sie haben die Möglichkeit, dieses Werkzeug zu verwenden, um eine Teilmenge von LIDAR-Daten zu extrahieren, die in den Quell-LIDAR-Dateien erfasst sind. Wenn Sie beispielsweise in einem Bereich arbeiten, der durch eine Polygongrenze definiert ist, können Sie die LAS-Dateien extrahieren, indem Sie das Polygon als Grenz-Feature verwenden.

  • Um LAS-Dateien neu zu projizieren, legen Sie den gewünschten Raumbezug in den Umgebungseinstellungen des Ausgabe-Koordinatensystems fest.

  • Wenn die Extraktionsausdehnung und eine Extraktionsgrenze definiert sind, wird das Coverage der extrahierten LAS-Dateien anhand des Schnittpunktes beider definiert.

  • LAS-Punkt-Datensätze werden häufig in der LAS-Datei in einer binären Sequenz gespeichert, die nicht dem räumlichen Clustering der Punkte entspricht. Wenn Daten einer derartigen Verteilung abgefragt werden, kann dies zu einem weniger effizienten Zugriff auf die binären Datensätze führen, die die LAS-Punkte darstellen. Durch eine Neuanordnung der Punkte in der resultierenden LAS-Datei werden die Daten für die Visualisierung und andere räumliche Operationen optimiert. Bei Aktivierung der Option für die Neuanordnung werden automatisch Statistiken berechnet. Wenn Sie die LAS-Punkte nicht neu anordnen möchten, bleibt es Ihnen überlassen, ob Sie die Berechnung von Statistiken aktivieren oder deaktivieren. Durch die Berechnung von Statistiken werden räumliche Abfragen optimiert. Zudem wird eine Zusammenfassung der Klassencodes und Rückgabewerte bereitgestellt, die in der LAS-Datei vorhanden sind. Im Gegenzug benötigt dieses Werkzeug jedoch etwas mehr Zeit für die Verarbeitung. Wenn Sie die resultierenden LAS-Dateien in ArcGIS nicht verwenden, bleibt es Ihnen überlassen, ob Sie die Berechnung von Statistiken aktivieren oder zur Beschleunigung des Werkzeugs deaktivieren.

Syntax

ExtractLas_3d (in_las_dataset, target_folder, {extent}, {boundary}, {process_entire_files}, {name_suffix}, {remove_vlr}, {rearrange_points}, {compute_stats}, {out_las_dataset})
ParameterErläuterungDatentyp
in_las_dataset

Das zu verarbeitende LAS-Dataset.

LAS Dataset Layer
target_folder

Der Ordner, in den LAS-Dateien ausgegeben werden. Jede Ausgabedatei weist dieselbe LAS-Dateiversion und dasselbe Punktdatensatzformat auf wie die Eingabedatei.

Folder
extent
(optional)

Legt die Ausdehnung der Daten fest, die von diesem Werkzeug ausgewertet werden.

Extent
boundary
(optional)

Eine Polygongrenze, die die Positionen definiert, an denen LAS-Dateien extrahiert werden.

Feature Layer
process_entire_files
(optional)

Legt fest, wie die Verarbeitungsausdehnung angewendet werden soll.

  • PROCESS_EXTENTEs werden nur LAS-Punkte verarbeitet, die den Interessenbereich schneiden. Dies ist die Standardeinstellung.
  • PROCESS_ENTIRE_FILESWenn ein Teil einer LAS-Datei den Interessenbereich schneidet, werden alle Punkte in dieser LAS-Datei verarbeitet, einschließlich derer außerhalb des Interessenbereichs.
Boolean
name_suffix
(optional)

Der Text, der an den Namen jeder Ausgabe-LAS-Datei angehängt wird. Jede Datei übernimmt ihren Basisnamen aus ihrer Quelldatei, gefolgt von dem Suffix, der in diesem Parameter festgelegt wird.

String
remove_vlr
(optional)

Legt fest, ob die Datensätze mit zusätzlicher Variablenlänge entfernt oder in den LAS-Dateien beibehalten werden sollen.

  • MAINTAIN_VLRDaten, die in den Datensätzen mit variabler Länge der verarbeiteten LAS-Datei gespeichert sind, werden in den extrahierten LAS-Dateien beibehalten. Dies ist die Standardeinstellung.
  • REMOVE_VLRDie Datensätze mit zusätzlicher Variablenlänge werden aus den LAS-Dateien entfernt.
Boolean
rearrange_points
(optional)

Legt fest, ob Punkte in den LAS-Dateien neu angeordnet werden.

  • REARRANGE_POINTSReihenfolge der LAS-Dateien wird beibehalten.
  • MAINTAIN_POINTSDie Punkte in den LAS-Dateien werden neu angeordnet. Dies ist die Standardeinstellung.
Boolean
compute_stats
(optional)

Gibt an, ob für die vom LAS-Dataset referenzierten LAS-Dateien Statistiken berechnet werden sollen. Mit Statistiken kann über die Filter- und Symbolisierungsoptionen des LAS-Dataset-Layers die Anzeige von LAS-Attributen auf in den LAS-Dateien vorhandene Werte beschränkt werden.

  • COMPUTE_STATSEs werden Statistiken berechnet.
  • NO_COMPUTE_STATSEs werden keine Statistiken berechnet. Dies ist die Standardeinstellung.
Boolean
out_las_dataset
(optional)

Das Ausgabe-LAS-Dataset.

LAS Dataset

Codebeispiel

ExtractLas – Beispiel 1 (Python-Fenster)

Anhand des folgenden Beispiels wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.

import arcpy
from arcpy import env

env.workspace = 'C:/data'
arcpy.ddd.ExtractLas('test.lasd', 'c:/lidar/subset', boundary='study_area.shp',
                     name_suffix='subset', remove_vlr=True, 
                     rearrange_points='REARRANGE_POINTS', 
                     out_las_dataset='extracted_lidar.lasd')
ExtractLas – Beispiel 2 (eigenständiges Skript)

Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.

'''****************************************************************************
Name: Split Large LAS File
Description: Divides a large LAS file whose point distribution covers the full
             XY extent of the data into smaller files to optimize performance
             when reading lidar data.
****************************************************************************'''
# Import system modules
import arcpy
import tempfile
import math

in_las_file = arcpy.GetParameterAsText(0)
tile_width = arcpy.GetParameter(1) # double in LAS file's XY linear unit
tile_height = arcpy.GetParameter(2) # double in LAS file's XY linear unit
out_folder = arcpy.GetParameterAsText(3) # folder for LAS files
out_name_suffix = arcpy.GetParameterAsText(4) # basename for output files
out_lasd = arcpy.GetParameterAsText(5) # output LAS dataset


try:
    temp_lasd = arcpy.CreateUniqueName('temp.lasd', tempfile.gettempdir())
    arcpy.management.CreateLasDataset(in_las_file, temp_lasd, 
                                      compute_stats='COMPUTE_STATS')
    desc = arcpy.Describe(temp_lasd)
    total_columns = int(math.ceil(desc.extent.width/tile_width))
    total_rows = int(math.ceil(desc.extent.height/tile_height))
    digits = int(math.log10(max(cols, rows))) + 1
    for row in range(1, total_rows+1):
        yMin = desc.extent.YMin + tile_height*(row-1)
        yMax = desc.extent.YMin + tile_height*(row)
        for col in range (1, total_columns+1):
            xMin = desc.extent.XMin + tile_width*(col-1)
            xMax = desc.extent.XMax + tile_width*(col)
            name_suffix = '_{0}_{1}x{2}'.format(out_name_suffix, 
                                                str(row).zfill(digits), 
                                                str(col).zfill(digits))
            arcpy.ddd.ExtractLas(temp_lasd, out_folder, 
                                 arcpy.Extent(xMin, yMin, xMax, yMax),
                                 name_suffix=name_suffix, 
                                 rearrange_points='REARRANGE_POINTS',
                                 compute_stats='COMPUTE_STATS')
    arcpy.env.workspace = out_folder
    arcpy.management.CreateLasDataset(arcpy.ListFiles('*{0}*.las'.format(out_name_suffix)),
                                      out_lasd, compute_stats='COMPUTE_STATS',
                                      relative_paths='RELATIVE_PATHS')
except arcpy.ExecuteError:
    print(arcpy.GetMessages())

Lizenzinformationen

  • ArcGIS Desktop Basic: Erfordert 3D Analyst
  • ArcGIS Desktop Standard: Erfordert 3D Analyst
  • ArcGIS Desktop Advanced: Erfordert 3D Analyst

Verwandte Themen