在 Advanced 许可等级下可用。
描述
将所选面与具有最大公用边界或最大面积的邻近面合并。
消除常用于移除面叠加或缓冲处理过程中创建的狭长面。使用 LINE 选项时,消除可将以伪结点分隔的选定弧线合并为一条弧线。
插图
使用方法
仅消除所选面或线集。指定 KEEP_EDGE 时,将不消除作为背景面边界的面。
使用 POLY 选项时,如果弧线的 User-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”中保留这些区域,但会从区域子类中消除相应的面。
语法
arcpy.arc.Eliminate(in_cover, out_cover, info_express, {polygon_boundary}, {feature_type}, {selection_file}, {polygon_option})
参数 | 说明 | 数据类型 |
in_cover | 该 coverage 的所选面或弧线将与相邻要素合并。 | Coverage |
out_cover | 在该新 coverage 中,所有选定狭长面已合并为较大的要素。其所包含的面的数量会比“输入 Coverage”中面的数量少一些。 | Coverage |
info_express [info_express,...] | INFO 查询包含一个或多个逻辑表达式,用于从输入 coverage 中选择要素。
| INFO Expression |
polygon_boundary (可选) | 确保不更改沿 coverage 边界的面。
| Boolean |
feature_type (可选) | 要在“输出 Coverage”中消除的要素类。此参数仅用于面 coverage。
| String |
selection_file (可选) | “选择文件”是一个预先存在的文件,用于识别要使用的要素。 | File |
polygon_option (可选) | 指定用于消除面的方法。此参数仅用于面 coverage。
| Boolean |
代码示例
消除示例(独立脚本)
以下独立脚本演示了如何从 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)
环境
许可信息
- Basic: 否
- Standard: 否
- Advanced: 需要 已安装 ArcInfo Workstation