ルートの作成 (リニア リファレンス)
サマリ
既存のラインからルートを作成します。同じルート識別子をもつ入力ライン フィーチャがマージされて 1 つのルートが作成されます。
使用法
-
[ルート識別フィールド] の一意な値が出力ルート フィーチャクラスに書き出されます。
-
[フィーチャ レイヤの作成(Make Feature Layer)] ツールや [クエリ テーブルの作成(Make Query Table)] ツールを使用すると、ルートの作成に使用されるラインの数を効果的に削減できます。
-
[出力ルート フィーチャクラス] がジオデータベースに書き出されている場合は、適切な M 許容値、M 座標精度、および M ドメインを設定する必要があります。
-
ルート メジャーの単位の変換には、メジャー ファクタ を使用します。たとえば、フィートからマイルに変換する場合は 0.00018939394 というファクタを使用します。
-
各ルートの始点メジャーを 0 以外にする必要があるアプリケーションでは、メジャー オフセットを使用します。
-
[メジャー ソース] オプションに TWO_FIELDS を指定している場合は、空間的なギャップを無視のパラメータが使用されません。これは、メジャー値が [始点メジャー値フィールド] と [終点メジャー値フィールド] の値により決定されるためです。
-
[メジャー ソース] オプションに LENGTH または ONE_FIELD を指定している場合は、マージされて 1 つのルートを作成することになる入力フィーチャの周囲に最小境界範囲を配置することにより、[座標の優先度] が決定されます。
-
[メジャー ソース] オプションに TWO_FIELDS を指定している場合は、[始点メジャー値フィールド] と [終点メジャー値フィールド] の値によりメジャーの方向が示唆されるため、座標の優先度を指定する必要がありません。
-
ルート識別フィールドに属性フィールドを使用すると、ダイナミック セグメンテーション処理を高速化できます。ダイナミック セグメンテーションに出力ルート フィーチャクラスを使用する場合は、属性インデックスの作成を選択することをお勧めします。
-
[ルートの作成] ツールによって拒否されたフィーチャがあると、一時ファイル パスにテキスト ファイルが作成されてそれらのフィーチャに関する情報が格納されます。たとえば、C:\Documents and Settings\patrickb\Local Settings\Temp\Create_Output0.txt(「Create_Output」は出力ルート フィーチャクラス名)などです。
-
outputMFlag 環境の設定は無視されます。出力ルート フィーチャクラスには、M(メジャー)値があります。
構文
パラメータ | 説明 | データ タイプ |
in_line_features |
ルートの作成元となるフィーチャ。 | Feature Layer |
route_id_field |
各ルートを一意に識別する値を格納したフィールド。 | Field |
out_feature_class |
作成されるフィーチャクラス。シェープファイルかジオデータベース フィーチャクラスを指定できます。 | Feature Class |
measure_source |
ルート メジャーの取得方法を指定します。
| String |
from_measure_field (オプション) |
メジャー値を格納したフィールド。このフィールドは数値にする必要があります。メジャー ソースに ONE_FIELD または TWO_FIELDS を指定している場合は必須です。 | Field |
to_measure_field (オプション) |
メジャー値を格納したフィールド。このフィールドは数値にする必要があります。メジャー ソースに TWO_FIELDS を指定している場合は必須です。 | Field |
coordinate_priority (オプション) |
各出力ルートについてメジャーの累積を開始する位置。メジャー ソースに TWO_FIELDS を指定している場合、このパラメータは無視されます。
| String |
measure_factor (オプション) |
マージされてルート メジャーが作成される前に、各入力ラインのメジャーの長さで乗じる値。デフォルトは 1 です。 | Double |
measure_offset (オプション) |
入力ラインがマージされてルートが作成されてからルート メジャーに追加される値。デフォルトは 0 です。 | Double |
ignore_gaps (オプション) |
分断されたルート上のメジャーを計算するときに、空間的ギャップを無視するかどうかを指定します。このパラメータは、メジャー ソースに LENGTH または ONE_FIELD を指定している場合に適用されます。
| Boolean |
build_index (オプション) |
出力ルート フィーチャクラスに書き出されたルート識別フィールドについて属性インデックスを作成するかどうかを指定します。
| Boolean |
コードのサンプル
次の Python ウィンドウ スクリプトは、Python ウィンドウでの CreateRoutes(ルートの作成)関数の使用方法を示しています。
import arcpy
from arcpy import env
env.workspace = "C:/Data"
arcpy.CreateRoutes_lr(base_roads.shp, "route1", "newRoutes", "LENGTH", "#", "#", "LOWER_LEFT", 0.00018939394)
次の Python スクリプトは、スタンドアロン Python スクリプトでシェープファイル データにCreateRoutes(ルートの作成)関数を使用する方法を示しています。
# Name CreateRoutes_Example2.py
# Description: Create routes from lines. The lines are in a shapefile workspace.
# The LENGTH option will be used to set the measures, and a measure factor
# will be used to convert measure units from feet to miles.
# Author: ESRI
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/Data"
# Set local variables
in_lines = "base_roads.shp"
rid = "route1"
out_routes = "create_output1"
# Execute CreateRoutes
arcpy.CreateRoutes_lr(in_lines, rid, out_routes, "LENGTH", "#", "#", "LOWER_LEFT", 0.00018939394)
次の Python スクリプトは、スタンドアロン Python スクリプトでファイル ジオデータベース データにCreateRoutes(ルートの作成)関数を使用する方法を示しています。
# Name CreateRoutes_Example3.py
# Description: Create routes from lines. The lines are in a file geodatabase.
# The ONE_FIELD option will be used to set the measures.
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/Data/pitt.gdb"
# Set local variables
in_lines = "roads/base_roads" # base_roads exists in the roads feature dataset
rid = "route1"
m_fld = "len_mile"
out_routes = "roads/create_output2" # write the result to the roads feature dataset
# Execute CreateRoutes
arcpy.CreateRoutes_lr(in_lines, rid, out_routes, "ONE_FIELD", m_fld, "#", "LOWER_LEFT")
次の Python スクリプトは、スタンドアロン Python スクリプトでパーソナル ジオデータベース データにCreateRoutes(ルートの作成)関数を使用する方法を示しています。
# Name: CreateRoutes_Example4.py
# Description: Create routes from lines. The lines are in a personal geodatabase.
# The ONE_FIELD option will be used to set the measures.
# Author: ESRI
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/Data/pitt.mdb"
# Set local variables
in_lines = "roads/base_roads" # base_roads exists in the roads feature dataset
rid = "route1"
m_fld = "len_mile"
out_routes = "roads/create_output2" # write the result to the roads feature dataset
# Execute CreateRoutes
arcpy.CreateRoutes_lr(in_lines, rid, out_routes, "ONE_FIELD", m_fld, "#", "LOWER_LEFT")
次の Python スクリプトは、スタンドアロン Python スクリプトで SDE データにCreateRoutes(ルートの作成)関数を使用する方法を示しています。
# Name CreateRoutes_Example5.py
# Description: Create routes from lines. The lines are in an enterprise geodatabase.
# The TWO_FIELD option will be used to set the measures.
# Author: ESRI
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "Database Connections/Connection to Jerry.sde"
# Set local variables
in_lines = gp.QualifyTableName("base_roads", wkspc) # base_roads is a standalone feature class
rid = "route1"
fr_fld = "begmp1"
to_fld = "endmp1"
out_routes = "create_output3" # write the result to a standalone feature class
# Execute CreateRoutes
arcpy.CreateRoutes_lr(in_lines, rid, out_routes, "TWO_FIELDS", fr_fld, to_fld)