| ラベル | 説明 | データ タイプ |
入力フィーチャ | スムージングの対象となるポリゴン フィーチャ。 | Feature Layer |
出力フィーチャクラス | 作成される出力ポリゴン フィーチャクラス。 | Feature Class |
スムージング アルゴリズム | 使用するスムージング アルゴリズムを指定します。
| String |
スムージングの許容値 | [スムージング アルゴリズム] パラメーターの [PAEK (Polynomial Approximation with Exponential Kernel)] オプションで使用する許容値。 許容値には、0 (ゼロ) より大きい値を指定する必要があります。 優先的に適用される単位を選択することができます。デフォルトはフィーチャ単位です。 このパラメーターは、[スムージング アルゴリズム] パラメーターで [ベジェ内挿] オプションが使用される場合は使用不可になります。 | Linear Unit |
リングの終点を保持 (オプション) | これは、現在使用されていない従来のパラメーターです。 以前は、孤立したポリゴン リングの端点を維持するかどうかを指定するために使用されていました。 このパラメーターは、スクリプトとモデルでの互換性を保つために引き続きこのツールの構文に含まれていますが、[ジオプロセシング] ウィンドウでは非表示になっています。 孤立したポリゴン リングの端点を維持するかどうかを指定します。 このオプションは、[スムージング アルゴリズム] パラメーターの [PAEK (Polynomial Approximation with Exponential Kernel)] オプションのみで使用できます。
| Boolean |
トポロジー エラーの処理 (オプション) | ラインの交差や重なりなど、プロセスで発生する可能性があるトポロジー エラーの処理方法を指定します。
| String |
入力バリア レイヤー (オプション) | スムージングの際にバリアとしての役割を果たすフィーチャを含む入力。 滑らかになった結果のポリゴンはバリア フィーチャに接したり、バリア フィーチャを横切ったりしません。 | Feature Layer |
図

使用法
[スムージング アルゴリズム] パラメーターには次のオプションがあります。
- [PEAK (Polynomial Approximation with Exponential Kernel)] - スムージング許容値に基づいてポリゴンを滑らかにします。 滑らかになったポリゴンは、元のポリゴンよりも頂点が多くなる可能性があります。 [スムージングの許容値] パラメーターは、新しい頂点の計算に使用する移動経路の長さを制御します。 長さが短いほど詳細が維持されますが、処理時間は長くなります。
- [ベジェ内挿] - 入力ポリゴンに適合させる近似のベジェ曲線を作成することにより、許容値を使用しないでポリゴンを滑らかにします。
[入力バリア レイヤー] パラメーターは、滑らかになったポリゴンが横切ることを許可されないフィーチャを識別するために使用します。 バリア フィーチャには、ポイント、ライン、ポリゴンのいずれかを指定できます。
大きなデータセットを処理する場合は、メモリーの制限を超えることがあります。 このような場合、[カートグラフィック パーティション] 環境設定で関連するポリゴン フィーチャクラスを特定することにより、パーティション単位で入力データを処理することを検討します。 パーティションの境界によって定義されたデータの一部が順次処理されます。 結果のフィーチャクラスは、パーティション エッジにおいてシームレスで一致した形状になります。 詳細については、「パーティションを使用した大きなデータセットのジェネラライズ」をご参照ください。
注意:
[トポロジー エラーの処理] パラメーターが [トポロジー エラーをチェックしない] または [トポロジー エラーをフラグ付けする] に設定されている場合、カートグラフィック パーティション環境設定は無視されます。
フィールド ドメイン、サブタイプ、属性ルールの転送環境がオフの場合でも、ドメインとサブタイプは出力にコピーされます。
出力ポリゴン フィーチャクラスはトポロジー的に正確です。 入力データに含まれるトポロジー エラーはすべて、出力ポリゴン フィーチャクラスでフラグ付けされます。 出力フィーチャクラスには、次の追加フィールドが含まれます。
- InPoly_FID- 入力のフィーチャ ID が含まれます。
- SmoPgnFlag- 入力のトポロジー エラーが含まれます。 値が 1 であればトポロジー エラーが存在することを示し、値が 0 (ゼロ) であればエラーは存在しないことを示します。
レガシー:
ArcGIS Pro 2.2 以前のバージョンでは、このツールの [リングの終点を保持] パラメーターを使用して、孤立したポリゴン リングの終点を維持するかどうかを指定していました。 このパラメーターは、スクリプトとモデルでの互換性を保つために引き続きこのツールの構文に含まれていますが、ツールのダイアログ ボックスでは無視され、非表示になっています。
パラメーター
arcpy.cartography.SmoothPolygon(in_features, out_feature_class, algorithm, tolerance, {endpoint_option}, {error_option}, {in_barriers})| 名前 | 説明 | データ タイプ |
in_features | スムージングの対象となるポリゴン フィーチャ。 | Feature Layer |
out_feature_class | 作成される出力ポリゴン フィーチャクラス。 | Feature Class |
algorithm | 使用するスムージング アルゴリズムを指定します。
| String |
tolerance | algorithm パラメーターの PAEK オプションで使用する許容値。 許容値には、0 (ゼロ) より大きい値を指定する必要があります。 優先的に適用される単位を選択することができます。デフォルトはフィーチャ単位です。 algorithm パラメーターの BEZIER_INTERPOLATION オプションを使用するときは、プレースホルダーとして 0 を入力する必要があります。 | Linear Unit |
endpoint_option (オプション) | これは、現在使用されていない従来のパラメーターです。 以前は、孤立したポリゴン リングの端点を維持するかどうかを指定するために使用されていました。 このパラメーターは、スクリプトとモデルでの互換性を保つために引き続きこのツールの構文に含まれています。 孤立したポリゴン リングの端点を維持するかどうかを指定します。 このオプションは、algorithm パラメーターの PAEK オプションのみで使用できます。
| Boolean |
error_option (オプション) | ラインの交差や重なりなど、プロセスで発生する可能性があるトポロジー エラーの処理方法を指定します。
| String |
in_barriers [in_barriers,...] (オプション) | スムージングの際にバリアとしての役割を果たすフィーチャを含む入力。 滑らかになった結果のポリゴンはバリア フィーチャに接したり、バリア フィーチャを横切ったりしません。 | Feature Layer |
コードのサンプル
次の Python ウィンドウ スクリプトは、イミディエイト モードで SmoothPolygon 関数を使用する方法を示しています。
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.cartography.SmoothPolygon("soils.shp", "C:/output/output.gdb/smoothed_soils", "PAEK", 100)次のスタンドアロン スクリプトで、SmoothPolygon 関数を使用する方法を示します。
# Name: SmoothPolygon_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"
barriers = "C:/data/Portland.gdb/Structures/buildings"
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.
arcpy.management.EliminatePolygonPart(
inLakeFeatures, eliminatedFeatures, 100, "OR", 0, "CONTAINED_ONLY")
# Simplify lake polygons.
arcpy.cartography.SimplifyPolygon(
eliminatedFeatures, simplifiedFeatures, "POINT_REMOVE", 50, 200,
"RESOLVE_ERRORS", "KEEP_COLLAPSED_POINTS", barriers)
# Smooth lake polygons.
arcpy.cartography.SmoothPolygon(
simplifiedFeatures, smoothedFeatures, "PAEK", 100, "", "FLAG_ERRORS",
barriers)環境
ライセンス情報
- Basic: No
- Standard: Yes
- Advanced: Yes