サマリ
基本的な形状を維持しながら不要な屈曲を取り除くことによってラインを単純化します。
図
使用法
単純化する方法には 2 つあります。
- [重要なポイントを保持] の方法 (Python では POINT_REMOVE アルゴリズム POINT_REMOVE) は高速ですが、あまり精密ではありません。これは、余分な頂点を取り除きます。データを圧縮する場合やより大まかに単純化する場合にこの方法を使用します。結果として生成されるラインの鋭角は、許容値が大きくなるにつれ大幅に鋭くなるため、見栄えが入力より悪くなることがあります。
- [重要な屈曲を保持] (Python では BEND_SIMPLIFY) は時間がかかる方法ですが、一般的に、元のフィーチャに忠実な結果が生成されます。これは、ラインの不要な屈曲を取り除きます。この方法は、より精密に単純化したい場合に使用します。
[単純化の許容値] は、単純化の度合いを決定します。許容値は、グラフィック エレメント間で許容される最短の距離以上に設定します。同じ許容値を使用した場合は、[重要なポイントを保持] の方が [重要な屈曲を保持] よりも粗く単純な結果となります。
このツールは、2 つの出力フィーチャクラスを生成します。1 つは単純化されたラインを格納するためのライン フィーチャクラスであり、もう 1 つは長さゼロに単純化されたラインとして表されるポイントを格納するためのポイント フィーチャクラスです。出力ポイントの名前および場所は、_Pnt という接尾辞の付いた出力ライン名から自動的に生成されます。出力ライン フィーチャクラスには、入力フィーチャクラスにあるすべてのフィールドが含まれています。出力ポイント フィーチャクラスには、これらのフィールドは含まれません。
出力のトポロジ エラーを処理するためのオプションがあります。
- [トポロジ エラーの確認] パラメーターを使用すると、単純化プロセスによって発生したトポロジ エラーが識別されます。このオプションをオンにすると、[トポロジ エラーの解決] パラメーターも有効になります。トポロジ エラーの確認を実行すると、処理速度が低下する場合があります。
- 出力ライン フィーチャクラスには、フィーチャにトポロジ エラーがあるかどうかを示す 2 つのフィールドが含まれます。InLine_FID には入力フィーチャの ID が含まれ、SimLnFlag にはトポロジ エラーが含まれます。値が 1 であればエラーが発生したことを示し、0 であればエラーは発生しなかったことを示します。
- フラグの値は、トポロジ エラーが解決された後も保持されます。SimLnFlag フィールドを使用して、トポロジ エラーが発生したフィーチャを調べます。
[トポロジ エラーの確認] パラメーターと [トポロジ エラーの解決] パラメーターは、編集セッション内では使用できません。編集セッション内でこのツールを実行するには、[トポロジ エラーの確認] パラメーターを無効にします。
構文
SimplifyLine_cartography (in_features, out_feature_class, algorithm, tolerance, {error_resolving_option}, {collapsed_point_option}, {error_checking_option})
パラメータ | 説明 | データ タイプ |
in_features | 単純化するライン フィーチャ。 | Feature Layer |
out_feature_class | 作成される出力ライン フィーチャクラス。 | Feature Class |
algorithm | ラインの単純化アルゴリズムを指定します。
| String |
tolerance | 単純化の度合いを決定する許容値。許容値には、0 (ゼロ) より大きい値を指定する必要があります。優先的に適用される単位を選択することができます。デフォルトはフィーチャ単位です。
| Linear unit |
error_resolving_option (オプション) | ラインの交差、ラインの重なり、単純化された長さゼロのラインなどのプロセスで発生する可能性があるトポロジ エラーの処理方法を指定します。このパラメーターは、error_checking_option = "CHECK" (デフォルト) を設定した場合に有効になります。
| Boolean |
collapsed_point_option (オプション) | プロセスで単純化された長さゼロのラインが検出された場合に、ポイントとして保持するかどうかを指定します。このオプションが適用されるのは、NO_CHECK が指定されている場合、または FLAG_ERRORS オプションと CHECK オプションの両方が指定されている場合のみです。
| Boolean |
error_checking_option (オプション) | ラインの交差、ラインの重なり、単純化された長さゼロのラインなどのプロセスで発生する可能性があるトポロジ エラーの処理方法を指定します。
| Boolean |
コードのサンプル
SimplifyLine (ラインの単純化) の例 (Python ウィンドウ)
次の Python ウィンドウ スクリプトは、SimplifyLine (ラインの単純化) ツールをイミディエイト モードで使用する方法を示しています。
import arcpy
from arcpy import env
import arcpy.cartography as CA
env.workspace = "C:/data"
CA.SimplifyLine("roads.shp",
"C:/output/output.gdb/simplified_roads",
"POINT_REMOVE",
20)
SimplifyLine (ラインの単純化) の例 2 (スタンドアロン スクリプト)
次のスタンドアロン スクリプトは、SimplifyLine (ラインの単純化) ツールの使用方法を示しています。
# Name: SimplifyLine_Example2.py
# Description: Simplify line features from two feature classes, rivers and coastlines,
# while maintaining their connections
# 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
inRiverFeatures = "rivers"
inCoastlineFeatures = "coastlines"
mergedFeatures = "C:/data/PortlandOutput.gdb/merged_lines"
simplifiedFeatures = "C:/data/PortlandOutput.gdb/merged_lines_simplified"
tempLayer = "tempLyr"
outRiverFeatureClass = "C:/data/PortlandOutput.gdb/rivers_final"
outCoastlineFeatureClass = "C:/data/PortlandOutput.gdb/coastlines_final"
# Merge rivers and coastlines into one feature class,
# assuming that they have a common f-code field
# with value 40 for rivers and 80 for coastlines.
DM.Merge(inRiverFeatures, inCoastlineFeatures, mergedFeatures)
# Simplify all lines.
CA.SimplifyLine(mergedFeatures,
simplifiedFeatures,
"BEND_SIMPLIFY",
100,
"RESOLVE_ERRORS",
"KEEP_COLLAPSED_POINTS",
"CHECK")
# Select rivers and coastlines by their f-code values
# and put them in separate feature classes.
DM.MakeFeatureLayer(simplifiedFeatures, tempLayer, "f-code = 40")
DM.CopyFeatures(tempLayer, outRiverFeatureClass)
DM.MakeFeatureLayer(simplifiedFeatures, tempLayer, "f-code = 80")
DM.CopyFeatures(tempLayer, outCoastlineFeatureClass)
環境
ライセンス情報
- ArcGIS for Desktop Basic: ×
- ArcGIS for Desktop Standard: ○
- ArcGIS for Desktop Advanced: ○