ラインの単純化(Simplify Line) (カートグラフィ)

サマリ

基本的な形状を維持しながら不要な屈曲を取り除くことによってラインを単純化します。

[ラインの単純化(Simplify Line)] ツールの仕組みの詳細

Simplify Line illustration

使用法

構文

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

ラインの単純化アルゴリズムを指定します。

  • POINT_REMOVEラインの基本的な形状を表す「重要ポイント」を保持し、その他すべてのポイントを取り除きます。これがデフォルトです。
  • BEND_SIMPLIFYラインの主要な形状を保持し、不要な屈曲を取り除きます。
String
tolerance

単純化の度合いを決定する許容値。許容値には、0(ゼロ)より大きい値を指定する必要があります。優先的に適用される単位を選択することができます。デフォルトはフィーチャ単位です。

  • POINT_REMOVE アルゴリズムでは、許容値には元の位置から各頂点への最大許容オフセットを指定します。トポロジ エラーを解決するためのオプションが使用されているエリアでは、この値が局所的に小さく設定される場合があります。
  • BEND_SIMPLIFY アルゴリズムの場合は、屈曲の参照ベースラインの長さを指定します。
Linear unit
error_resolving_option
(オプション)

ラインの交差、ラインの重なり、単純化された長さゼロのラインなどのプロセスで発生する可能性があるトポロジ エラーの処理方法を指定します。このパラメータは、[error_checking_option] が [CHECK] である(デフォルト)ときに使用できます。

  • FLAG_ERRORSトポロジ エラーが見つかった場合はマークを付けます。これがデフォルトです。
  • RESOLVE_ERRORSトポロジ エラーが見つかった場合は解決します。
Boolean
collapsed_point_option
(オプション)

プロセスで単純化された長さゼロのラインが検出された場合に、ポイントとして保持するかどうかを指定します。このオプションが適用されるのは、[NO_CHECK] が指定されている場合、または [FLAG_ERRORS] オプションと [CHECK] オプションの両方が指定されている場合のみです。

  • KEEP_COLLAPSED_POINTS単純化された長さゼロのラインをポイントとして保持します。単純化されたラインの端点は、出力フィーチャクラスの場所にあるポイント フィーチャクラスに格納され、出力フィーチャクラス名に _Pnt という接尾辞が付いた名前になります。これがデフォルトです。
  • NO_KEEP単純化された長さゼロのラインがプロセスで検出されても、ポイントとして保持しません。したがって、ポイント フィーチャクラスは空になります。
Boolean
error_checking_option
(オプション)

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

  • CHECKトポロジ エラーを確認し、[error_resolving_option] パラメータを有効にします。これがデフォルトです。
  • NO_CHECKトポロジ エラーを確認せず、[error_resolving_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)

環境

関連項目

ライセンス情報

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

7/10/2012