定位异常值 (3D Analyst)
用法
- 要素类通过那些加入到输入表面的复制点创建和填充。根据用户指定的条件,这些点已标记为异常值。异常值是看起来具有高程或可能导致与预期值不一致的坡度的点。
- 如果选择了应用硬限制选项,而没有选择应用比较过滤器选项,那么将输出所有在用户指定的 Z 最小绝对值和 Z 最大绝对值范围之外的点。
- 如果同时选择了应用硬限制选项和应用比较过滤器选项,那么将同时应用这两个条件。
- 对于任何有 n 个连接点(TIN 结点,通过三角形边上连接)的给定点,如果从该给定点到连接点的坡度大于 m 个点中的坡度容差(其中 m 是超出容差比的 n 倍),那么将在输出中写入此给定点。
- 一旦写入到输出的点数达到异常值限制的极限,则不会再写出任何点。
语法
LocateOutliers_3d (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})
参数 | 说明 | 数据类型 |
in_surface |
输入 TIN 或 terrain 数据集。 | TIN Layer; Terrain Layer |
out_feature_class |
输出要素类。 | Feature Class |
apply_hard_limit (可选) |
是否使用 Z 最小绝对值和 Z 最大绝对值寻找异常值。
| Boolean |
absolute_z_min (可选) |
如果应用了硬限制,那么任何一个点的高程低于此值将被视为异常值。默认值为 0。 | Linear unit |
absolute_z_max (可选) |
如果应用了硬限制,那么任何一个点的高程高于此值将被视为异常值。默认值为 0。 | Linear unit |
apply_comparison_filter (可选) |
该比较过滤器包括三个用来评估点的参数,通过评估点来确定点是否是异常值 - 可以选择在评估点时是否使用以下三个参数(Z 容差、坡度容差和超出容差比)。
| Boolean |
z_tolerance (可选) |
用于在应用了比较过滤器的情况下比较邻近点的 Z 值。默认值为 0。 | Linear unit |
slope_tolerance (可选) |
连续点间的坡度阈值。它以百分比形式表示。默认值为 150。 | Double |
exceed_tolerance_ratio (可选) |
最大容差。默认值为 0.5。 | Double |
outlier_cap (可选) |
输出异常点的最大数量。一旦达到了该值,将无法搜索其他异常值。默认值为 2500。 | Long |
代码示例
定位异常值示例 1(Python 窗口)
以下 Python 窗口脚本演示了如何在立即模式下使用定位异常值函数。
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)
定位异常值示例 2(独立脚本)
以下 Python 脚本演示了如何在独立脚本中使用定位异常值函数。
'''********************************************************************** 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)
环境
相关主题
许可信息
ArcView: 需要 3D Analyst
ArcEditor: 需要 3D Analyst
ArcInfo: 需要 3D Analyst
7/10/2012