二条線から中心線を作成(Collapse Dual Lines To Centerline) (カートグラフィ)
サマリ
指定した幅許容値に基づいて、道路枠などの二条線(二重線)フィーチャから中心線を派生させます。
図
使用法
-
このツールは、規則的でほぼ平行なライン対(例: 大規模な道路枠)向けに設計されています。中心線は、端が開いているライン間にのみ作成されます。ストリート ブロックなどのような閉じたラインの内側には作成されません。このツールは、インターチェンジ、ランプ、高架交差路、低路交差を含む複数車線の高速道路、または複数の合併トラックを含む市街軌道を単純化する用途には適していません。かわりに、[道路のマージ(Merge Divided Roads)] ツールを使用してください。
-
編集セッション中は、このツールを実行できません。
-
出力フィーチャクラスは、入力ラインからの地理的な属性を引き継ぎませんが、次の 3 つの新しいフィールドを含みます。
- 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 フィールドを使用して、ソース ラインから中心線に属性を転送することもできます。
- LnType - 次のライン タイプ値を含みます。
構文
パラメータ | 説明 | データ タイプ |
in_features |
中心線の派生元となる入力二条線フィーチャ(例: 道路枠) | Feature Layer |
out_feature_class |
作成される出力フィーチャクラス。 | Feature Class |
maximum_width |
中心線を派生させる二条線フィーチャの最大幅を設定します。0 以上の値を指定する必要があります。優先的に適用される単位を選択することができます。デフォルトはフィーチャ単位です。 | Linear unit |
minimum_width (オプション) |
中心線を派生させる二条線フィーチャの最小幅を設定します。最小幅には、0 以上かつ最大幅未満の値を指定する必要があります。デフォルト値は 0 です。使用する単位を指定できます(デフォルトはフィーチャ単位)。 | Linear unit |
コードのサンプル
次の 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(二条線から中心線を作成)ツールの使用方法を示しています。
# Name: CollapseDualLinesToCenterline_Example2.py
# Description: Create road centerlines and find buildings within a given distance
# Author: ESRI
# 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)