ルートの作成 (Create Routes) (リニア リファレンス)

概要

既存のラインからメジャー値を持つルートを作成します。同じルート識別子をもつ入力ライン フィーチャがマージされて 1 つのルートが作成されます。

使用法

  • [ルート識別フィールド] の一意な値が出力ルート フィーチャクラスに書き出されます。

  • [フィーチャ レイヤーの作成 (Make Feature Layer)] ツールや [クエリ テーブルの作成 (Make Query Table)] ツールを使用すると、ルートの作成に使用されるラインの数を効果的に削減できます。

  • [出力ルート フィーチャクラス] がジオデータベースに書き出されている場合は、適切な M 許容値M 座標精度、および M ドメイン環境を設定する必要があります。

  • ルート メジャーの単位の変換には、メジャー ファクターを使用します。たとえば、フィートからマイルに変換する場合は 0.00018939394 というファクターを使用します。

  • 各ルートの始点メジャーを 0 以外にする必要があるアプリケーションでは、メジャー オフセットを使用します。

  • [メジャー ソース] オプションに [2 つのフィールドの値] を指定している場合は、[空間的なギャップを無視] パラメーターが使用されません。これは、メジャー値が [始点メジャー値フィールド][終点メジャー値フィールド] の値により決定されるためです。

  • [メジャー ソース] オプションに [フィーチャの長さ] または [1 つのフィールドの値] を指定している場合は、マージされて 1 つのルートを作成することになる入力フィーチャの周囲に最小境界範囲を配置することにより、[座標の優先度] が決定されます。

  • [メジャー ソース] オプションに [2 つのフィールドの値] を指定している場合は、[始点メジャー値フィールド][終点メジャー値フィールド] の値によりメジャーの方向が示唆されるため、座標の優先度を指定する必要がありません。

  • ルート識別フィールドに属性フィールドを使用すると、ダイナミック セグメンテーション処理を高速化できます。ダイナミック セグメンテーションに出力ルート フィーチャクラスを使用する場合は、属性インデックスの作成を選択することをお勧めします。

  • [ルートの作成] ツールによって拒否されたフィーチャがあると、一時ファイル パスにテキスト ファイルが作成されてそれらのフィーチャに関する情報が格納されます。たとえば、C:\Users\patrickb\AppData\Local\Temp\Create_Output0.txt のようなパスになります (Create_Output は出力ルート フィーチャクラスの名前です)。

  • [出力データに M 値を含む] 環境の設定は無視されます。出力ルート フィーチャクラスには、M (メジャー) 値があります。

構文

arcpy.lr.CreateRoutes(in_line_features, route_id_field, out_feature_class, measure_source, {from_measure_field}, {to_measure_field}, {coordinate_priority}, {measure_factor}, {measure_offset}, {ignore_gaps}, {build_index})
パラメーター説明データ タイプ
in_line_features

ルートの作成元となるフィーチャ。

Feature Layer
route_id_field

各ルートを一意に識別する値を格納したフィールド。

Field
out_feature_class

作成されるフィーチャクラス。シェープファイルかジオデータベース フィーチャクラスを指定できます。

Feature Class
measure_source

ルート メジャーの取得方法を指定します。

  • LENGTH入力フィーチャのジオメトリの長さを用いてメジャー値が累積されます。これがデフォルトです。
  • ONE_FIELD1 つのフィールドに格納されている値を用いてメジャー値が累積されます。
  • TWO_FIELDS始点メジャー値フィールドと終点メジャー値フィールドに格納されている値を用いてメジャーを設定します。
String
from_measure_field
(オプション)

メジャー値を格納したフィールド。このフィールドは数値にする必要があります。メジャー ソースに ONE_FIELD または TWO_FIELDS を指定している場合は必須です。

Field
to_measure_field
(オプション)

メジャー値を格納したフィールド。このフィールドは数値にする必要があります。メジャー ソースに TWO_FIELDS を指定している場合は必須です。

Field
coordinate_priority
(オプション)

各出力ルートについてメジャーの累積を開始する位置。メジャー ソースに TWO_FIELDS を指定している場合、このパラメーターは無視されます。

  • UPPER_LEFTメジャーは、最小境界範囲の左上隅に最も近いポイントから累積されます。これがデフォルトです。
  • LOWER_LEFTメジャーは、最小境界範囲の左下隅に最も近いポイントから累積されます。
  • UPPER_RIGHTメジャーは、最小境界範囲の右上隅に最も近いポイントから累積されます。
  • LOWER_RIGHTメジャーは、最小境界範囲の右下隅に最も近いポイントから累積されます。
String
measure_factor
(オプション)

マージされてルート メジャーが作成される前に、各入力ラインのメジャーの長さで乗じる値。デフォルトは [1] です。

Double
measure_offset
(オプション)

入力ラインがマージされてルートが作成されてからルート メジャーに追加される値。デフォルトは 0 です。

Double
ignore_gaps
(オプション)

分断されたルート上のメジャーを計算するときに、空間的ギャップを無視するかどうかを指定します。このパラメーターは、メジャー ソースに LENGTH または ONE_FIELD を指定している場合に適用されます。

  • IGNORE空間的ギャップが無視されます。分断されたルートのメジャー値が連続的になります。これがデフォルトです。
  • NO_IGNORE空間的ギャップが無視されません。分断されたルートのメジャー値にギャップが生じます。分断した各パートの端点間の直線距離を使用してギャップの距離が計算されます。
Boolean
build_index
(オプション)

出力ルート フィーチャクラスに書き出されたルート識別フィールドについて属性インデックスを作成するかどうかを指定します。

  • INDEX属性インデックスが作成されます。これがデフォルトです。
  • NO_INDEX属性インデックスが作成されません。
Boolean

コードのサンプル

CreateRoutes (ルートの作成) の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、CreateRoutes 関数を使用する方法を示しています。

import arcpy
arcpy.env.workspace = "C:/Data"
arcpy.CreateRoutes_lr(base_roads.shp, "route1", "newRoutes", "LENGTH", "#", "#", 
                      "LOWER_LEFT", 0.00018939394)
CreateRoutes (ルートの作成) の例 2 (スタンドアロン スクリプト)

次の 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.
# Import system modules
import arcpy
# Set workspace
arcpy.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)
CreateRoutes (ルートの作成) の例 3 (スタンドアロン スクリプト)

次の 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
# Set workspace
arcpy.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 result to the roads feature dataset
# Execute CreateRoutes
arcpy.CreateRoutes_lr(in_lines, rid, out_routes, "ONE_FIELD", m_fld, "#", 
                      "LOWER_LEFT")
CreateRoutes (ルートの作成) の例 4 (スタンドアロン スクリプト)

次の Python スクリプトは、エンタープライズ ジオデータベース データを使用し、スタンドアロン Python スクリプトで CreateRoutes 関数を使用する方法を示します。

# Name CreateRoutes_Example4.py
# Description:  Create routes from lines. The lines are in an enterprise 
# geodatabase. The TWO_FIELD option will be used to set the measures.
# Import system modules
import arcpy
# Set workspace
arcpy.env.workspace = "C:/MyProject/myConn.sde"
# Set local variables
# base_roads is a standalone feature class
in_lines = arcpy.ValidateTableName("base_roads", wkspc)
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)

ライセンス情報

  • Basic: はい
  • Standard: はい
  • Advanced: はい

関連トピック