平滑共享边 (制图)

摘要

可平滑输入要素的边,对于与其他要素共享的边,可同时保持与这些边的拓扑关系。

插图

平滑共享边工具示例
将对所有边上的输入 1 和输入 2 进行平滑。仅沿与输入 1 和输入 2 共享的边对共享边面和共享边线进行平滑。

使用情况

  • 此工具可以修改输入要素共享边要素参数。不会生成新的输出要素类。

  • 平滑仅适用于所有输入要素边,并且仅适用于与任意输入要素边共享边的共享边要素边。将不会对未与至少一个输入要素边共享边的共享边要素边进行平滑。

参数

标注说明数据类型
输入要素

要进行平滑的线或面。

Feature Layer
平滑算法

指定平滑算法。

  • 指数核的多项式近似 (PAEK) 可以计算不经过输入面折点的平滑面。Polynomial Approximation with Exponential Kernel(指数核的多项式近似)的首字母缩略词。这是默认设置。
  • 贝塞尔插值拟合折点间的贝塞尔曲线。生成的面将经过输入面的折点。该算法不需要容差。在输出中,将创建近似的贝塞尔曲线。
String
平滑容差

用于确定平滑程度。可以指定单位,如果未指定单位,则将使用输入单位。仅用于 PAEK 算法。如果选择贝塞尔插值,则工具对话框中将不显示此参数,并且必须在脚本中使用值 0。

Linear Unit
共享边要素
(可选)

将沿与输入要素共享的边进行平滑的线要素或面要素。将不会对其他边进行平滑。

Feature Layer
输入障碍图层
(可选)

作为障碍进行平滑的点、线、或面要素。平滑要素不会与障碍要素接触或相交。

Feature Layer

派生输出

标注说明数据类型
输出要素类

平滑的输入要素。

要素图层
输出要素类

共享的边要素。

要素图层

arcpy.cartography.SmoothSharedEdges(in_features, algorithm, tolerance, {shared_edge_features}, {in_barriers})
名称说明数据类型
in_features
[in_features,...]

要进行平滑的线或面。

Feature Layer
algorithm

指定平滑算法。

  • PAEK 可以计算不经过输入面折点的平滑面。Polynomial Approximation with Exponential Kernel(指数核的多项式近似)的首字母缩略词。这是默认设置。
  • BEZIER_INTERPOLATION拟合折点间的贝塞尔曲线。生成的面将经过输入面的折点。该算法不需要容差。在输出中,将创建近似的贝塞尔曲线。
String
tolerance

用于确定平滑程度。可以指定单位,如果未指定单位,则将使用输入单位。仅用于 PAEK 算法。如果选择贝塞尔插值,则工具对话框中将不显示此参数,并且必须在脚本中使用值 0。

Linear Unit
shared_edge_features
[shared_edge_features,...]
(可选)

将沿与输入要素共享的边进行平滑的线要素或面要素。将不会对其他边进行平滑。

Feature Layer
in_barriers
[in_barriers,...]
(可选)

作为障碍进行平滑的点、线、或面要素。平滑要素不会与障碍要素接触或相交。

Feature Layer

派生输出

名称说明数据类型
out_feature_class

平滑的输入要素。

要素图层
out_shared_edge_feature_class

共享的边要素。

要素图层

代码示例

SmoothSharedEdges 示例(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 SmoothSharedEdges 工具:

import arcpy
arcpy.env.workspace = "C:/data/LandUse.gdb"
arcpy.cartography.SmoothSharedEdges("Water;Parks;", "PAEK", "10 Meters", 
                                    "Commercial;Highways;Buildings")
SmoothSharedEdges 示例(独立脚本)

此独立脚本显示的是使用 SmoothSharedEdges 工具的示例。

# Name: SmoothSharedEdges_standalone_script.py
# Description: Smoothes input features while maintaining topological 
#              relationships along shared edges. For features included as 
#              shared_edge_features (4th argument of 
#              SmoothSharedEdges_cartography()) only the edges that are shared 
#              with in_features (1st argument) are smoothed. 

# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/data/LandUse.gdb"

# Set local variables
in_features = "Water;Parks"
algorithm = "PAEK"
tolerance = "10 Meters"
shared_edge_features = "Commercial;Highways;Buildings"
barriers = None

# Execute Smooth Shared Edges
arcpy.cartography.SmoothSharedEdges(in_features, algorithm, tolerance, 
                                    shared_edge_features, barriers)

许可信息

  • Basic: 否
  • Standard: 是
  • Advanced: 是

相关主题