LAS-Punkte nach Nähe lokalisieren (3D Analyst)

Zusammenfassung

Bestimmt LAS-Punkte in der dreidimensionalen Nähe von Z-aktivierten Features. Gleichzeitig wird die Option zur Reklassifizierung dieser Punkte bereitgestellt.

Verwendung

  • Mit diesem Werkzeug wird das Eingabe-Feature mit einem Feld aktualisiert, das die Anzahl der LAS-Punkte enthält, die innerhalb des angegebenen Radius liegen. Für die Anzahl der Punkte, die mit diesem Werkzeug erstellt werden können, gibt es keine Beschränkung. Daher sollten Sie den Einsatz von sehr großen Suchentfernungen vermeiden.

  • Mit dem LAS-Dataset-Layer können Sie die angezeigten und verarbeiteten LAS-Punkte begrenzen, indem Sie in den Filtereinstellungen des Layers eine beliebige Kombination von Klassifizierungscodes, Klassifizierungs-Flags und Rückgabewerten auswählen. Die Filter können im Dialogfeld Layer-Eigenschaften oder mit dem Werkzeug LAS-Dataset-Layer erstellen definiert werden.

  • Wenn Sie das Ausgabe-Punkt-Feature mit Singlepoint-Geometrie erstellen, wird der Ausgabe ein Feld namens DIST3D hinzugefügt. Darin ist die 3D-Entfernung vom Punkt zum nächstgelegenen Eingabe-Feature enthalten.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-LAS-Dataset

Das zu verarbeitende LAS-Dataset.

LAS Dataset Layer
Eingabe-3D-Features

Die 3D-Punkt-, Linien-, Polygon- oder Multipatch-Features, deren Nähe zum Identifizieren von LAS-Punkten verwendet wird.

Feature Layer
Suchradius

Der Bereich um die Eingabe-Features, der auf das Vorhandensein von LAS-Punkten überprüft wird. Die Entfernung kann entweder als linearer Abstand angegeben oder aus einem numerischen Feld in der Attributtabelle des Eingabe-Features abgeleitet werden. Wenn der Suchradius aus einem Feld oder einem linearen Abstand abgeleitet wird, dessen Einheiten als Unbekannt eingegeben werden, wird der XY-Raumbezug der Eingabe-Features verwendet.

Linear Unit; Field
Zählfeld

Der Name des Feldes, das der Attributtabelle des Eingabe-Features hinzugefügt und mit der Anzahl an LAS-Punkten in der Nähe der einzelnen Feature gefüllt wird. Der Standardname des Feldes lautet COUNT.

String
Ausgabe-Feature-Class
(optional)

Die Punkt-Features, die die LAS-Punkte darstellen, die in der angegebenen Nähe der Eingabe-Features ermittelt wurden.

Feature Class
Ausgabegeometrietyp
(optional)

Gibt die Geometrie der Ausgabe-Punkt-Features an, die die LAS-Punkte darstellen, die sich in der angegebenen Nähe der Eingabe-Features befinden.

  • MultipointMultipoint-Features, die in jeder Zeile mehrere Punkte aufweisen.
  • PunktEinzelpunkt-Features, die für jeden identifizierten LAS-Punkt eine eindeutige Zeile aufweisen.
String
Neuer Klassencode
(optional)

Der Klassencodewert zum Reklassifizieren der Punkte, die sich innerhalb des Suchradius der Eingabe-Features befinden.

Long
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
Pyramide aktualisieren
(optional)

Gibt an, ob die LAS-Dataset-Pyramide aktualisiert wird, nachdem die Klassencodes geändert wurden.

  • Aktiviert: Die LAS-Dataset-Pyramide wird aktualisiert. Dies ist die Standardeinstellung.
  • Nicht aktiviert: Die LAS-Dataset-Pyramide wird nicht aktualisiert.
Boolean

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Aktualisiertes Eingabe-LAS-Dataset

Das aktualisierte LAS-Dataset.

LAS Dataset Layer
Aktualisierte Eingabe-3D-Features

Die aktualisierten Eingabe-3D-Features.

Feature Layer

