ArcMap面要素处理之简化面(Simplify Polygon)

时间:2018-07-25 19:31:39   收藏:0   阅读:638

摘要

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

插图

技术分享图片

用法

语法

  SimplifyPolygon_cartography (in_features, out_feature_class, algorithm, tolerance, {minimum_area}, {error_option}, {collapsed_point_option})
参数说明数据类型
in_features 要简化的面要素。 Feature Layer
out_feature_class 要创建的输出面要素类。 Feature Class
algorithm 指定面简化算法。POINT_REMOVE —保留构成面的基本几何形状的关键点并移除所有其他点。这是默认设置。BEND_SIMPLIFY —保留面的主要几何形状并移除边界中多余的弯曲。 String
tolerance 用于确定简化程度的容差。必须指定一个容差,且值必须大于零。可以选择首选单位;默认为要素单位。对于 POINT_REMOVE 算法,指定的容差表示允许的最大偏移量。对于 BEND_SIMPLIFY 算法,指定的容差表示参考弯曲基线的长度。 Linear unit
minimum_area(可选) 设置要保留的简化面的最小面积。默认值为零,即保留所有面。可以为指定的值选择首选单位;默认为要素单位。 Areal unit
error_option(可选) 指定处理拓扑错误的方式(这些拓扑错误可能是在处理时引入的,其中包括交叉的线、重叠的线和折叠为零长度的线)。NO_CHECK —指定不检查拓扑错误。这是默认设置。FLAG_ERRORS —指定标记拓扑错误(如果发现拓扑错误)。RESOLVE_ERRORS —指定解决拓扑错误(如果发现拓扑错误)。 String
collapsed_point_option(可选) 指定是否将处理中发现的任何折叠的面积为零的面要素作为点保留下来。仅当指定了 NO_CHECK 或 FLAG_ERRORS 时,此选项才可用。KEEP_COLLAPSED_POINTS —指定将折叠的面积为零的面要素作为点保留下来。折叠面中边界的端点将存储在位于输出要素类位置的点要素类中,以输出要素类的名称加上后缀 _Pnt 作为其名称。这是默认设置。NO_KEEP —指定折叠的面积为零的面要素不作为点保留下来,即使在处理中发现也不保留;因此,点要素类将为空。 Boolean

代码实例

简化面示例(Python 窗口)

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

  
import arcpy
from arcpy import env
import arcpy.cartography as CA
env.workspace = "C:/data"
CA.SimplifyPolygon("soils.shp", "C:/output/output.gdb/simplified_soils", "POINT_REMOVE", 100)

简化面示例 2(独立脚本)

以下独立 Python 脚本演示了如何使用“简化面”工具。

  # Name: SimplifyPolygon_Example2.py
# Description: Eliminate small islands before simplifying and smoothing lake boundaries
# Author: ESRI

# Import system modules
import arcpy
from arcpy import env
import arcpy.management as DM
import arcpy.cartography as CA

# Set environment settings
env.workspace = "C:/data/Portland.gdb/Hydrography"

# Set local variables
inLakeFeatures = "lakes"
eliminatedFeatures = "C:/data/PortlandOutput.gdb/lakes_eliminated"
simplifiedFeatures = "C:/data/PortlandOutput.gdb/lakes_simplified"
smoothedFeatures = "C:/data/PortlandOutput.gdb/lakes_smoothed"
?
# Eliminate small islands in lake polygons.
DM.EliminatePolygonPart(inLakeFeatures, eliminatedFeatures, 100, "OR", 0, "CONTAINED_ONLY")

# Simplify lake polygons.
CA.SimplifyPolygon(eliminatedFeatures, simplifiedFeatures, "POINT_REMOVE", 50, 200, "RESOLVE_ERRORS", "KEEP_COLLAPSED_POINTS", "CHECK")

# Smooth lake polygons.
CA.SmoothPolygon(simplifiedFeatures, smoothedFeatures, "PAEK", 100, "FLAG_ERRORS")

了解更多

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

原文:https://www.cnblogs.com/bayberryan/p/9367767.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!