消除面部件 (数据管理工具)
汇总
创建一个新的输出要素类,包含从输入面上删除某些指定大小的部件或孔洞所得的要素。
插图
用法
由于可将面洞看作面的部件,因此可使用此工具删除或填充面洞。 如果洞面积小于指定尺寸,则该洞将被消除,并且在输出中填补该空间。 删除的洞中的所有部件也都将在输出中被消除。
此部件的尺寸可以指定为面积、百分比或两者的结合。 使用条件参数可确定指定部件尺寸的方式。 条件参数的面积和百分比以及面积或百分比选项用于通过面积和百分比标准来消除部件。
面部件百分比是以要素总外部面积(包括所有洞的面积)的百分比进行计算的。 例如,如果某个具有洞的面的面积为 75 平方米,洞的覆盖面积为 25 平方米,则总的面外部面积为 100 平方米。 要消除此洞,需要指定大于 25 平方米的面积,或指定大于 25% 的百分比。 如果输入为多部件面,则要素的外部面积为所有面部件所覆盖的面积的总和。
对于多部件面,会将各部件的面积与指定面积进行对比。 如果某个面部件小于指定的大小,则该部件将在输出中被消除。
如果面要素的所有部件都小于指定的大小,则会在输出中保留最大的部件,而将其他所有部件消除。
参数
|
标注
|
说明
|
数据类型
|
|
输入要素
|
其要素将被复制到输出要素类(消除某些部件或洞)的输入要素类或图层。
|
Feature Layer
|
|
输出要素类
|
包含其余部件的输出面要素类。
|
Feature Class
|
|
条件
(可选)
|
指定要消除的部件的确定方式。
面积—面积小于指定值的部件将被消除。
百分比—总外部面积百分比小于指定值的部件将被消除。
面积和百分比—面积和百分比均小于指定值的部件将被消除。 只有同时满足面积和百分比两个条件的面部件才会被删除。
面积或百分比—面积或百分比小于指定值的部件将被消除。 如果面部件满足面积或百分比条件之一,该面将被删除。
|
String
|
|
面积
(可选)
|
消除小于此面积的部件。
|
Areal Unit
|
|
百分比
(可选)
|
消除小于此要素总外部面积百分比的部件。
|
Double
|
|
仅消除包含的部件
(可选)
|
确定可消除的部件。
|
Boolean
|
arcpy.management.EliminatePolygonPart(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
(可选)
|
确定可消除的部件。
|
Boolean
|
代码示例
EliminatePolygonPart 示例 1(Python 窗口)
以下 Python 窗口脚本演示了如何使用 EliminatePolygonPart 函数。
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.management.EliminatePolygonPart("buildings.shp", "output.gdb/remaining_buildings", "AREA", 10)
EliminatePolygonPart 示例 2(独立脚本)
以下独立 Python 脚本演示了如何使用 EliminatePolygonPart 函数。
# Name: EliminatePolygonPart_Example2.py
# Description: Eliminate small islands before simplifying and smoothing lake boundaries
# Import system modules
import arcpy
# Set environment settings
arcpy.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.management.EliminatePolygonPart(inLakeFeatures, eliminatedFeatures, "AREA", 100, "", "CONTAINED_ONLY")
# Simplify lake polygons.
arcpy.cartography.SimplifyPolygon(eliminatedFeatures, simplifiedFeatures, "POINT_REMOVE", 50, 200, "RESOLVE_ERRORS", "KEEP_COLLAPSED_POINTS")
# Smooth lake polygons.
arcpy.cartography.SmoothPolygon(simplifiedFeatures, smoothedFeatures, "BEZIER_INTERPOLATION")
环境
当前工作空间, 默认输出 Z 值, 输出配置关键字, 输出 M 值域, 输出 XY 值域, 输出 Z 值域, 输出坐标系, 范围, 输出包含 M 值, 输出包含 Z 值, 临时工作空间, 地理变换, XY 分辨率, XY 容差, Z 分辨率, Z 容差
许可信息