LAS kacheln (3D Analyst)

Zusammenfassung

Erstellt verschiedene nicht überlappende LAS-Dateien, deren horizontale Ausdehnungen durch ein regelmäßiges Gitter unterteilt werden.

Verwendung

  • Beim Kacheln werden unabhängig von den angewendeten Filtereinstellungen für den Layer alle Punkte beibehalten, die in der Verarbeitungsausdehnung des gekachelten LAS-Datasets liegen. Wenn Filter erforderlich sind, führen Sie vor oder nach der Erstellung der Kacheln für das LAS-Dataset das Werkzeug LAS extrahieren aus.

  • 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 dem Werkzeug Netz erstellen oder 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. Eine Z-Datumstransformation ist nur möglich, wenn die Gitter für die vertikale Datumstransformation installiert wurden.

  • Mit diesem Werkzeug können LAS-Punkte, die auf viele Dateien verteilt sind, in einer LAS-Datei zusammengeführt werden, indem eine Kachelgröße angegeben wird, die die Ausdehnung des Eingabe-LAS-Datasets überschreitet.

Syntax

arcpy.3d.TileLas(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})
ParameterErklärungDatentyp
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 das Berechnen von Statistiken wird ein räumlicher Index für jede LAS-Datei bereitgestellt, wodurch sich die Analyse- und Darstellungs-Performance verbessert. Ferner werden durch Statistiken die Filter- und Symbolisierungsverfahren verbessert, da die Anzeige von LAS-Attributen, beispielsweise Klassifizierungscodes und Rückgabeinformationen, auf die in der LAS-Datei vorhandenen Werte begrenzt wird.

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

Gibt die LAS-Dateiversion jeder Ausgabedatei an. Die Standardeinstellung ist 1.4.

  • 1.0Diese Version hat 256 eindeutige Klassencodes unterstützt, wies jedoch kein vordefiniertes Klassifizierungsschema auf.
  • 1.1Mit dieser Version wurden ein vordefiniertes Klassifizierungsschema und die Punktdatensatzformate 0 und 1 sowie das Klassifizierungs-Flag "Synthetisch" für Punkte eingeführt, die von einer anderen Quelle als einem Lidar-Sensor abgeleitet wurden.
  • 1.2Diese Version hat GPS-Zeit und RGB-Datensätze in den Punktdatensätzen 2 und 3 unterstützt.
  • 1.3Diese Version unterstützt darüber hinaus auch Punkt-Datensätze 4 und 5 für Waveform-Daten. Waveform-Informationen werden in ArcGIS jedoch nicht gelesen.
  • 1.4Mit dieser Version wurden die Punktdatensatzformate 6 bis 10 mit neuen Klassendefinitionen, 256 eindeutigen Klassencodes und dem Überlappungsklassifizierungs-Flag eingeführt.
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)

Gibt an, ob die Ausgabe-LAS-Datei in einem komprimierten oder im Standard-LAS-Format vorliegen soll.

  • NO_COMPRESSIONDie Ausgabe erfolgt im Standard-LAS-Format (*.las-Datei). Dies ist die Standardeinstellung.
  • ZLASAusgabe-LAS-Dateien werden im zLAS-Format komprimiert.
String
las_options
[las_options,...]
(optional)

Eine Liste der optionalen Änderungen an den Ausgabe-LAS-Dateien

  • REARRANGE_POINTSLAS-Punkte werden nach ihrem räumlichen Clustering angeordnet.
  • REMOVE_VLRDatensätze mit variabler Länge, die nach der Kopfzeile und den Punktdatensätzen jeder Datei hinzugefügt werden, werden entfernt.
  • REMOVE_EXTRA_BYTESZusätzlich zu den einzelnen Punkt-Datensätzen in der Eingabe-LAS-Datei vorhandene Bytes werden entfernt.
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)

Gibt die Methode an, 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:

  • XY_COORDSDie X- und Y-Koordinaten des Mittelpunktes jeder Kachel werden angehängt. Dies ist die Standardeinstellung.
  • ROW_COLUMNDer Kachelname wird im allgemeinen Kachelschema anhand der Zeile und Spalte zugewiesen, zu der die Kachel gehört. Die Zeilen werden von oben nach unten, die Spalten hingegen von links nach rechts inkrementiert.
  • ORDINALDer Kachelname wird anhand der Reihenfolge der Kachelerstellung zugewiesen, wobei die erste Kachel mit 1 und die zweite mit 2 bezeichnet wird usw.
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. Standardeinstellung ist der 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

NameErklärungDatentyp
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())

Lizenzinformationen

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

Verwandte Themen