Zusammenfassung
Erstellt verschiedene nicht überlappende LAS-Dateien, deren horizontale Ausdehnungen durch ein regelmäßiges Gitter unterteilt werden.
Verwendung
Durch die Unterteilung von LAS-Dateien, die größer als 500 MB sind, lässt sich die Performance aller Vorgänge verbessern, bei denen die Daten in räumlichen Clustern gelesen werden müssen, wie etwa bei Analysevorgängen, bei denen eine Oberfläche erstellt werden muss, oder bei Datenvisualisierungsvorgängen. Das Standard-Kachelschema erzeugt quadratische Kacheln, deren Breite und Höhe durch einen Zielgrößengrenzwert von 250 MB definiert ist. Punkte aus mehreren LAS-Dateien, die in die Fläche einer Kachel fallen, werden zur Ausgabe-Kachel zusammengeführt.
Bei einem LAS-Dataset, das aus LAS-Dateien mit überlappenden Ausdehnungen besteht, können Ausdehnungen bei Vorgängen, die sich auf eine dateiweise Analyse stützen, ungenaue Ergebnisse hervorbringen. Die Punktabstandsschätzung wird beispielsweise durch eine Analyse der Punkte an jeder Datei über der Coverage-Fläche innerhalb dieser Datei abgeleitet und weist folglich keine Mechanismen zum Anpassen an die Auswirkungen von Punkten in den überlappenden Regionen auf. Entsprechend stützt sich auch das Werkzeug LAS ausdünnen auf eine dateiweise Verarbeitung, und das Ergebnis entspricht nicht der erwarteten Ausgabe in den Regionen, in denen Dateiüberschneidungen vorhanden sind.
Durch die Neuanordnung der LAS-Punkte werden die LIDAR-Daten räumlich geclustert und deren Performance bei der Visualisierung und bei der Durchführung von Analysevorgängen verbessert. Für diesen Vorgang muss eine temporäre Datei erstellt werden. Erwägen Sie, einen Ordner auf einem Solid-State-Drive (SSD) als Scratch-Workspace in den Umgebungseinstellungen festzulegen, um die Geschwindigkeit dieses Vorgangs zu verbessern.
Erwägen Sie, die ZLAS-Komprimierung anzugeben, wenn die LAS-Daten bereits klassifiziert und zur Archivierung oder Verteilung bereit sind. ZLAS-Dateien können weder bearbeitet noch reklassifiziert werden. Sie reduzieren jedoch in der Regel die Dateigröße auf etwa ein Drittel der Größe der nicht komprimierten LAS-Datei.
LAS-Kacheln können mit einer der folgenden Methoden definiert werden:
- Legen Sie eine Zieldateigröße der nicht komprimierten LAS-Datei fest. Diese Größe ist eine Schätzung für eine LAS-Kachel mit gleichmäßiger Punktverteilung in der gesamten Ausdehnung.
- Geben Sie die Breite und Höhe der Kachel an.
- Geben Sie ein Eingabe-Feature an, um das Kachelschema zu definieren. Jedes Polygon sollte rechteckig sein und eine einheitliche Breite und Höhe aufweisen. Mit den Werkzeugen Netz erstellen bzw. Mosaik generieren können Sie gekachelte Polygone erstellen, die die Ausdehnung der LAS-Daten überlappen. Benutzerdefinierte Namen für LAS-Kacheln können durch die Verwendung von Eingabe-Features und durch Auswahl eines Textfeldes im Parameter Benennungsmethode zugewiesen werden.
Die Ausgabe-LAS-Kacheln können neu projiziert werden, indem ein Ausgabe-Koordinatensystem in den Umgebungseinstellungen festgelegt oder Eingabe-Features verwendet werden, die einen anderen Raumbezug aufweisen als die ursprünglichen LAS-Dateien.
Syntax
TileLas_3d (in_las_dataset, target_folder, {base_name}, {out_las_dataset}, {compute_stats}, {las_version}, {point_format}, {compression}, {las_options}, {tile_feature}, {naming_method}, {file_size}, {tile_width}, {tile_height}, {tile_origin})
Parameter | Erläuterung | Datentyp |
in_las_dataset | Das zu verarbeitende LAS-Dataset. | LAS Dataset Layer |
target_folder | Der Ordner, in dem die gekachelten LAS-Dateien gespeichert werden. | Folder |
base_name (optional) | Der Name, mit dem jede Ausgabedatei beginnt. | String |
out_las_dataset (optional) | Das neue LAS-Dataset, das die gekachelten LAS-Dateien referenziert, die von diesem Werkzeug erstellt wurden. Diese Angabe ist optional. | LAS Dataset |
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 Symbolisierungsoptionen des LAS-Dataset-Layers nur die in den LAS-Dateien vorhandenen LAS-Attributwerte anzuzeigen.
| Boolean |
las_version (optional) | Die LAS-Dateiversion jeder Ausgabedatei. Die Standardeinstellung ist 1.4.
| String |
point_format (optional) | Das Punktdatensatzformat der Ausgabe-LAS-Dateien. Die verfügbaren Optionen sind je nach LAS-Dateiversion, die im Parameter point_format angegeben wurde, unterschiedlich. | Long |
compression (optional) | Legen Sie fest, ob die Ausgabe-LAS-Datei im komprimierten oder im Standard-LAS-Format vorliegen soll.
| String |
las_options [las_options,...] (optional) | Eine Liste der optionalen Änderungen an den Ausgabe-LAS-Dateien
| String |
tile_feature (optional) | Die Polygon-Features, die die Kachelbreite und -höhe definieren, die beim Kacheln der LIDAR-Daten verwendet werden sollen. Es wird davon ausgegangen, dass die Polygone rechteckig sind, und anhand der Ausdehnung des ersten Features werden die Breite und Höhe der Kacheln festgelegt. | Feature Layer |
naming_method (optional) | Definiert die Art, mit der jede Ausgabe-Kachel benannt wird. Wenn Eingabe-Features im Parameter tile_feature festgelegt werden, kann auch der Name des Textfeldes oder des numerischen Feldes als Quelle zum Definieren des Namens der Ausgabe-LAS-Dateien angegeben werden. Dieser Name wird an das Ende des Textes angefügt, der im Parameter base_name definiert wird. Die folgenden automatisch erstellten Namenskonventionen werden unterstützt:
| String |
file_size (optional) | Dieser Wert, der in Megabyte ausgedrückt wird, stellt den oberen Grenzwert der unkomprimierten Dateigröße einer Ausgabe-LAS-Kachel mit gleichmäßiger Punktverteilung in der gesamten Ausdehnung dar. Das Werkzeug verwendet standardmäßig den Wert 250, der verwendet wird, um die Kachelbreite und -höhe zu schätzen. Dieser Parameter wird ignoriert, wenn Werte für die Parameter tile_feature oder tile_width und tile_height angegeben werden. | Double |
tile_width (optional) | Die Breite jeder Kachel. Wenn ein Wert für die Kachelbreite und -höhe festgelegt wird, wird der Parameter file_size ignoriert. Wenn Eingabe-Features im Parameter tile_feature festgelegt werden, wird die Kachelbreite aus der Höhe des ersten Features abgeleitet und dieser Parameter ignoriert. | Linear Unit |
tile_height (optional) | Die Höhe jeder Kachel. Wenn ein Wert für die Kachelbreite und -höhe festgelegt wird, wird der Parameter file_size ignoriert. Wenn Eingabe-Features im Parameter tile_feature festgelegt werden, wird die Kachelhöhe aus der Höhe des ersten Features abgeleitet und dieser Parameter ignoriert. | Linear Unit |
tile_origin (optional) | Die Koordinaten des Ursprungs des Kachelungs-Rasters. Die Standardwerte werden aus der linken unteren Ecke des Eingabe-LAS-Datasets abgerufen. Wenn Eingabe-Features im Parameter tile_feature festgelegt werden, wird der Ursprung aus der unteren linken Ecke des ersten Features abgeleitet und dieser Parameter ignoriert. | Point |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
out_folder | Der Ordner, in den die Ausgabe-LAS-Dateien geschrieben werden. | Ordner |
Codebeispiel
TileLas – Beispiel 1 (Python-Fenster)
Anhand des folgenden Beispiels wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.
arcpy.env.workspace = 'C:/data'
arcpy.ddd.TileLas('Denver_2', basename='2014_', out_las_dataset='Denver_2014.lasd',
las_version='1.4', point_format=6, compression='ZLAS Compression',
las_options=['Rearrange points'], naming_method='ROW_COLUMN', file_size=300)
TileLas – Beispiel 2 (eigenständiges Skript)
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.
'''****************************************************************************
Name: Tile LAS File
Description: Creates tiled LAS files form an untiled collection.
****************************************************************************'''
# Import system modules
import arcpy
import tempfile
import math
in_las = arcpy.GetParameterAsText(1) # The LAS files that need to be tiled
out_folder = arcpy.GetParameterAsText(2) # folder for LAS files
basename = arcpy.GetParameterAsText(3) # basename for output files
out_lasd = arcpy.GetParameterAsText(4) # output LAS dataset
try:
# Create temp LAS dataset to reference LAS files that will be tiled
temp_lasd = arcpy.CreateUniqueName('temp.lasd', tempfile.gettempdir())
arcpy.management.CreateLasDataset(in_las, temp_lasd)
arcpy.ddd.TileLas(temp_lasd, out_folder, basename, out_lasd, las_version=1.4,
point_format=7, file_size=300)
arcpy.management.Delete(temp_lasd)
arcpy.ddd.ClassifyLasGround(out_lasd, method='AGGRESSIVE')
arcpy.ddd.ClassifyLasBuilding(out_lasd, min_height='3 Meters', min_area='4 Meters')
arcpy.ddd.ClassifyLasByHeight(out_lasd, height_classification=[(3, 6), (4,20), (5,70)],
noise='All Noise', compute_stats='COMPUTE_STATS')
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