二条線から中心線を作成 (Collapse Dual Lines To Centerline) (カートグラフィ)

サマリー

指定した幅許容値に基づいて、道路枠などの二条線 (二重線) フィーチャから中心線を派生させます。

二条線から中心線を作成ツールの図

使用法

  • このツールは、規則的でほぼ平行なライン対 (例: 大規模な道路枠) 向けに設計されています。 中心線は、端が開いているライン間にのみ作成されます。ストリート ブロックなどのような閉じたラインの内側には作成されません。 このツールは、インターチェンジ、ランプ、高架交差路、低路交差を含む複数車線の高速道路、または複数の合併トラックを含む市街軌道を単純化する用途には適していません。 この場合は、[道路のマージ (Merge Divided Roads)] ツールを使用します。

  • 出力フィーチャクラスは、入力ラインからの地理的な属性を引き継ぎませんが、次の新しいフィールドを含みます。

    • LnType- 次のライン タイプ値を含みます。
      • 値 1 は、派生した中心線に使用されます。
      • 値 2 は、中心線が生成されない、比較的複雑な交差部周囲のアウトライン、指定範囲を超える幅の道路を表すライン、他の破線、あるいは対のないラインに使用されます。
      • 値 3 は、ソース枠が不明確なラインに使用されます (通常、接近して配置された 2 つの交差部を接続します。これらの交差部は、1 つの大きい交差部に属している場合があります)。
    • LeftLn_FID- 入力ラインのオブジェクト ID を、派生した中心線の左側に移動します。 LnType 2 および 3 のラインに対しては、このフィールド値がゼロになります。
    • RightLn_FID- 入力ラインのオブジェクト ID を、派生した中心線の右側に移動します。 LnType 2 および 3 のラインに対しては、このフィールド値がゼロになります。

    LnType 値を使用して、未解決の交差部および幅広の道路をさらに細かく検査できます。必要に応じて、[フィールド結合 (Join Field)] ツールで LeftLn_FID フィールドと RightLn_FID フィールドを使用して、ソース ラインから中心線に属性を転送することもできます。

パラメーター

ラベル説明データ タイプ
入力フィーチャ

中心線の派生元となる入力二条線フィーチャ (例: 道路枠)

Feature Layer
出力フィーチャクラス

作成される出力フィーチャクラス。

Feature Class
最大幅

中心線の派生に使用する二条線フィーチャの最大幅 0 以上の値を指定する必要があります。 単位は指定できます。デフォルトはフィーチャの単位です。

Linear Unit
最小幅
(オプション)

中心線の派生に使用する二条線フィーチャの最小幅 最小幅には、0 以上かつ最大幅未満の値を指定する必要があります。 デフォルト値は 0 です。 単位は指定できます。デフォルトはフィーチャの単位です。

Linear Unit

arcpy.cartography.CollapseDualLinesToCenterline(in_features, out_feature_class, maximum_width, {minimum_width})
名前説明データ タイプ
in_features

中心線の派生元となる入力二条線フィーチャ (例: 道路枠)

Feature Layer
out_feature_class

作成される出力フィーチャクラス。

Feature Class
maximum_width

中心線の派生に使用する二条線フィーチャの最大幅 0 以上の値を指定する必要があります。 単位は指定できます。デフォルトはフィーチャの単位です。

Linear Unit
minimum_width
(オプション)

中心線の派生に使用する二条線フィーチャの最小幅 最小幅には、0 以上かつ最大幅未満の値を指定する必要があります。 デフォルト値は 0 です。 単位は指定できます。デフォルトはフィーチャの単位です。

Linear Unit

コードのサンプル

CollapseDualLinesToCenterline (二条線から中心線を作成) の例 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで CollapseDualLinesToCenterline 関数を使用する方法を示しています。

import arcpy
from arcpy import env
import arcpy.cartography as CA
env.workspace = "C:/data"
CA.CollapseDualLinesToCenterline("dual_line_roads.shp",
                                 "C:/output/output.gdb/road_centerlines",
                                 50)
CollapseDualLinesToCenterline (二条線から中心線を作成) の例 2 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトで、CollapseDualLinesToCenterline 関数を使用する方法を示します。

# Name: CollapseDualLinesToCenterline_Example2.py
# Description: Create road centerlines and find buildings within a given distance
 
# Import system modules
import arcpy
from arcpy import env
import arcpy.cartography as CA
import arcpy.management as DM
import arcpy.analysis as AN
 
# Set environment settings
env.workspace = "C:/data/Portland.gdb"
 
# Set local variables
inRoadCasingsFeatures = "road_casings"
inHouseFeatures = "houses"

centerlineFeatures = "C:/data/PortlandOutput.gdb/road_centerlines"
bufferFeatures = "C:/data/PortlandOutput.gdb/road_buffers"

# Create centerlines for road casings.
CA.CollapseDualLinesToCenterline(inRoadCasingsFeatures, centerlineFeatures, 80)
 
# Create buffers 100 units from around centerlines.
AN.Buffer(centerlineFeatures, bufferFeatures, 100)

# Select houses by buffers.
DM.SelectLayerByLocation(inHouseFeatures, "intersect", bufferFeatures, 100)

ライセンス情報

  • Basic: No
  • Standard: No
  • Advanced: Yes

関連トピック