在 Advanced 许可等级下可用。
描述
在保持线或面边界的基本形状不变的前提下,通过移除其中的小波动或多余的折弯来简化边或面边界。
插图
使用
如果输入 coverage 已包含相交线,或者如果您想要一个快速的结果,而不介意输出 coverage 中存在拓扑错误,则请使用默认选项,此选项不会检查是否有拓扑错误。对于由进程引入的拓扑错误,系统既不会检查也不会更正。如果输入 Coverage 包含相交线,而您选择检查拓扑错误,则会在输入数据验证时失败,程序将终止,并会显示一条消息:“在 in_cover 中发现相交线。程序已终止。”
如果输入 Coverage 不包含相交线,选中“检查拓扑错误”选项可发现和避免由简化进程进程产生的错误。如果发现拓扑错误,则使用简化的容差重新概化涉及的弧线。系统将会再次检查结果中是否有拓扑错误。重复执行进程,直到不再发现错误。使用此选项时,与使用默认选项相比,程序运行时间要长很多。
除非没有 input_coverage.AAT,否则 output_coverage.AAT 将包含新项目 TOLFLAG,此项目存储以十进制数表示的用于每个弧线的容差。小于“简化容差”的“容差”指示正在简化以避免拓扑错误的弧线。
如果输入 Coverage 中存在多边形拓扑,则不会在输出 Coverage 中保留。但会保留 Coverage PAT。必须使用“构建”重新创建多边形拓扑。如果存在标注,则也会保留标注。如果简化多边形边界时标注位于边界以外,则仅仅将标注移动到多边形边界的最近线段内。
如果输入 Coverage 中存在区域,则输出 Coverage 中的区域将是初始区域。使用构建重新创建多边形拓扑时,也会重新创建区域拓扑。
输出 Coverage 的坐标精度由派生精度环境设置所设置的当前处理规则来确定。如果未建立处理规则,输出 Coverage 的精度将与输入 Coverage 相同。
语法
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 (可选) | 指定简化运算符。
| String |
ErrorCheck (可选) | 指定是否检查拓扑错误,包括线交叉、线重叠、零长度线、收缩的多边形以及位于多边形以外的孔洞。
| 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, "")
环境
许可信息
- Basic: 否
- Standard: 否
- Advanced: 需要 已安装 ArcInfo Workstation