擦除 (Coverage)
摘要
通过将擦除 Coverage 的面与输入 Coverage 的要素进行叠加来创建新的输出 Coverage。仅将输入 Coverage 处于擦除多边形外部边界之外的那些部分复制到输出 Coverage。
插图
用法
-
输出 coverage 已不存在。
-
如果注记的左下起点位于擦除多边形内部,则擦除该注记。
-
新结点的属性将设置为零。
-
移除与擦除 coverage 多边形重叠的输入 coverage 多边形。
-
擦除 coverage 必须具有面拓扑。
-
输出 coverage 中所有要素的用户 ID 与输入 coverage 中所有要素的用户 ID 相同。
-
如果选择了 POLY 和 NET 选项,面拓扑将在输出 coverage 中重新构建。输入面标注点将尽量保留在输出中。如果各旧面均位于擦除 coverage 多边形之外,则它们将保持其初始的标注点位置不变。
-
使用“擦除”功能时,不会使用擦除 coverage 中内部面的边界。内部编号大于一的任何擦除 coverage 面均将视为位于擦除窗口内部;如果面的内部编号为一,则将视为位于窗口外部。只有位于擦除区域以外的那些输入要素(或输入要素的部分)会存储在输出 coverage 中。
-
擦除 coverage 的外部边界可定义要移除的输入 coverage 要素的区域。内部编号大于一的任何擦除 coverage 面均将视为位于擦除窗口内部;如果面的内部编号为一,则将视为位于窗口外部。
-
如果擦除 coverage 多边形碰巧完全落在输入面内部,则没有面需要擦除。此时,将在输出 coverage 中另外插入一个由擦除 coverage 的面轮廓定义的面,并为标注点指定用户 ID 0。这适用于 POLY 选项。如果使用的是 LINE 选项,则不会添加任何额外的面。输出 coverage 与输入 coverage 将保持相同。
-
对于 LINE、NET、LINK 和 RAW 选项,路线系统将重建,但对于 POLY 选项,将随之忽略路线系统。如果弧分成多个部分,则路线系统将进行相应复制;如果弧已消除,则移除路线系统。“擦除”功能将保留所有路线系统子类。
-
使用 POLY 选项时,输入 coverage 的区域子类会被保留。根据擦除 coverage 的范围从输出 coverage 中擦除掉输入 coverage 中的区域。
-
不会保留擦除 coverage 中的区域子类。
-
如果擦除之前存在结点属性表 (NAT),则擦除之后将保留未被擦除的结点的属性表。新结点的属性将设置为零。
-
输出 coverage 的控制点将从输入 coverage 中复制。
-
投影文件 (PRJ) 会被复制到输出 coverage。
-
输出 Coverage 的坐标精度由派生 Coverage 的精度环境设置所设置的当前处理规则确定。如果未建立处理规则,输出 coverage 的精度将与输入 coverage 相同。
-
如果输入 coverage 包含不同平面图表中的线性数据,则这些数据将保留在输出 coverage 中。例如,如果存在重合或共线的弧(表示不同高度的公用设施电缆的弧或表示沿着溪流的道路的弧等),那么重合与共线的线段将被保留。但是,可能会插入其他折点。对于诸如穿过溪流的道路之类的相交弧,将不会在视觉上的交点处插入结点。
语法
参数 | 说明 | 数据类型 |
in_cover |
包含要擦除的要素的 coverage。 | Coverage |
erase_cover |
使用自身的外部面对擦除区域进行定义的 coverage。 | Coverage |
out_cover |
要创建的 coverage。 | Coverage |
feature_type (可选) |
要擦除的要素集:
| String |
fuzzy_tolerance (可选) |
输出 coverage 中坐标之间的最小距离。默认情况下,使用输入 coverage 和擦除 coverage 的最小模糊容差值。 | Double |
代码示例
以下独立脚本演示了如何从 coverage 中擦除区域。
# Name: Erase_Example.py # Description: Creates an empty area inside a polygon coverage. # Requirements: ArcInfo Workstation # Import system modules import arcpy from arcpy import env # Set environment settings env.workspace = "C:/data" # Set local variables inCover = "tongass1" eraseCover = "tong_azone" outCover = "C:/output/tong_nozone" featureType = "POLY" # Execute Erase arcpy.Erase_arc(inCover, eraseCover, outCover, featureType, "")