LAS extrahieren (3D Analyst)

Zusammenfassung

Erstellt LAS-Dateien aus Punktwolkendaten in einem LAS-Dataset- oder Punktwolken-Szenen-Layer.

Abbildung

Abbildung des Werkzeugs "LAS extrahieren"

Verwendung

  • Dieses Werkzeug erstellt .las- oder .zlas-Dateien aus einem LAS-Dataset, einer .slpk-Punktwolkendatei oder einem I3S-Punktwolken-Szenen-Layer-Service. Wenn es sich bei der Eingabe um ein LAS-Dataset handelt, wird für jede .las- bzw. .zlas-Datei, die im LAS-Dataset referenziert wird, eine Ausgabedatei erstellt. Handelt es sich bei der Eingabe um einen Punktwolken-Szenen-Layer, hängt die Anzahl an Ausgabedateien von der Anzahl der zu extrahierenden Punkte ab. Die Größe einer Ausgabedatei ist auf ungefähr 16,8 Millionen Punkte begrenzt. Einige Dateien können diesen Schwellenwert überschreiten oder eine geringere Anzahl von Punkten aufweisen.

  • Die Eingabepunktwolke kann gefiltert werden, um die zu extrahierenden Punkte auf Grundlage einer Kombination aus Klassifizierungscodes, Klassifizierungs-Flags und Rückgabewerten einzuschränken. Die Definition von Punktfiltern erfolgt, indem Sie den Layer in eine Karte oder Szene laden und die Filter im Dialogfeld Layer-Eigenschaften angeben. Punktfilter können auch mithilfe des Werkzeugs LAS-Dataset-Layer erstellen auf ein LAS-Dataset angewendet werden. Außerdem können Sie eine Teilmenge aus der Eingabepunktwolke extrahieren, indem Sie eine Verarbeitungsausdehnung und eine Extraktionsgrenze angeben. Wenn eine Verarbeitungsausdehnung mit einer Extraktionsgrenze angegeben wird, werden die Ausgabedateien auf Grundlage der Überschneidung der beiden Werte erstellt. Wenn weder Verarbeitungsausdehnung noch Extraktionsgrenze definiert sind, wird die gesamte Eingabepunktwolke verarbeitet.

  • Wenn es sich bei der Eingabe um ein LAS-Dataset handelt, weist die resultierende LAS-Datei dieselbe Version und dasselbe Punktdatensatzformat wie die Eingabedatei auf. Wenn es sich bei der Eingabe um einen I3S-Punktwolken-Szenen-Layer-Service oder eine .slpk-Datei handelt, wird die Ausgabe als LAS-Datei der Version 1.4 erstellt. Das Punktdatensatzformat hängt allerdings von den Attributen der Quellpunktwolke wie folgt ab:

    • Punktformat 6 findet Anwendung, wenn die Eingabe keine RGB- oder Nahinfrarotwerte enthält.
    • Punktformat 7 findet Anwendung, wenn die Eingabe RGB-Werte, jedoch keine Nahinfrarotwerte enthält.
    • Punktformat 8 findet Anwendung, wenn die Eingabe RGB- und Nahinfrarotwerte enthält.

    Wenn Sie andere LAS-Dateiversionen und Punktdatensatzformate verwenden möchten, können Sie diese durch die Verarbeitung der Ausgabedateien mit dem Werkzeug LAS konvertieren generieren.

  • Der Raumbezug einer .las-Datei wird i. d. R. in der Datei definiert. Wenn diese Information fehlt oder falsch ist, kann über eine .prj-Zusatzdatei der Raumbezug der LAS-Datei definiert werden. Die .prj-Datei muss sich an demselben Speicherort befinden wie die .las-Datei und auch denselben Namen haben wie die .las-Datei. Sofern vorhanden, setzt die .prj-Datei die Raumbezugsinformationen in der .las-Datei außer Kraft. Sie können .prj-Dateien für .las-Dateien mit fehlendem oder falsch definiertem Raumbezug erstellen, indem Sie das Werkzeug Projektion definieren für eine einzelne .las- oder .zlas-Datei bzw. das Werkzeug LAS-Dataset erstellen mit dem Parameter PRJ für LAS-Dateien erstellen verwenden.

  • Sie können das horizontale Koordinatensystem der Eingabepunktwolke in einen anderen Raumbezug projizieren, indem Sie die Umgebungseinstellung Ausgabe-Koordinatensystem angeben. Eine Konvertierung der Z-Einheit erreichen Sie, indem Sie die vertikalen Einheiten über ein vertikales Koordinatensystem definieren. Die vertikale Datumstransformation wird aktuell allerdings nicht unterstützt. Stellen Sie sicher, dass bei einer Konvertierung des horizontalen Koordinatensystems das ursprüngliche vertikale Koordinatensystem beibehalten wird.

  • 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, können 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, können Sie die Berechnung von Statistiken deaktivieren, um die Bearbeitung durch das Werkzeug zu beschleunigen.

  • Mit dem Parameter Extraktionsgrenze können Sie die Eingabepunktwolke auf eine unregelmäßige Form zuschneiden. Dieser Parameter unterstützt eine Polygongrenze, die ein zusammenhängendes Untersuchungsgebiet definiert, z. B. ein einzelnes Polygon-Feature, das eine relativ große Region abdeckt. Mehrere Polygone, die benachbarte Interessenbereiche repräsentieren, können als Eingabe bereitgestellt werden, das Grenz-Feature unterstützt jedoch keine Polygone, die eine große Anzahl kleiner Features wie Bäume oder Gebäude darstellen. Für ein effizientes Ausschneiden der Eingabepunktwolke werden mehrere Polygone zusammengeführt. Aus diesem Grund führt die Angabe eines Grenz-Features mit vielen kleinen Polygonen zur Beeinträchtigung der Performance und sollte deshalb vermieden werden.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Punktwolke

