ArcGIS for Desktop

  • 文档
  • 合约
  • 支持

  • My Profile
  • 帮助
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS for Desktop

全面的专业性 GIS

ArcGIS for Server

面向企业的 GIS

ArcGIS for Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 合约
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

帮助

  • 主页
  • 入门
  • 制图
  • 分析
  • 管理数据
  • 工具
  • 更多...

定位异常值

  • 摘要
  • 用法
  • 语法
  • 代码实例
  • 环境
  • 许可信息

摘要

标识来自 terrain、TIN 或 LAS 数据集的异常高程测量值,这些差异值超出了高程值的定义范围或具有与周围表面不一致的坡度特征。

用法

  • 可针对异常值检测应用应用硬限制和应用比较过滤器选项。

    注:

    两个过滤器都启动后,会先应用硬限制。

  • 表面的有效高程值范围已知时,考虑使用应用硬限制选项。将在输出中创建超出由 Z 最小绝对值和 Z 最大绝对值定义的范围的点高程测量值。

  • 考虑使用应用比较过滤器选项来定位超出相对于邻近测量值的高度或斜度差的数据点。此选项会测试每个数据点与其自然相邻点的高度和坡度差异。超出容差比用来确定测试点的邻近区域中点的数量,必须超出其坡度或高度容差才能将该点视为异常值。

  • 对于任何有 X 个通过三角形边连接结点的给定点,如果从该给定点到连接点的坡度大于 m 个点中的坡度容差(其中 m 是超出容差比的 n 倍),那么将在输出中写入此给定点。
  • 异常值限制限制了可以写入输出中的点的数量。达到此限制后,该工具就会返回警告并停止查找异常值。

  • 输出点会将名为 REASON 的整型字段作为属性,该字段的值可标识包括点测量值得出的异常值识别条件

    • 0 - 硬限制
    • 1 - 硬限制和比较过滤器
    • 2 - 比较过滤器
  • 要从 terrain 数据集消除异常点,则考虑针对在感兴趣区域参数中指定的异常点使用删除 Terrain 点工具。

  • 考虑通过使用使用要素设置 LAS 类代码工具,将 LAS 数据集中标识的异常点重分类为噪声。

语法

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

将要分析的 terrain、TIN 或 LAS 数据集。

LAS Dataset Layer; Terrain Layer; TIN Layer
out_feature_class

将由此工具生成的要素类。

Feature Class
apply_hard_limit
(可选)

指定使用 Z 最小绝对值和 Z 最大绝对值寻找异常值。

  • APPLY_HARD_LIMIT —使用 Z 最小绝对值和 Z 最大绝对值寻找异常值。
  • NO_APPLY_HARD_LIMIT —不使用 Z 最小绝对值和 Z 最大绝对值寻找异常值。这是默认设置。
Boolean
absolute_z_min
(可选)

如果应用了硬限制,那么任何一个点的高程低于此值将被视为异常值。默认值为 0。

Double
absolute_z_max
(可选)

如果应用了硬限制,那么任何一个点的高程高于此值将被视为异常值。默认值为 0。

Double
apply_comparison_filter
(可选)

比较过滤器包括用于确定异常值(z_tolerance、slope_tolerance 和 exceed_tolerance_ratio)的三个参数。

  • APPLY_COMPARISON_FILTER —在评估点时使用三个比较参数(Z 容差、坡度容差和超出容差比)。这是默认设置。
  • NO_APPLY_COMPARISON_FILTER —在评估点时不使用三个比较参数(Z 容差、坡度容差和超出容差比)。
Boolean
z_tolerance
(可选)

用于在应用了比较过滤器的情况下比较邻近点的 Z 值。默认值为 0。

Double
slope_tolerance
(可选)

用于标识异常值点的连续点之间坡度变化的阈值。坡度用百分比表示,默认为 150。

Double
exceed_tolerance_ratio
(可选)

将确定每个异常值点的条件定义为其邻域内必须超出指定比较过滤器的点比例的函数。例如,默认值 0.5 表示查询点周围至少有一半的点必须超出比较过滤器,这样查询点才会被标记为异常值。值 0.7 表示至少 70% 的相邻点必须超出容差。

Double
outlier_cap
(可选)

异常值点的最大数量可被写入至输出。一旦达到了该值,将无法搜索其他异常值。默认值为 2,500。

Long

代码实例

定位异常值 (LocateOutliers) 示例 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)
定位异常值 (LocateOutliers) 示例 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)

环境

  • 当前工作空间
  • 临时工作空间
  • 范围
  • 输出坐标系
  • 地理变换
  • XY 分辨率
  • XY 容差
  • 输出 XY 属性域
  • Z 分辨率
  • Z 容差
  • 输出 Z 属性域
  • 输出配置关键字
  • 自动提交

相关主题

  • 三角化网格面工具集概述
  • 有关使用 ArcGIS 3D Analyst 扩展模块进行地理处理的基础知识
  • 有关表面的基础知识
  • 了解表面的形状
有关此主题的反馈?

ArcGIS for Desktop

  • 主页
  • 文档
  • 合约
  • 支持

ArcGIS 平台

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • 内部人员博客
  • 用户大会
  • 开发者峰会
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | 隐私政策 | 法律声明