Ubicar valores atípicos (3D Analyst)
Resumen
Ubica puntos que parecen ser anomalías cuando se comparan con una superficie. Estos puntos representan puntos que pueden ser equivocaciones, y puede ser necesario eliminarlos de la creación de la superficie.
Más información sobre cómo funciona Ubicar valores atípicos (3D Analyst)
Uso
- Se crea una clase de entidad y se completa con puntos copiados que participan en la superficie de entrada. Estos puntos se han marcado como valores atípicos de acuerdo con los criterios especificados por el usuario. Los valores atípicos son puntos que parecerían tener una elevación o causar una pendiente inconsistente con la esperada.
- Si selecciona la opción Aplicar límite estricto y no la opción Aplicar filtro de comparación, entonces todos los puntos que caen fuera del rango especificado por el usuario en Mínimo Z absoluto y Máximo Z absoluto serán de salida.
- Si la opción Aplicar límite estricto está seleccionada y también la opción Aplicar filtro de comparación, entonces se aplican los dos criterios.
- Para todo punto dado que tenga puntos conectados n (nodos de un TIN, conectados por bordes de triángulo), si la pendiente desde él hasta un punto conectado es mayor que la Tolerancia de pendiente en puntos m (donde m es n veces Superar relación de tolerancia), entonces el punto se escribe para la salida.
- Una vez que la cantidad de puntos escritos para la salida alcance el límite Extremo de valor atípico, entonces no se escribirán más puntos.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_surface |
El TIN o el dataset de terreno de entrada. | TIN Layer; Terrain Layer |
out_feature_class |
La clase de entidad de salida. | Feature Class |
apply_hard_limit (Opcional) |
Si utilizar el valor Z mínimo y máximo absoluto para encontrar valores atípicos.
| Boolean |
absolute_z_min (Opcional) |
Si se aplican límites estrictos, entonces todo punto con una elevación por debajo de este valor se considerará un valor atípico. El valor predeterminado es 0. | Linear unit |
absolute_z_max (Opcional) |
Si se aplican límites estrictos, entonces todo punto con una elevación por encima de este valor se considerará un valor atípico. El valor predeterminado es 0. | Linear unit |
apply_comparison_filter (Opcional) |
El filtro de comparación consta de tres parámetros para evaluar los puntos a fin de determinar si son valores atípicos; si usar los siguientes tres parámetros (Tolerancia Z, Tolerancia de pendiente y Superar relación de tolerancia) para evaluar los puntos.
| Boolean |
z_tolerance (Opcional) |
Se utiliza para comparar valores Z de puntos vecinos, si se aplica el filtro de comparación. El valor predeterminado es 0. | Linear unit |
slope_tolerance (Opcional) |
El umbral de pendiente entre puntos consecutivos. Expresado como un porcentaje. El valor predeterminado es 150. | Double |
exceed_tolerance_ratio (Opcional) |
La tolerancia máxima. El valor predeterminado es 0.5. | Double |
outlier_cap (Opcional) |
La cantidad máxima de puntos de valores atípicos que se han generado como salida. Una vez alcanzado este valor, no se buscan más valores atípicos. El valor predeterminado es 2500. | Long |
Ejemplo de código
La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la función Ubicar valores atípicos en el modo inmediato.
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)
La siguiente secuencia de comandos de Python muestra cómo utilizar la función Ubicar valores atípicos en una secuencia de comandos independiente.
'''********************************************************************** 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)