摘要

创建一个新的输出要素类,包含从输入面上删除某些指定大小的部分或孔洞所得的要素。

插图

用法

  • 由于可将面洞看作面的一部分,因此可使用此工具删除或填充面洞。如果洞面积小于指定尺寸,则该洞将被消除,并且在输出中填补该空间。删除的洞中的所有部分也都将在输出中被消除。
  • 部分的大小可以指定为面积、百分比或两者的结合。使用条件参数可确定指定部分大小的方式。条件参数 AREA_AND_PERCENT 和 AREA_OR_PERCENT 选项可使用面积和百分比条件来消除部分。
  • 面部分百分比是以要素总外部面积(包括所有洞的面积)的百分比进行计算的。例如,如果某个具有洞的面的面积为 75 平方米,洞的覆盖面积为 25 平方米,则总的面外部面积为 100 平方米。要消除此洞,需要指定大于 25 平方米的面积,或指定大于 25% 的百分比。如果输入为多部分面,则要素的外部面积为所有面部分所覆盖的面积的总和。
  • 对于多部分面,会将各部分的面积与指定面积进行对比。如果某个面部分小于指定的大小,则该部分将在输出中被消除。
  • 如果面要素的所有部分都小于指定的大小,则会在输出中保留最大的部分,而将其他所有部分消除。

语法

1
EliminatePolygonPart_management (in_features, out_feature_class, {condition}, {part_area}, {part_area_percent}, {part_option})
参数 说明 数据类型
in_features 其要素将被复制到输出要素类(消除某些部分或洞)的输入要素类或图层。 Feature Layer
out_feature_class 包含其余部分的输出面要素类。 Feature Class
condition(可选) 指定要消除的部分的确定方式。AREA —面积小于指定值的部分将被消除。PERCENT —总外部面积百分比小于指定值的部分将被消除。AREA_AND_PERCENT —面积和百分比均小于指定值的部分将被消除。只有同时满足面积和百分比两个条件的面部分才会被删除。AREA_OR_PERCENT —面积或百分比小于指定值的部分将被消除。如果面部分满足面积或百分比条件之一,该面将被删除。 String
part_area(可选) 消除小于此面积的部分。 Areal Unit
part_area_percent(可选) 消除小于此要素总外部面积百分比的部分。 Double
part_option(可选) 确定可消除的部分。CONTAINED_ONLY —仅消除完全包含于其他部分的部分。这是默认设置。ANY —可消除任意部分。 Boolean

代码实例

消除面部分示例(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用“消除”工具。

1
import arcpy from arcpy import env env.workspace = "C:/data" arcpy.EliminatePolygonPart_management("buildings.shp", "output.gdb/remaining_buildings", "AREA", 10)

消除面部分示例 2(独立脚本)

以下独立 Python 脚本演示了如何使用“消除面部分”工具。

1
2
3
4
5
6
7
8
9
# Name: EliminatePolygonPart_Example2.py 
# Description: Eliminate small islands before simplifying and smoothing lake boundaries
# Author: ESRI
# Import system modules import arcpy from arcpy import env
# Set environment settings env.workspace = "C:/data/Portland.gdb/Hydrography"
# Set local variables inLakeFeatures = "lakes" eliminatedFeatures = "lakes_eliminated" simplifiedFeatures = "lakes_simplified" smoothedFeatures = "lakes_smoothed"
# Eliminate small islands in lake polygons. arcpy.EliminatePolygonPart_management(inLakeFeatures, eliminatedFeatures, "AREA", 100, "", "CONTAINED_ONLY")
# Simplify lake polygons. arcpy.SimplifyPolygon_cartography(eliminatedFeatures, simplifiedFeatures, "POINT_REMOVE", 50, 200, "RESOLVE_ERRORS", "KEEP_COLLAPSED_POINTS")
# Smooth lake polygons. arcpy.SmoothPolygon_cartography(simplifiedFeatures, smoothedFeatures, "BEZIER_INTERPOLATION")

了解更多

要了解更多关于ArcMap的知识请参阅以下链接:

最后更新: 2018年03月25日 15:16

原始链接: http://rickeryan.tk/2017/04/20/ArcMap-Ploygon-EliminatePart/

× 打赏作者~
打赏二维码