ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

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

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

ArcMap

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

简化线或面

在 Advanced 许可等级下可用。

  • 描述
  • 插图
  • 使用方法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

描述

在保持线或面边界的基本形状不变的前提下,通过移除其中的小波动或多余的折弯来简化边或面边界。

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

插图

Simplify Line or Polygon illustration

使用方法

  • 如果输入 coverage 已包含相交线,或者如果您想要一个快速的结果,而不介意输出 coverage 中存在拓扑错误,则请使用默认选项,此选项不会检查是否有拓扑错误。对于由进程引入的拓扑错误,系统既不会检查也不会更正。如果输入 Coverage 包含相交线,而您选择检查拓扑错误,则会在输入数据验证时失败,程序将终止,并会显示一条消息:“在 in_cover 中发现相交线。程序已终止。”

  • 如果输入 Coverage 不包含相交线,选中“检查拓扑错误”选项可发现和避免由简化进程进程产生的错误。如果发现拓扑错误,则使用简化的容差重新概化涉及的弧线。系统将会再次检查结果中是否有拓扑错误。重复执行进程,直到不再发现错误。使用此选项时,与使用默认选项相比,程序运行时间要长很多。

  • 除非没有 input_coverage.AAT,否则 output_coverage.AAT 将包含新项目 TOLFLAG,此项目存储以十进制数表示的用于每个弧线的容差。小于“简化容差”的“容差”指示正在简化以避免拓扑错误的弧线。

  • 如果输入 Coverage 中存在多边形拓扑,则不会在输出 Coverage 中保留。但会保留 Coverage PAT。必须使用“构建”重新创建多边形拓扑。如果存在标注,则也会保留标注。如果简化多边形边界时标注位于边界以外,则仅仅将标注移动到多边形边界的最近线段内。

  • 如果输入 Coverage 中存在区域,则输出 Coverage 中的区域将是初始区域。使用构建重新创建多边形拓扑时,也会重新创建区域拓扑。

  • 输出 Coverage 的坐标精度由派生精度环境设置所设置的当前处理规则来确定。如果未建立处理规则,输出 Coverage 的精度将与输入 Coverage 相同。

语法

arcpy.arc.SimplifyLineOrPolygon(in_cover, out_cover, simplification_tolerance, {simplification_operator}, {ErrorCheck})
参数说明数据类型
in_cover

包含要简化的弧线或多边形的 Coverage。

Coverage
out_cover

要创建的 Coverage。输出 Coverage 的名称必须不同于输入 Coverage 的名称。

Coverage
simplification_tolerance

以 Coverage 单位为单位设置容差。必须指定容差,且容差必须大于零。

Double
simplification_operator
(可选)

指定简化运算符。

  • POINT_REMOVE —使用道格拉斯-普克算法进行具有增强功能的线简化处理。此运算符是默认设置。
  • BEND_SIMPLIFY —检测并移除原始线上多余的折弯。
String
ErrorCheck
(可选)

指定是否检查拓扑错误,包括线交叉、线重叠、零长度线、收缩的多边形以及位于多边形以外的孔洞。

  • NO_ERROR_CHECK —指定不检查拓扑错误。这是默认设置。
  • ERROR_CHECK —指定检查拓扑错误。
Boolean

代码示例

SimplifyLineOrPolygon 示例(独立脚本)

以下独立脚本演示如何简化湖 Coverage。

# Name: SimplifyLineOrPolygon_Example.py
# Description: Simplifies a lake coverage
# Requirements: ArcInfo Workstation

# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data"

# Set local variables
inCover = "lakeshore"
outCover = "C:/output/cartolake"
simplificationTolerance = 110
simplificationOperator = "BEND_SIMPLIFY"

# Execute SimplifyLineOrPolygon
arcpy.SimplifyLineOrPolygon_arc(inCover, outCover, simplificationTolerance,
                                simplificationOperator, "")

环境

  • 当前工作空间
  • 投影文件之间的比较级别
  • 派生 Coverage 的精度
  • 新建 Coverage 的精度
  • 临时工作空间

许可信息

  • Basic: 否
  • Standard: 否
  • Advanced: 需要 已安装 ArcInfo Workstation

相关主题

  • Coverage 制图综合工具集概述
  • 简化线
  • 简化面

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2021 Esri. | 隐私政策 | 法律声明