Zusammenfassung
Klassifiziert LAS-Punkte, die die Eingabe-Features schneiden.
Verwendung
Gültige Eingaben sind Punkte, Linien und Polygone. Die Pufferentfernung ist besonders wichtig für Punkte und Linien, da es weniger wahrscheinlich ist, dass ein gegebener LAS-Punkt genau auf die Linie fällt oder dieselbe Koordinate aufweist wie der Eingabepunkt.
Erwägen Sie, dieses Werkzeug zu verwenden, wenn Sie über Polygone verfügen, die Gewässer begrenzen, und Sie alle LAS-Punkte zuweisen möchten, die in dieses Polygon mit dem Klassifizierungscodewert 9 fallen, der Wasser darstellt.
-
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
Oberfläche
3
Niedrige Vegetation
4
Mittelhohe Vegetation
5
Hohe Vegetation
6
Gebäude
7
Niedriger Rauschwert
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
SetLasClassCodesUsingFeatures_3d (in_las_dataset, feature_class, {compute_stats})
Parameter | Erläuterung | Datentyp |
in_las_dataset | Das zu verarbeitende LAS-Dataset. | LAS Dataset Layer |
feature_class [[features, buffer_distance, new_class, synthetic, key_point, withheld, overlap],...] | Geben Sie jedes Feature mit den zugehörigen Optionen ein, anhand derer der Klassifizierungsvorgang als Liste von Listen definiert wird (z. B. [['feature1', 6, 9, 'NO CHANGE', 'SET', 'CLEAR', 'NO CHANGE'], ['feature 2', 0, 6, 'NO CHANGE', 'NO CHANGE', 'NO CHANGE', 'NO CHANGE']]. Jedes Feature bietet die folgenden Optionen:
| 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 Symbolisierungsoptionen des LAS-Dataset-Layers nur die in den LAS-Dateien vorhandenen LAS-Attributwerte anzuzeigen.
| 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)
Umgebungen
Lizenzinformationen
- ArcGIS Desktop Basic: Erfordert 3D Analyst
- ArcGIS Desktop Standard: Erfordert 3D Analyst
- ArcGIS Desktop Advanced: Erfordert 3D Analyst