LAS-Klassencodes mithilfe von Features festlegen (ArcGIS 3D Analyst)

Lizenzstufe:BasicStandardAdvanced

Zusammenfassung

Klassifiziert Datenpunkte in von einem LAS-Dataset referenzierten LAS-Dateien mithilfe von Punkt-, Linien- und Polygon-Features.

Verwendung

Syntax

SetLasClassCodesUsingFeatures_3d (in_las_dataset, feature_class, {compute_stats})
ParameterErläuterungDatentyp
in_las_dataset

Das Eingabe-LAS-Dataset.

LAS Dataset Layer
feature_class
[[features, buffer_distance, new_class, synthetic, key_point, withheld],...]

Geben Sie eine oder mehrere Feature-Classes an, die zur Definition von Klassencodewerten für die von einem LAS-Dataset referenzierten LIDAR-Dateien dienen sollen. Jedes Feature verfügt über die folgenden Optionen, die angegeben werden können:

  • features – Der Feature-Layer oder der vollständige Pfad zur Eingabe-Feature-Class.
  • buffer_distance – Die Auswahltoleranz beim Bestimmen, welche LIDAR-Punkte von den Eingabe-Features geändert werden sollen.
  • new_class – Der Klassencode, der den LIDAR-Dateien, die sich mit den Features und der zugeordneten Pufferdistanz überschneiden, zugewiesen werden soll.
  • synthetic – Gibt an, ob eine Bezeichnung als "Synthetisch" gekennzeichnet oder entfernt werden soll, was bedeutet, dass der Punkt nicht mit LIDAR, sondern einer anderen Methode erstellt wurde (z. B. per Digitalisierung von photogrammetrischen Stereomodellen).
  • key_point – Gibt an, ob eine Bezeichnung als "Schlüsselpunkt" für den Datenpunkt gekennzeichnet oder entfernt werden soll. Ein Modellschlüsselpunkt wird in der Regel als Ankerpunkt behandelt, der von keinem Ausdünnungsalgorithmus entfernt wird.
  • withheld – Gibt an, ob ein Datenpunkt als "Zurückgehalten" gekennzeichnet werden oder diese Bezeichnung entfernt werden soll, die generell fehlerhafte Daten ausweist.
Value Table
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.

  • COMPUTE_STATSEs werden Statistiken berechnet.
  • NO_COMPUTE_STATSEs werden keine Statistiken berechnet. Dies ist die Standardeinstellung.
Boolean

Codebeispiel

SetLasClassCodesUsingFeatures – Beispiel 1 (Python-Fenster)

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

import arcpy
from arcpy import env

arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.SetLasClassCodesUsingFeatures_3d("test.lasd", [["lake.shp 0 9"],
                                       ["outliers.shp", 5, "NO_CHANGE", 
                                        "NO_CHANGE", "NO_CHANGE", "SET"]], 
                                       "COMPUTE_STATS")
SetLasClassCodesUsingFeatures – Beispiel 2 (eigenständiges Skript)

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

'''**********************************************************************
Name: Assign Withheld Classification Flag to Outlier Points in LAS Files
Description: Uses Locate Outliers to identify points in LAS files that
             should be assigned the 'withheld' classification flag.
             Designed for use as a script tool.
**********************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback

try:
    arcpy.CheckOutExtension('3D')
    # Set Local Variables
    lasD = arcpy.GetParameterAsText(0)
    outliers = 'in_memory/outliers'
    # Execute LocateOutliers
    arcpy.ddd.LocateOutliers(lasD, outliers, 'APPLY_HARD_LIMIT', -10, 
                             350, 'APPLY_COMPARISON_FILTER', 1.2, 120, 
                             0.8, 8000)
    # Execute SetLasClassCodeUsingFeatures
    arcpy.ddd.SetLasClassCodesUsingFeatures(lasd, [["outliers.shp", 5, 
                                                    "NO_CHANGE", "NO_CHANGE",
                                                    "NO_CHANGE", "SET"]])
    arcpy.CheckInExtension('3D')
except arcpy.ExecuteError:
    print arcpy.GetMessages()
except:
    # Get the traceback object
    tb = sys.exc_info()[2]
    tbinfo = traceback.format_tb(tb)[0]
    # Concatenate error information into message string
    pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
          .format(tbinfo, str(sys.exc_info()[1]))
    msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
    # Return python error messages for script tool or Python Window
    arcpy.AddError(pymsg)
    arcpy.AddError(msgs)

Umgebung

Verwandte Themen

Lizenzierungsinformationen

ArcGIS for Desktop Basic: Erfordert 3D Analyst
ArcGIS for Desktop Standard: Erfordert 3D Analyst
ArcGIS for Desktop Advanced: Erfordert 3D Analyst
9/11/2013