Das LAS-Dataset, das Punktwolken-Szenen-Layer-Paket (.slpk-Datei) oder der I3S-Punktwolken-Szenen-Layer-Service, das bzw. der extrahiert wird. Bei einem I3S-Punktwolken-Service muss die Exporteigenschaft aktiviert sein, damit er verarbeitet werden kann.

LAS Dataset Layer; Scene Layer; File
Zielordner

Der vorhandene Ordner, in den die Ausgabe-.las-Dateien geschrieben werden.

Folder
Verarbeitungsausdehnung
(optional)

Die Ausdehnung der Daten, die von diesem Werkzeug ausgewertet werden.

  • Aktuelle Anzeigeausdehnung Kartenansicht: Die Ausdehnung basiert auf der aktiven Karte oder Szene.
  • Ausdehnung darstellen Rechtwinklig machen und Beenden: Die Ausdehnung basiert auf einem Rechteck, das auf der Karte oder Szene aufgezogen wurde.
  • Ausdehnung eines Layers:Layer Die Ausdehnung basiert auf einem aktiven Karten-Layer. Wählen Sie einen verfügbaren Layer aus, oder verwenden Sie die Option Ausdehnung von Daten in allen Layern. Jeder Karten-Layer bietet die folgenden Optionen:

    • Alle Features Alles auswählen: Die Ausdehnung aller Features.
    • Ausgewählte Features Bereich aus ausgewählten Features: Die Ausdehnung der ausgewählten Features.
    • Sichtbare Features Extent Indicator: Die Ausdehnung sichtbarer Features.

  • Durchsuchen Durchsuchen: Die Ausdehnung basiert auf einem Dataset.
  • Schnittmenge der Eingaben Überschneiden: Als Ausdehnung wird die überschneidende Ausdehnung aller Eingaben verwendet.
  • Vereinigungsmenge der Eingaben Vereinigen (Union): Als Ausdehnung wird die kombinierte Ausdehnung aller Eingaben verwendet.
  • Zwischenablage Einfügen: Die Ausdehnung kann in die und aus der Zwischenablage kopiert werden.
    • Ausdehnung kopieren Kopieren: Kopiert die Ausdehnung und das Koordinatensystem in die Zwischenablage.
    • Ausdehnung einfügen Einfügen: Fügt die Ausdehnung und das Koordinatensystem aus der Zwischenablage ein. Wenn die Zwischenablage kein Koordinatensystem enthält, wird für die Ausdehnung das Koordinatensystem der Karte verwendet.
  • Ausdehnung zurücksetzen: ZurücksetzenDie Ausdehnung wird auf den Standardwert zurückgesetzt.

Wenn die Koordinaten manuell eingegeben wurden, dann müssen die Koordinaten numerische Werte sein und im Koordinatensystem der aktiven Karte liegen. Die Karte kann statt der angegebenen Koordinaten auch andere Anzeigeeinheiten verwenden. Verwenden Sie für die Koordinaten in Richtung Süden und Westen Werte mit negativem Vorzeichen.

Extent
Extraktionsgrenze
(optional)

Eine Polygongrenze, die zum Ausschneiden der Eingabepunktwolke verwendet wird. Diese Grenze sollte ein primäres Untersuchungsgebiet darstellen, das in der Regel durch ein zusammenhängendes Polygon definiert ist, sie kann aber auch aus mehr als einem Polygon bestehen, wenn sie ein gemeinsames Untersuchungsgebiet mit einer relevanten räumlichen Lücke darstellt.

