Ausreißer identifizieren (3D Analyst)

Zusammenfassung

Identifiziert abweichende Höhenmessungen aus Terrain-, TIN- oder LAS-Datasets, die einen definierten Bereich von Höhenwerten überschreiten oder Neigungseigenschaften aufweisen, die mit der umgebenden Oberfläche inkonsistent sind.

Verwendung

  • Die beiden Optionen Harte Grenzen anwenden und Vergleichsfilter anwenden können für die Ausreißererkennung angewendet werden. Wenn beide Optionen aktiviert sind, wird der feste Grenzwert zuerst angewendet.

  • Die Option Harte Grenzen anwenden behandelt jeden Punkt mit einem Höhenwert unter dem Wert für Absolutes Z-Minimum und über dem Wert für Absolutes Z-Maximum als Ausreißer. Verwenden Sie die Option, wenn der Bereich gültiger Höhenwerte für die von der Oberfläche dargestellte Region bekannt ist.

  • Verwenden Sie die Option Vergleichsfilter anwenden, um die Datenpunkte zu ermitteln, die einen Höhen- oder Neigungsunterschied relativ zu benachbarten Messungen überschreiten. Jeder Messwert auf der Oberfläche wird von seinen natürlichen Nachbarn auf Abweichungen in Höhe und Neigung geprüft. Die Option Toleranzverhältnis für die Überschreitung wird verwendet, um die Anzahl der angrenzenden Messwerte aus der Nachbarschaft des Abfragepunktes zu bestimmen, die von der Neigungs- und Höhentoleranz überschritten werden müssen, damit der Punkt als Ausreißer betrachtet wird.

  • Wenn bei einem bestimmten Punkt mit X Knoten, die mit Dreieckskanten verbunden sind, die Neigung vom Punkt zu einem verbundenen Punkt größer als die Neigungstoleranz in m Punkten ist (m ist gleich n mal das Toleranzverhältnis für die Überschreitung), dann wird der Punkt als Ausreißer betrachtet.
  • Der Vergleichsfilter eignet sich am besten für Punktdaten von unbebauten Erdoberflächen. Er sollte nicht unter Verwendung von Vegetation und Gebäuden für ein Dataset ausgeführt werden, da beim Vergleich meist viele dieser Features als Ausreißer behandelt werden. Wenn Sie diese Methode zur Erkennung von Ausreißern bei einem LAS-Dataset verwenden, filtern Sie nach klassifizierten Bodenpunkten. Alternativ können Sie das Werkzeug Rauschen aus LAS klassifizieren verwenden, um in LAS-Datasets Rauschpunkte zu identifizieren.

  • Die Ausgabepunkte werden mit einem Ganzzahlfeld mit der Bezeichnung "REASON" zugeordnet, dessen Werte die aus der Einbeziehung der Punktmessung resultierenden Kriterien für die Ausreißeridentifizierung ermitteln.

    • 0 – Harte Grenze
    • 1 – Harte Grenze und Vergleichsfilter
    • 2 – Vergleichsfilter
  • Um die Ausreißerpunkte aus einem Terrain-Dataset zu entfernen, können Sie das Werkzeug Terrain-Punkte löschen mit den im Parameter Interessenbereich angegebenen Ausreißerpunkten verwenden.

Syntax

arcpy.3d.LocateOutliers(in_surface, out_feature_class, {apply_hard_limit}, {absolute_z_min}, {absolute_z_max}, {apply_comparison_filter}, {z_tolerance}, {slope_tolerance}, {exceed_tolerance_ratio}, {outlier_cap})
ParameterErklärungDatentyp
in_surface

Das zu analysierende Terrain-, TIN- oder LAS-Dataset.

LAS Dataset Layer; Terrain Layer; TIN Layer
out_feature_class

Die Feature-Class, die von diesem Werkzeug erstellt wird.

Feature Class
apply_hard_limit
(optional)

Legt die Verwendung eines absoluten Z-Minimums und -Maximums bei der Suche nach Ausreißern fest.

  • APPLY_HARD_LIMITDas absolute Z-Minimum und -Maximum wird bei der Suche nach Ausreißern verwendet.
  • NO_APPLY_HARD_LIMITDas absolute Z-Minimum und -Maximum wird bei der Suche nach Ausreißern nicht verwendet. Dies ist die Standardeinstellung.
