平滑线 (制图)

摘要

对线中的尖角进行平滑处理以使制图更加美观或改善制图质量。

插图

Smooth Line illustration

用法

语法

SmoothLine_cartography (in_features, out_feature_class, algorithm, tolerance, {endpoint_option}, {error_option})
参数说明数据类型
in_features

要平滑处理的线要素。

Feature Layer
out_feature_class

要创建的输出要素类。

Feature Class
algorithm

指定平滑算法。

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

设置 PAEK 算法使用的容差。必须指定一个容差,且值必须大于零。可以选择首选单位;默认为要素单位。使用 BEZIER_INTERPOLATION 平滑算法时,必须输入 0 作为占位符。

Linear unit
endpoint_option
(可选)

指定是否保留闭合线的端点。该选项仅适用于 PAEK 算法。

  • FIXED_CLOSED_ENDPOINT保留闭合线的端点。这是默认设置。
  • NO_FIXED通过闭合线的端点进行平滑处理。
Boolean
error_option
(可选)

指定如何处理拓扑错误(可能是在该过程中引发的,如线的交叉)。

  • NO_CHECK指定不检查拓扑错误。这是默认设置。
  • FLAG_ERRORS指定标记拓扑错误(如果发现拓扑错误)。
String

代码示例

SmoothLine 示例(Python 窗口)

以下 Python 窗口脚本演示了如何在立即模式下使用 SmoothLine 工具。

import arcpy from arcpy import env import arcpy.cartography as CA env.workspace = "C:/data" CA.SmoothLine("contours.shp", "C:/output/output.gdb/smoothed_contours", "PAEK", 100)
SmoothLine 示例 2(独立脚本)

以下独立脚本演示了如何使用 SmoothLine 工具。

# Name: SmoothLine_Example2.py # Description: Simplify and then Smooth coastlines # Author: ESRI   # Import system modules import arcpy from arcpy import env import arcpy.cartography as CA   # Set environment settings env.workspace = "C:/data/Portland.gdb/Hydrography"   # Set local variables inCoastlineFeatures = "coastlines" simplifiedFeatures = "C:/data/PortlandOutput.gdb/coastlines_simplified" smoothedFeatures = "C:/data/PortlandOutput.gdb/coastlines_smoothed"  # Simplify coastlines. CA.SimplifyLine(inCoastlineFeatures, simplifiedFeatures, "POINT_REMOVE", 50, "RESOLVE_ERRORS", "KEEP_COLLAPSED_POINTS", "CHECK")   # Smooth coastlines. CA.SmoothLine(simplifiedFeatures, smoothedFeatures, "PAEK", 100, "FLAG_ERRORS")   

环境

相关主题

许可信息

ArcView: 否
ArcEditor: 是
ArcInfo: 是

7/10/2012