arcpy.ddd.LocateLasPointsByProximity(in_las_dataset, in_features, search_radius, count_field, {out_features}, {geometry}, {class_code}, {compute_stats}, {update_pyramid})
NameErläuterungDatentyp
in_las_dataset

Das zu verarbeitende LAS-Dataset.

LAS Dataset Layer
in_features

Die 3D-Punkt-, Linien-, Polygon- oder Multipatch-Features, deren Nähe zum Identifizieren von LAS-Punkten verwendet wird.

Feature Layer
search_radius

Der Bereich um die Eingabe-Features, der auf das Vorhandensein von LAS-Punkten überprüft wird. Die Entfernung kann entweder als linearer Abstand angegeben oder aus einem numerischen Feld in der Attributtabelle des Eingabe-Features abgeleitet werden. Wenn der Suchradius aus einem Feld oder einem linearen Abstand abgeleitet wird, dessen Einheiten als Unbekannt eingegeben werden, wird der XY-Raumbezug der Eingabe-Features verwendet.

Linear Unit; Field
count_field

Der Name des Feldes, das der Attributtabelle des Eingabe-Features hinzugefügt und mit der Anzahl an LAS-Punkten in der Nähe der einzelnen Feature gefüllt wird. Der Standardname des Feldes lautet COUNT.

String
out_features
(optional)

Die Punkt-Features, die die LAS-Punkte darstellen, die in der angegebenen Nähe der Eingabe-Features ermittelt wurden.

Feature Class
geometry
(optional)

Gibt die Geometrie der Ausgabe-Punkt-Features an, die die LAS-Punkte darstellen, die sich in der angegebenen Nähe der Eingabe-Features befinden.

  • MULTIPOINTMultipoint-Features, die in jeder Zeile mehrere Punkte aufweisen.
  • POINTEinzelpunkt-Features, die für jeden identifizierten LAS-Punkt eine eindeutige Zeile aufweisen.
String
class_code
(optional)

Der Klassencodewert zum Reklassifizieren der Punkte, die sich innerhalb des Suchradius der Eingabe-Features befinden.

Long
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
update_pyramid
(optional)

Gibt an, ob die LAS-Dataset-Pyramide aktualisiert wird, nachdem die Klassencodes geändert wurden.

  • UPDATE_PYRAMIDDie LAS-Dataset-Pyramide wird aktualisiert. Dies ist die Standardeinstellung.
  • NO_UPDATE_PYRAMIDDie LAS-Dataset-Pyramide wird nicht aktualisiert.
Boolean

Abgeleitete Ausgabe

NameErläuterungDatentyp
out_las_dataset

Das aktualisierte LAS-Dataset.

LAS Dataset Layer
derived_features

Die aktualisierten Eingabe-3D-Features.

Feature Layer

Codebeispiel

LocateLasPointsByProximity: 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.LocateLasPointsByProximity_3d('lidar.lasd', 'powerlines.shp', 
                                    search_radius="10 Feet", 
                                    count_field="Near_Pts",
                                    out_features="located_pts.shp")
LocateLasPointsByProximity: Beispiel 2 (eigenständiges Skript)

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

'''****************************************************************************
Name: Classify Noise Points
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
import exceptions, sys, traceback

# 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)

try:
    # Execute CreateLasDataset
    arcpy.management.CreateLasDataset(inLas, lasd, folder_recursion=recursion)
    # Execute Locate Outliers
    outlier_pts = 'in_memory/outliers'
    arcpy.ddd.LocateOutliers(lasd, out_feature_class=outlier_pts, 
                            apply_hard_limit='Apply_Hard_Limit', 
                            absolute_z_min=-15, absolute_z_max=680, 
                            apply_comparison_filter='Apply_Comparison_Filter',
                            z_tolerance=0, slope_tolerance=150, 
                            exceed_tolerance_ratio=0.5, outlier_cap=3000)
    # Execute ChangeLasClassCodes
    arcpy.ddd.LocateLasPointsByProximity(lasd, in_features=outlier_pts, 
                                         search_radius='0.5 Centimeters', 
                                         class_code=18)
    # Report messages
    arcpy.GetMessages(0)

except arcpy.ExecuteError:
    print(arcpy.GetMessages())

Lizenzinformationen

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

Verwandte Themen