ポリゴンのスムージング(Smooth Polygon) (カートグラフィ)

サマリ

ポリゴンのアウトラインの鋭角を滑らかにして、見た目の品質やカートグラフィック品質を向上させます。

Smooth Polygon illustration

使用法

構文

SmoothPolygon_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頂点と頂点の間にベジェ曲線を適合させます。スムージング後のポリゴンは、入力ポリゴンの頂点を通ります。このアルゴリズムは許容値を必要としません。シェープファイル出力では、近似のベジェ曲線が作成されます。
String
tolerance

PAEK アルゴリズムで使用する許容値を設定します。許容値には、0(ゼロ)より大きい値を指定する必要があります。使用する単位を指定できます(デフォルトはフィーチャ単位)。スムージング アルゴリズムに [BEZIER_INTERPOLATION] を使用するときは、プレースホルダとして 0 を入力する必要があります。

Linear unit
endpoint_option
(オプション)

孤立したポリゴン リングの端点を維持するかどうかを指定します。このオプションは、PAEK アルゴリズムでのみ機能します。

  • FIXED_ENDPOINT孤立したポリゴン リングの端点を維持します。これがデフォルトです。
  • NOT_FIXED孤立したポリゴン リングの端点を使用してスムージングします。
Boolean
error_option
(オプション)

ラインの交差や重なりなど、プロセスで発生する可能性があるトポロジ エラーの処理方法を指定します。

  • NO_CHECKトポロジ エラーをチェックしません。これがデフォルトです。
  • FLAG_ERRORSトポロジ エラーが見つかった場合はマークを付けます。
String

コードのサンプル

SmoothPolygon(ポリゴンのスムージング)の例(Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで SmoothPolygon(ポリゴンのスムージング)ツールを使用する方法を示しています。

import arcpy
from arcpy import env
import arcpy.cartography as CA
env.workspace = "C:/data"
CA.SmoothPolygon("soils.shp", "C:/output/output.gdb/smoothed_soils", "PAEK", 100)
SmoothPolygon(ポリゴンのスムージング)の例 2(スタンドアロン スクリプト)

次のスタンドアロン スクリプトは、SmoothPolygon(ポリゴンのスムージング)ツールの使用方法を示しています。

# Name: SmoothPolygon_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.cartography as CA
import arcpy.management as DM
 
# 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")
 

環境

関連項目

ライセンス情報

ArcView: いいえ
ArcEditor: 必須 ◎
ArcInfo: 必須 ◎

7/10/2012