Zusammenfassung
Extrahiert LAS-Dateien, die die Clip-Features oder Ausdehnung überlagern.
Abbildung
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 in den Umgebungseinstellungen ein Ausgabe-Koordinatensystem fest. Wenn für die verarbeiteten LAS-Dateien kein Raumbezug definiert wurde, wird die festgelegte Projektion von den extrahierten LAS-Dateien übernommen.
Wenn die Extraktionsausdehnung und eine Extraktionsgrenze definiert sind, wird das Coverage der extrahierten LAS-Dateien anhand des Schnittpunktes beider definiert.
Wenn der Parameter Punkte neu anordnen aktiviert ist (rearrange_points = 'REARRANGE_POINTS' in Python), werden die Punktdatensätze neu sortiert, die zum Lesen der Dateien optimiert sind. Durch diese Optimierung wird die Anzeige in der gesamten ArcGIS Plattform erheblich verbessert. Die Neuanordnung von Punkten nimmt zusätzliche Verarbeitungszeit in Anspruch. Da die Neuanordnung der Reihenfolge von Punkten zur Verbesserung des Datenzugriffs eine fundamentale Verbesserung der Daten darstellt, ist dieser Parameter standardmäßig aktiviert.
Syntax
ExtractLas_3d (in_las_dataset, target_folder, {extent}, {boundary}, {process_entire_files}, {name_suffix}, {remove_VLR}, {rearrange_points}, {compute_stats}, {out_las_dataset})
Parameter | Erläuterung | Datentyp |
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) | Legen Sie 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) | Legen Sie fest, wie die Verarbeitungsausdehnung angewendet werden soll.
| 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.
| Boolean |
rearrange_points (optional) | Legt fest, ob Punkte in den LAS-Dateien neu angeordnet werden.
| Boolean |
compute_stats (optional) | Gibt an, ob für die vom LAS-Dataset referenzierten LAS-Dateien Statistiken berechnet werden sollen. Durch Statistiken wird es ermöglicht, in den Filter- und Symbologieoptionen des LAS-Dataset-Layers nur die in den LAS-Dateien vorhandenen LAS-Attributwerte anzuzeigen.
| 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())
Umgebungen
Lizenzinformationen
- ArcGIS Desktop Basic: Erfordert 3D Analyst
- ArcGIS Desktop Standard: Erfordert 3D Analyst
- ArcGIS Desktop Advanced: Erfordert 3D Analyst