Boolean
absolute_z_min
(optional)

Wenn harte Grenzen angewendet werden, wird jeder Punkt mit einer Höhe unter diesem Wert als Ausreißer angesehen. Die Standardeinstellung ist 0.

Double
absolute_z_max
(optional)

Wenn harte Grenzen angewendet werden, wird jeder Punkt mit einer Höhe über diesem Wert als Ausreißer angesehen. Die Standardeinstellung ist 0.

Double
apply_comparison_filter
(optional)

Der Vergleichsfilter besteht aus drei Parametern zum Bestimmen von Ausreißern z_tolerance, slope_tolerance und exceed_tolerance_ratio.

  • APPLY_COMPARISON_FILTERDie drei Vergleichsparameter (z_tolerance, slope_tolerance und exceed_tolerance_ratio) werden zum Bewerten der Punkte verwendet. Dies ist die Standardeinstellung.
  • NO_APPLY_COMPARISON_FILTERDie drei Vergleichsparameter (z_tolerance, slope_tolerance und exceed_tolerance_ratio) werden nicht zum Bewerten der Punkte verwendet.
Boolean
z_tolerance
(optional)

Vergleicht Z-Werte benachbarter Punkte, wenn der Vergleichsfilter angewendet wird. Die Standardeinstellung ist 0.

Double
slope_tolerance
(optional)

Der Schwellenwert der Neigungsvarianz zwischen aufeinander folgenden Punkten, mit dem Ausreißerpunkte identifiziert werden. Die Neigung wird in Prozent ausgedrückt. Der Standardwert ist 150.

Double
exceed_tolerance_ratio
(optional)

Definiert die Kriterien für die Festlegung der einzelnen Ausreißerpunkte als Funktion des Punktverhältnisses in der natürlichen Nachbarschaft, das die angegebenen Vergleichsfilter überschreiten muss. Der Standardwert 0,5 bedeutet beispielsweise, dass mindestens die Hälfte der Punkte, die den Abfragepunkt umgeben, die Vergleichsfilter für den als Ausreißer zu betrachtenden Abfragepunkt überschreiten müssen. Der Wert 0,7 bedeutet, dass mindestens 70 Prozent der benachbarten Punkte die Toleranzen überschreiten müssen.

Double
outlier_cap
(optional)

Die maximale Anzahl von Ausreißerpunkten, die in die Ausgabe geschrieben werden können. Sobald dieser Wert erreicht ist, werden keine weiteren Ausreißer gesucht. Die Standardeinstellung ist 2.500.

Long

Codebeispiel

LocateOutliers – Beispiel 1 (Python-Fenster)

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

arcpy.env.workspace = "C:/data"
arcpy.LocateOutliers_3d("tin", "outliers.shp", "NO_APPLY_HARD_LIMIT", 0, 0, 
                        "APPLY_COMPARISON_FILTER", 0, 150, 0.5, 2500)
LocateOutliers - Beispiel 2 (eigenständiges Skript)

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

'''**********************************************************************
Name: Delete Terrain Outliers
Description: Uses Locate Outliers to identify outlier points in 
             a terrain dataset, and eliminates the outliers from the 
             terrain with Delete Terrain Points.
**********************************************************************'''
# Import system modules
import arcpy

# Set Local Variables
arcpy.env.workspace = 'C:/data'
terrain = 'test.gdb/featuredataset/sample_terrain'
terrainPt = 'elevation_pts'  # name of terrain point data source
outliers = 'in_memory/outliers'

# Execute LocateOutliers
arcpy.ddd.LocateOutliers(terrain, outliers, 'APPLY_HARD_LIMIT', -10, 
                         350, 'APPLY_COMPARISON_FILTER', 1.2, 120, 
                         0.8, 8000)
# Execute Delete Terrain Points
arcpy.ddd.DeleteTerrainPoints(terrain, terrainPt, outliers)

Lizenzinformationen

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

Verwandte Themen