ArcGIS Desktop

  • 文档
  • 支持

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

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

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS for Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

简化线

  • 摘要
  • 插图
  • 用法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

摘要

在不改变基本几何形状的情况下,通过移除多余的折弯简化线。

了解有关“简化线”工作原理的详细信息

插图

简化线图示

用法

  • 存在两种简化方法:

    • POINT_REMOVE 是两种算法中较快的。它可移除多余的折点。此方法用于数据压缩或更为粗糙的简化。随着容差的增大,生成的线中有棱角的部分(尖锐拐角)将显著增加,所以,输出的线可能不如输入的线美观。
    • BEND_SIMPLIFY 速度较慢,但通常会生成与原始要素更为接近的结果。其操作方式为消除沿线方向上不太重要的弯曲。此方法用于精细的简化。

  • 简化容差值用于确定简化程度。将容差设置为等于或大于图形元素之间允许的最小间距。容差相同的前提下,POINT_REMOVE 生成的结果比 BEND_SIMPLIFY 生成的结果更粗略更简化。

  • 该工具会产生两个输出要素类:一个是可存储简化之后的线的线要素类,一个是存储用来表示任意折叠于一点的线的那些点的点要素类。点的输出名称和位置自动从输出的线的名称获得,并加 _Pnt 作为后缀。输出线要素类包含输入要素类中的所有字段。输出点要素类不包含任何这些字段。

  • 以下为处理输出中的拓扑错误的选项:

    • 检查拓扑错误参数用于标识简化过程所引入的拓扑错误。选中此选项时,解决拓扑错误参数将激活。检查拓扑错误会降低处理速度。
    • 输出线要素类包含两个表示要素是否存在拓扑错误的字段。InLine_FID 和 SimLnFlag 分别包含输入要素 ID 和拓扑错误。值 1 表示已引入错误;值 0(零)表示未引入错误。
    • 拓扑错误解决之后,标记值仍将保持不变。SimLnFlag 字段用于检查包含拓扑错误的要素。
  • 检查拓扑错误和解决拓扑错误参数不能在编辑会话内使用。要在编辑会话内运行此工具,请禁用检查拓扑错误参数。

    注:

    ArcGIS Pro 允许在任何时候设置这些参数,即使正在编辑中也始终可用。

语法

SimplifyLine_cartography (in_features, out_feature_class, algorithm, tolerance, {error_resolving_option}, {collapsed_point_option}, {error_checking_option})
参数说明数据类型
in_features

要进行简化的线要素。

Feature Layer
out_feature_class

要创建的输出线要素类。

Feature Class
algorithm

指定线的简化算法。

  • POINT_REMOVE —保留构成线的基本形状的关键点,而移除所有其他点。这是默认设置。
  • BEND_SIMPLIFY —保留线中的关键折弯,而移除多余折弯。
String
tolerance

用于确定简化程度的容差。必须指定一个容差,且值必须大于零。可以选择首选单位;默认为要素单位。

  • 对于POINT_REMOVE算法,指定的容差表示每个折点与其原始位置的最大允许偏移量。使用该选项解决拓扑错误时,可在某些区域局部减小此值。
  • 对于BEND_SIMPLIFY算法,指定的容差表示参考弯曲基线的长度。
Linear unit
error_resolving_option
(可选)

指定处理拓扑错误的方式(这些拓扑错误可能是在处理时引入的,其中包括交叉的线、重叠的线和折叠为零长度的线)。当 error_checking_option = "CHECK" 时(默认设置),该参数生效。

  • FLAG_ERRORS —指定标记拓扑错误(如果发现拓扑错误)。这是默认设置。
  • RESOLVE_ERRORS —指定解决拓扑错误(如果发现拓扑错误)。
Boolean
collapsed_point_option
(可选)

指定是否将处理中发现的任何折叠的零长度线作为点保留下来。只有指定了NO_CHECK或者同时指定了FLAG_ERRORS和CHECK选项时,该选项才适用。

  • KEEP_COLLAPSED_POINTS —指定将折叠的零长度线作为点保留下来。折叠线的端点将存储在位于输出要素类位置的点要素类中,以输出要素类的名称加上后缀 _Pnt 作为其名称。这是默认设置。
  • NO_KEEP —指定折叠的零长度线不作为点保留下来,即使在处理中发现也不保留;因此,点要素类将为空。
Boolean
error_checking_option
(可选)

指定处理拓扑错误的方式(这些拓扑错误可能是在处理时引入的,其中包括交叉的线、重叠的线和折叠为零长度的线)。

  • CHECK —指定检查拓扑错误并启用 error_resolving_option 参数。这是默认设置。
  • NO_CHECK —指定不检查拓扑错误并禁用 error_resolving_option 参数。
Boolean

代码示例

SimplifyLine 示例(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 SimplifyLine 工具。

import arcpy
from arcpy import env
import arcpy.cartography as CA
env.workspace = "C:/data"
CA.SimplifyLine("roads.shp", 
                "C:/output/output.gdb/simplified_roads", 
                "POINT_REMOVE", 
                20)
SimplifyLine 示例 2(独立脚本)

以下独立脚本演示了如何使用 SimplifyLine 工具。

# Name: SimplifyLine_Example2.py
# Description: Simplify line features from two feature classes, rivers and coastlines,
# while maintaining their connections
 
# Import system modules
import arcpy
from arcpy import env
import arcpy.management as DM
import arcpy.cartography as CA
 
# Set environment settings
env.workspace = "C:/data/Portland.gdb/Hydrography"
 
# Set local variables
inRiverFeatures = "rivers"
inCoastlineFeatures = "coastlines"
mergedFeatures = "C:/data/PortlandOutput.gdb/merged_lines"
simplifiedFeatures = "C:/data/PortlandOutput.gdb/merged_lines_simplified"
tempLayer = "tempLyr"
outRiverFeatureClass = "C:/data/PortlandOutput.gdb/rivers_final"
outCoastlineFeatureClass = "C:/data/PortlandOutput.gdb/coastlines_final"
# Merge rivers and coastlines into one feature class, 
# assuming that they have a common f-code field 
# with value 40 for rivers and 80 for coastlines.
DM.Merge(inRiverFeatures, inCoastlineFeatures, mergedFeatures)
# Simplify all lines.
CA.SimplifyLine(mergedFeatures, 
                simplifiedFeatures, 
                "BEND_SIMPLIFY", 
                100, 
                "RESOLVE_ERRORS", 
                "KEEP_COLLAPSED_POINTS", 
                "CHECK")
 
# Select rivers and coastlines by their f-code values 
# and put them in separate feature classes.
DM.MakeFeatureLayer(simplifiedFeatures, tempLayer, "f-code = 40")
DM.CopyFeatures(tempLayer, outRiverFeatureClass)
DM.MakeFeatureLayer(simplifiedFeatures, tempLayer, "f-code = 80")
DM.CopyFeatures(tempLayer, outCoastlineFeatureClass)

环境

  • 当前工作空间
  • 默认输出 Z 值
  • 输出 M 属性域
  • 输出 XY 属性域
  • 输出坐标系
  • 范围
  • 输出包含 M 值
  • 输出包含 Z 值
  • 临时工作空间
  • XY 容差

许可信息

  • ArcGIS Desktop Basic: 否
  • ArcGIS Desktop Standard: 是
  • ArcGIS Desktop Advanced: 是

相关主题

  • 制图综合工具集概述
  • 了解冲突解决和制图综合
  • 通过地理处理自动化冲突解决和制图综合的工作流
  • 简化面
  • 简化线的工作原理

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS 平台

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

关于 Esri

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