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