LAS-Klassencodes ändern (3D Analyst)

Zusammenfassung

Weist die Klassifizierungscodes und -Flags von LAS-Dateien neu zu.

Verwendung

  • Alle LAS-Dateien, die von einem LAS-Dataset referenziert werden, werden von diesem Werkzeug ausgewertet. Es werden jedoch nur die Dateien geändert, die die bereitgestellten Klassencodes enthalten.

  • Sie können dieses Werkzeug verwenden, um die Klassifizierung von Datenpunkten in LAS-Dateien zu aktualisieren, die vor der Einführung von standardisierten Klassencodes in den LAS-Spezifikationen 1.1 generiert wurden.

  • Das LAS-Format unterstützt die Klassifizierung jedes Punktes basierend auf den von der ASPRS (American Society for Photogrammetry and Remote Sensing) definierten Spezifikationen. Die ArcGIS Plattform wendet das für die LAS-Dateiversion 1.4 angegebene Klassifizierungsschema an:

    Klassifizierungswert Klassifizierungstyp

    0

    Nie klassifiziert

    1

    Nicht zugewiesen

    2

    Boden

    3

    Niedrige Vegetation

    4

    Mittelhohe Vegetation

    5

    Hohe Vegetation

    6

    Gebäude

    7

    Niedriges Rauschen

    8

    Modellschlüssel/Reserviert

    9

    Wasser

    10

    Schienen

    11

    Straßenbelag

    12

    Überlappung/Reserviert

    13

    Draht - Schutz

    14

    Draht - Leiter

    15

    Strommast

    16

    Drahtverbinder

    17

    Brückenfahrbahn

    18

    Hohes Rauschen

    19 – 63

    Für die ASPRS-Definition reserviert (die Versionen LAS 1.1 bis 1.3 unterstützen bis zum Klassencode 31)

    32 – 255

    Kann vom Benutzer definiert werden (wird nur in LAS 1.0 und bestimmten Versionen von 1.4 unterstützt)

Syntax

arcpy.3d.ChangeLasClassCodes(in_las_dataset, class_codes, {compute_stats}, {extent}, boundary, {process_entire_files})
ParameterErklärungDatentyp
in_las_dataset

Das zu verarbeitende LAS-Dataset.

LAS Dataset Layer
class_codes
[[current_class, new_class],...]

Geben Sie jedes Paar der aktuellen und neuen Klassencodewerte als eine durch Leerzeichen getrennte Zeichenfolge oder eine Liste von ganzzahligen Werten an. Ein aktueller Klassencode für 5 kann z. B. in 2 geändert werden, indem "5 2" oder [5, 2] angegeben wird. Mehrere Klassencodes können als durch Semikolons getrennte Zeichenfolge ("5 2; 8 3; 1 4") oder eine Liste von Zeichenfolgen (z. B. [[5, 2], [8, 3], [1, 4]]) eingegeben werden.

Value Table
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
extent
(optional)

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

  • MAXOF: Die maximale Ausdehnung aller Eingaben wird verwendet.
  • MINOF: Die kleinste 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

Ein Polygon-Feature, das den Interessenbereich definiert, der von diesem Werkzeug verarbeitet werden soll.

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

Abgeleitete Ausgabe

NameErklärungDatentyp
derived_las_dataset

Das aktualisierte LAS-Dataset.

LAS-Dataset-Layer

Codebeispiel

ChangeLasClassCodes – Beispiel 1 (Python-Fenster)

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

arcpy.env.workspace = 'C:/data'
arcpy.ChangeLasClassCodes_3d('test.lasd', [[5, 2], [3, 1], [4, 6]],
                           'COMPUTE_STATS')
ChangeLasClassCodes – Beispiel 2 (eigenständiges Skript)

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

'''****************************************************************************
Name: Update LAS 1.0 Classification to ASPRS 1.1 Specs
Description: Updates classification of version 1.0 LAS files to conform to
             the standardized class codes introduced in the 1.1 specifications.
             The code is designed for use as a script tool.
****************************************************************************'''
# Import system modules
import arcpy

# Set Local Variables
inLas = arcpy.GetParameterAsText(0)
recursion = arcpy.GetParameterAsText(1)
lasd = arcpy.GetParameterAsText(2)
reclassList = arcpy.GetParameterAsText(3) #List of values '<oldCode> <newCode>'
calcStats = arcpy.GetParameter(4)

# Execute CreateLasDataset
arcpy.management.CreateLasDataset(inLas, lasd, recursion)
# Execute ChangeLasClassCodes
arcpy.ddd.ChangeLasClassCodes(lasd, reclassList, calcStats)

Lizenzinformationen

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

Verwandte Themen