Feature Layer
Gesamte die Ausdehnung schneidende LAS-Dateien verarbeiten
(optional)

Gibt die Verwendung des Interessenbereichs an, indem Sie festlegen, wie .las-Dateien verarbeitet werden. Der Interessenbereich wird durch den Parameterwert Verarbeitungsausdehnung, den Parameterwert Verarbeitungsgrenze oder eine Kombination aus beiden definiert.

  • Deaktiviert: Es werden nur LAS-Punkte verarbeitet, die den Interessenbereich schneiden. Dies ist die Standardeinstellung.
  • Aktiviert: Wenn ein Teil einer .las-Datei den Interessenbereich schneidet, werden alle Punkte in dieser Datei verarbeitet, einschließlich derer außerhalb des Interessenbereichs.
Boolean
Suffix für Ausgabedateiname
(optional)

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

String
Datensätze mit variabler Länge entfernen
(optional)

Gibt an, ob Datensätze mit variabler Länge entfernt werden. Jede .las-Datei kann verschiedene Datensätze mit variabler Länge enthalten, die von der Software, mit der die Datei erstellt wurde, hinzugefügt wurden. Die Bedeutung dieser Datensätze ist in der Regel nur der Ursprungssoftware bekannt. Sofern die Ausgabe-LAS-Daten nicht von einer Anwendung verarbeitet werden, die diese Informationen interpretieren kann, bietet die Beibehaltung der Datensätze variabler Länge wahrscheinlich keinen funktionalen Mehrwert. Durch Entfernen dieser Datensätze lassen sich je nach Gesamtgröße und der Anzahl der Dateien, in denen sie enthalten sind, erhebliche Einsparungen beim Speicherplatz realisieren.

  • Nicht aktiviert: Die Datensätze mit variabler Länge in den .las-Eingabedateien werden nicht entfernt und bleiben in der Ausgabe erhalten. Dies ist die Standardeinstellung.
  • Aktiviert: Die Datensätze mit variabler Länge in den Eingabe-.las-Dateien werden aus der Ausgabe entfernt.
Boolean
Punkte neu anordnen
(optional)

Gibt an, ob Punkte in den .las- oder .zlas-Dateien neu angeordnet werden, um die Performance beim Lesen und Aktualisieren der Klassifizierung der Punktwolke zu optimieren.

  • Nicht aktiviert: Die Reihenfolge der Punkte wird nicht geändert.
  • Aktiviert: Die Reihenfolge der Punkte wird in räumlichen Clustern angeordnet, die das Lesen der Daten optimieren. Neu angeordnete Punkte können die Performance nachfolgender Operationen an der Punktwolke verbessern. Dies ist die Standardeinstellung.
Boolean
Statistiken berechnen
(optional)

Gibt an, ob für die vom .las-Dataset referenzierten LAS-Dateien Statistiken berechnet werden. 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.

  • Aktiviert: Es werden Statistiken berechnet. Dies ist die Standardeinstellung.
  • Deaktiviert: Es werden keine Statistiken berechnet.
Boolean
Ausgabe-LAS-Dataset
(optional)

Das Ausgabe-LAS-Dataset, das auf die neu erstellten .las-Dateien verweist.

LAS Dataset
Komprimierung
(optional)

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

  • Gleich wie EingabeDie Komprimierung entspricht der der Eingabe. Diese Option ist nur verfügbar, wenn die Eingabe ein LAS-Dataset ist. In diesem Fall ist sie die Standardeinstellung.
  • Keine KomprimierungDie Ausgabe wird im Standard-LAS-Format (*.las-Datei) erstellt. Dies ist die Standardeinstellung, wenn die Eingabe ein Punktwolken-Szenen-Layer ist.
  • zLAS-KomprimierungDie Ausgabe-.las-Dateien werden im zLAS-Format komprimiert.
String

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Ausgabeordner

Der Ordner, in dem die .las-Dateien gespeichert werden.

Folder

arcpy.ddd.ExtractLas(in_las_dataset, target_folder, {extent}, {boundary}, {process_entire_files}, {name_suffix}, {remove_vlr}, {rearrange_points}, {compute_stats}, {out_las_dataset}, {compression})
NameErläuterungDatentyp
in_las_dataset

