消除 (Coverage)
摘要
将所选面与具有最大公用边界或最大面积的邻近面合并。
消除常用于移除面叠加或缓冲处理过程中创建的狭长面。使用 LINE 选项时,消除可将以伪结点分隔的选定弧线合并为一条弧线。
插图
用法
-
仅消除所选面或线集。指定 KEEP_EDGE 时,将不消除作为背景面边界的面。
-
使用 POLY 选项时,如果弧线的用户 ID 为负值,则即使它在所选面中最长,也不会将其消除。出现这种情况时,将消除第二长的弧线,除非此弧线位于 coverage 边界沿线且已选中“保留面边界”选项 (KEEP_EDGE)。
-
通过取消选中“保留面边界”选项 (NO_KEEP_EDGE),可以消除与背景面相邻的狭长面,而保留面的外边界。通过 LINE 选项构建 coverage,然后使用以下逻辑表达式在 cover.AAT 上重选:
LPOLY# = 1 OR RPOLY# = 1 Calculate the cover-id equal to -1. Eliminate will not eliminate an arc with a negative User-ID.
-
使用针对 POLY 要素类型的选项时,将移除附加到已消除弧线的路径系统,并对 ARCLINK# 重新编号。使用针对 LINE 要素类型的选项时,将删除属于已消除弧线(无论实际上是否已移除)的路径系统。因吸收已消除弧线而导致长度增加的弧线,将对其 F-POS 和 T-POS 进行调整以使其位置与之前的位置相同。
-
使用 LINE 选项时,必须在弧线相交处分割所有弧线。如果遇到叠置弧线,消除将中止执行。使用 LINE 选项进行清理可用于分割弧线。
-
如果“输入 Coverage”具有 NAT(结点属性表),那么在“输出 Coverage”中会保留它。
-
使用索引项可以加快“消除”操作中逻辑要素选择的速度。有关详细信息,请参阅“索引项”。
-
“输入 Coverage”注记将复制到“输出 Coverage”。
-
投影文件 (PRJ) 将复制到“输出 Coverage”。
-
如果“输入 Coverage”包含区域,将在“输出 Coverage”中保留这些区域,但会从区域子类中消除相应的面。
-
语法
参数 | 说明 | 数据类型 |
in_cover |
该 coverage 的所选面或弧线将与相邻要素合并。 | Coverage |
out_cover |
在该新 coverage 中,所有选定狭长面已合并为较大的要素。其所包含的面的数量会比“输入 Coverage”中面的数量少一些。 | Coverage |
info_express [info_express,...] |
INFO 查询包含一个或多个逻辑表达式,用于从输入 coverage 中选择要素。
| ArcInfo Expression |
polygon_boundary (可选) |
确保不更改沿 coverage 边界的面。
| Boolean |
feature_type (可选) |
要在“输出 Coverage”中消除的要素类。此参数仅用于面 coverage。
| String |
selection_file (可选) |
“选择文件”是一个预先存在的文件,用于标识要使用的要素。 | File |
polygon_option (可选) |
指定用于消除面的方法。此参数仅用于面 coverage。
| String |
代码示例
以下独立脚本演示了如何从 coverage 中移除狭长面。
# Name: Eliminate_Example.py # Description: Removes sliver polygons from an input coverage # Requirements: ArcInfo Workstation # Import system modules import arcpy from arcpy import env # Set environment settings env.workspace = "C:/data" # Set local variables inCover = "txlnd" outCover = "C:/output/texout" infoExpress = "reselect AREA LE 68000" polygonBoundary = "KEEP_EDGE" featureType = "POLY" polygonOption = "AREA" # Execute Eliminate arcpy.Eliminate_arc(inCover, outCover, infoExpress, polygonBoundary, featureType, "", polygonOption)