Ausreißer identifizieren (3D Analyst)
Zusammenfassung
Identifiziert Punkte, bei denen es sich im Vergleich zur Oberfläche um Abweichungen zu handeln scheint. Diese Punkte sind möglicherweise fehlerhaft und müssen u. U. bei der Erstellung der Oberfläche entfernt werden.
Weitere Informationen zur Funktionsweise von "Ausreißer identifizieren" (3D Analyst)
Verwendung
- Eine Feature-Class wird erstellt und mit kopierten Punkten aufgefüllt, die ein Teil der Eingabe-Oberfläche sind. Diese Punkte wurden anhand von benutzerdefinierten Kriterien als Ausreißer gekennzeichnet. Ausreißer sind Punkte, die scheinbar eine Höhe haben oder eine Neigung verursachen, die nicht den Erwartungen entsprechen.
- Wenn die Option Harte Grenze anwenden und nicht die Option Vergleichsfilter anwenden ausgewählt ist, dann werden alle Punkte ausgegeben, die nicht in dem Bereich liegen, den der Benutzer über Absolutes Z-Minimum und Absolutes Z-Maximum definiert hat.
- Wenn sowohl die Option Harte Grenze anwenden als auch die Option Vergleichsfilter anwenden ausgewählt ist, werden beide Kriterien angewendet.
- Wenn bei einem bestimmten Punkt mit n verbundenen Punkten (Knoten eines TIN, verbunden über Dreieckskanten) 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 in die Ausgabe geschrieben.
- Sobald die Anzahl der Punkte, die in die Ausgabe geschrieben werden, die Ausreißergrenze erreicht, werden keine Punkte mehr ausgeschrieben.
Syntax
Parameter | Erläuterung | Datentyp |
in_surface |
Das Eingabe-TIN oder Eingabe-Terrain-Dataset. | TIN Layer; Terrain Layer |
out_feature_class |
Die Ausgabe-Feature-Class. | Feature Class |
apply_hard_limit (optional) |
Legt fest, ob das absolute Z-Minimum und Z-Maximum zum Suchen der Ausreißer verwendet werden.
| 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. | Linear unit |
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. | Linear unit |
apply_comparison_filter (optional) |
Der Vergleichsfilter besteht aus drei Parametern zum Bewerten der Punkte, um festzustellen, ob sie Ausreißer sind; gibt an, ob die folgenden drei Parameter (Z-Toleranz, Neigungstoleranz und Toleranzverhältnis für die Überschreitung) für die Bewertung der Punkte zu verwenden sind.
| Boolean |
z_tolerance (optional) |
Wird verwendet, um die Z-Werte benachbarter Punkte zu vergleichen, wenn der Vergleichsfilter angewendet wird. Die Standardeinstellung ist 0. | Linear unit |
slope_tolerance (optional) |
Der Neigungsgrenzwert zwischen aufeinander folgenden Punkten. Ausgedrückt als Prozentsatz. Die Standardeinstellung ist 150. | Double |
exceed_tolerance_ratio (optional) |
Die maximale Toleranz. Die Standardeinstellung ist 0,5. | Double |
outlier_cap (optional) |
Die maximale Anzahl von Ausreißerpunkten, die ausgegeben wurden. Sobald dieser Wert erreicht ist, werden keine weiteren Ausreißer gesucht. Die Standardeinstellung ist 2500. | Long |
Codebeispiel
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion Ausreißer identifizieren im unmittelbaren Modus verwenden.
import arcpy from arcpy import env arcpy.CheckOutExtension("3D") env.workspace = "C:/data" arcpy.LocateOutliers_3d("tin", "outliers.shp", "NO_APPLY_HARD_LIMIT", 0, 0, "APPLY_COMPARISON_FILTER", 0, 150, 0.5, 2500)
Das folgende Python-Skript veranschaulicht, wie Sie die Funktion Ausreißer identifizieren in einem eigenständigen Skript verwenden.
'''********************************************************************** 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 import exceptions, sys, traceback from arcpy import env try: arcpy.CheckOutExtension('3D') # Set Local Variables 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) 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)