Das LAS-Dataset, das Punktwolken-Szenen-Layer-Paket (.slpk-Datei) oder der I3S-Punktwolken-Szenen-Layer-Service, das bzw. der extrahiert wird. Bei einem I3S-Punktwolken-Service muss die Exporteigenschaft aktiviert sein, damit er verarbeitet werden kann.

LAS Dataset Layer; Scene Layer; File
target_folder

Der vorhandene Ordner, in den die Ausgabe-.las-Dateien geschrieben werden.

Folder
extent
(optional)

Die Ausdehnung der Daten, die von diesem Werkzeug ausgewertet werden.

  • MAXOF: Die maximale Ausdehnung aller Eingaben wird verwendet.
  • MINOF: Die minimale gemeinsame Fläche aller Eingaben wird verwendet.
  • DISPLAY: Die Ausdehnung entspricht der sichtbaren Anzeige.
  • Layer-Name: Die Ausdehnung des angegebenen Layers wird verwendet.
  • Extent-Objekt: Die Ausdehnung des angegebenen Objekts wird verwendet.
  • Durch Leerzeichen getrennte Koordinatenzeichenfolge: Die Ausdehnung der angegebenen Zeichenfolge wird verwendet. Die Koordinaten werden in der Reihenfolge X-Min, Y-Min, X-Max, Y-Max ausgedrückt.
Extent
boundary
(optional)

Eine Polygongrenze, die zum Ausschneiden der Eingabepunktwolke verwendet wird. Diese Grenze sollte ein primäres Untersuchungsgebiet darstellen, das in der Regel durch ein zusammenhängendes Polygon definiert ist, sie kann aber auch aus mehr als einem Polygon bestehen, wenn sie ein gemeinsames Untersuchungsgebiet mit einer relevanten räumlichen Lücke darstellt.

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 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 werden soll. Jede Datei übernimmt ihren Basisnamen aus ihrer Quelldatei, gefolgt von dem Suffix, der in diesem Parameter angegeben wird.

String
remove_vlr
(optional)

Gibt an, ob Datensätze mit variabler Länge entfernt werden. Jede .las-Datei kann verschiedene Datensätze mit variabler Länge enthalten, die von der Software, mit der die Datei erstellt wurde, hinzugefügt wurden. Die Bedeutung dieser Datensätze ist in der Regel nur der Ursprungssoftware bekannt. Sofern die Ausgabe-LAS-Daten nicht von einer Anwendung verarbeitet werden, die diese Informationen interpretieren kann, bietet die Beibehaltung der Datensätze variabler Länge wahrscheinlich keinen funktionalen Mehrwert. Durch Entfernen dieser Datensätze lassen sich je nach Gesamtgröße und der Anzahl der Dateien, in denen sie enthalten sind, erhebliche Einsparungen beim Speicherplatz realisieren.

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

Gibt an, ob Punkte in den .las- oder .zlas-Dateien neu angeordnet werden, um die Performance beim Lesen und Aktualisieren der Klassifizierung der Punktwolke zu optimieren.

  • MAINTAIN_POINTSDie Reihenfolge der Punkte wird nicht geändert.
  • REARRANGE_POINTSDie Reihenfolge der Punkte wird in räumlichen Clustern angeordnet, die das Lesen der Daten optimieren. Neu angeordnete Punkte können die Performance nachfolgender Operationen an der Punktwolke verbessern. Dies ist die Standardeinstellung.
Boolean
compute_stats
(optional)

Gibt an, ob für die vom .las-Dataset referenzierten LAS-Dateien Statistiken berechnet werden. 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. Dies ist die Standardeinstellung.
  • NO_COMPUTE_STATSEs werden keine Statistiken berechnet.
Boolean
out_las_dataset
(optional)

Das Ausgabe-LAS-Dataset, das auf die neu erstellten .las-Dateien verweist.

LAS Dataset
compression
(optional)

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

  • SAME_AS_INPUTDie Komprimierung entspricht der der Eingabe. Diese Option ist nur verfügbar, wenn die Eingabe ein LAS-Dataset ist. In diesem Fall ist sie die Standardeinstellung.
  • NO_COMPRESSIONDie Ausgabe wird im Standard-LAS-Format (*.las-Datei) erstellt. Dies ist die Standardeinstellung, wenn die Eingabe ein Punktwolken-Szenen-Layer ist.
  • ZLASDie Ausgabe-.las-Dateien werden im zLAS-Format komprimiert.
String

Abgeleitete Ausgabe

NameErläuterungDatentyp
out_folder

Der Ordner, in dem die .las-Dateien gespeichert werden.

Folder

Codebeispiel

ExtractLas: Beispiel 1 (Python-Fenster)

Im folgenden Beispiel 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

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

Verwandte Themen