Location Referencing ライセンスで利用可能です。
LRS (リニア リファレンス システム) は、キャリブレーションされたルートを格納および編集できるフィーチャクラスとテーブルのコレクションです。
LRS では、中心線と呼ばれる単一のポリライン フィーチャクラスを使用し、複数ルートのジオメトリを格納できます。 中心線ジオメトリは、ルートの定義とともに、ネットワーク フィーチャクラスに格納されます。
ネットワーク内のルートと、ジオメトリを提供する中心線の間には、多対多のリレーションシップが存在します。 このため、ルートは通常、複数の中心線フィーチャで構成され、中心線フィーチャは複数ネットワークの複数ルートに属すことができます。
ルートには、ジオメトリに加えて、メジャーも含まれる必要があります。 LRS はルート上のメジャーを使用して、イベント レイヤーをマップの正しい位置に表示します。 メジャーは、キャリブレーションと呼ばれるプロセスでルートに追加されます。 ルートのキャリブレーション方法を明示的に制御するため、LRS はキャリブレーション ポイント フィーチャクラスを使用します。
キャリブレーション ポイントは、メジャー値、ルート参照、およびネットワーク ID を格納するポイント フィーチャです。 これら 3 つのアイテムを組み合わせることで、リニア リファレンス方法 (LRM) が構成されます。 キャリブレーション ポイントをルートに適用し、LRS ネットワークを作成することで、LRM が作成されます。
LRS は、次のフィーチャクラスおよびテーブルで構成されます。
- 中心線 - ルートのジオメトリを格納するポリライン フィーチャクラス。
- 中心線シーケンス - 中心線およびルート間のリレーションシップを管理する相互参照テーブル。
- キャリブレーション ポイント - ルート メジャー値を格納するポイント フィーチャクラス。
- レッドライン - LRS の変更内容を伝えるためのマークアップ フィーチャを格納するポリライン フィーチャクラス。
注意:
[LRS の作成 (Create LRS)] ツールを実行すると、フィーチャクラス、テーブル、および必要なすべてのフィールドが作成されます。
フィーチャ データセットの要件
Roads and Highways のデータのサービスベースの編集をサポートするには、LRS データ モデルの特定のフィーチャクラスが、ジオデータベースのフィーチャ データセットに存在する必要があります。 フィーチャクラスとテーブルが事前にモデル化されている場合、次のフィーチャクラスが必須であり、フィーチャ データセットに含まれている必要があります。
- キャリブレーション ポイント
- 中心線
- Events
- 交点
- ネットワーク
- レッドライン
注意:
- [LRS の作成 (Create LRS)] ツールを使用して LRS および最低限必要なスキーマ アイテムを作成した場合、これらのフィーチャクラスは自動的にフィーチャ データセットに配置されます。
- LRS が ArcMap または ArcGIS Pro 2.2 以前を使用して作成された場合、これらのフィーチャクラスをフィーチャ データセットに移動し、[LRS の変更 (Modify LRS)] ツールを実行して、ArcGIS Pro 2.3 以降で LRS を編集する必要があります。
バージョン管理の要件
サービスとして公開する LRS データは、ブランチ バージョン対応している必要があり、サービスとして公開する際にバージョン管理機能が有効になっている必要があります。
公開する前に、LRS フィーチャクラスおよびテーブルには、GlobalID など、バージョン管理のためのフィールドが必要です。
LRS データセット
LRS (リニア リファレンス システム) データセットは、LRS に関係するすべてのフィーチャクラスとともに、ジオデータベースのフィーチャ データセットにあるコントローラー データセットです。
注意:
[コンテンツ] ウィンドウまたは [カタログ] ウィンドウのいずれかから、「LRS 階層を表示」できます。
ArcGIS Pro 2.3 で、LRS データセットを作成するツールを以下に示します。
- [LRS の作成 (Create LRS)] - 新たに作成された中心線、キャリブレーション ポイント、およびレッドライン フィーチャクラスは、指定した LRS 名と同じ名前のフィーチャ データセットに配置されます。
- [既存のデータセットから LRS を作成 (Create LRS From Existing Dataset)] - まだ LRS に登録されていない既存の中心線、キャリブレーション ポイント、およびレッドライン フィーチャクラスは、共通のフィーチャ データセットに存在する必要があります。 フィーチャ データセット名は、LRS 名と異なっていてもかまいません。
- [LRS の変更 (Modify LRS)] - LRS に登録されている既存の中心線、キャリブレーション ポイント、およびレッドライン フィーチャクラスは、共通のフィーチャ データセットに存在する必要があります。 フィーチャ データセット名は、LRS 名と異なっていてもかまいません。
次のツールを実行するには、LRS データセットが必要です。
- すべての構成ツールセットのツール
- イベントのアペンド
- ルートのアペンド
- イベントの振舞いを適用
- ルートの削除
- イベント メジャーの取得
- キャリブレーション ポイントの生成
- イベントの生成
- 交点の生成
- ルートの生成
- オーバーラップする中心線を削除
注意:
[Object ID を 64 ビットに移行 (Migrate Object ID To 64 Bit)] ツールを使用して、LRS データセットを 64 ビットの Object ID に移行します。
64 ビットの Object ID へのデータセットへのアップグレードは、Object ID 値が 21 億より大きい場合、あるいはデータがクラウド データ ウェアハウスから取得される場合に便利です。
LRS データセットに含まれる情報の一部は、arcpy.Describe 関数を使用して、確認できます。 LRS コントローラー データセットを含むジオデータベースの LRS メタデータとイベントの振舞いルールを確認するには、次の関数を使用します。
ファイル ジオデータベース:
desc = arcpy.Describe("C:\\Data\\LRData\\LrsSchema.gdb\\Lrs\\Lrs")
lrsXML = desc.lrsMetadata
eventBehaviors = desc.eventBehaviorRules
エンタープライズ ジオデータベース:
desc = arcpy.Describe("C:\\Data\\LRData\\LrsSchema.sde\\GPRefresh.DBO.LRS\\GPRefresh.DBO.LRS")
lrsXML = desc.lrsMetadata
eventBehaviors = desc.eventBehaviorRules
ファイルへの書き込み:
txtFile = open("C:\\Data\\LRData\\lrsXML.xml", "w")
txtFile.write(lrsXML)
txtFile.close()
中心線フィーチャクラス
中心線フィーチャクラスは、LRS で構築するすべての LRS ネットワークの単一のジオメトリ ソースを提供します。
中心線フィーチャクラスの各フィーチャは、1 つの高速道路ユニットを表します。 これらを使用してルートとの 1 対 1 のリレーションシップを表したり、これらを結合してより大きなルートを形成したりできます。
注意:
中心線フィーチャクラスの「許容値と座標精度の設定」は、ArcGIS Roads and Highways に登録されたネットワーク、交点、およびイベント フィーチャクラスに反映されます。 中心線フィーチャクラスの空間参照、XY 許容値と座標精度、Z 許容値と座標精度は、LRS にデータを読み込む際に使用されるソース ルートと一致している必要があります。
注意:
中心線フィーチャクラスは Z 対応である必要があります。
LRS では、中心線フィーチャクラスに中心線 ID フィールドが含まれている必要があります。 [LRS の作成 (Create LRS)] および [既存のデータセットから LRS を作成 (Create LRS From Existing Dataset)] ツールを使用すると、中心線 ID フィールドをマッピングすることができます。
フィールド | データ タイプ | 長さ | NULL 許容 | 説明 |
---|---|---|---|---|
中心線 ID | GUID | はい | 中心線ジオメトリの一意の ID |
注意:
Centerline ID は、ArcGIS Roads and Highways ツールが自動的に設定するシステム管理のフィールドです。 このフィールドは手動で編集しないでください。
中心線シーケンス テーブル
ルートおよび中心線間の多対多のリレーションシップは、中心線シーケンス テーブルと呼ばれる相互参照テーブルで管理されます。 ルート ID は LRS 内で一意ではないため、中心線シーケンス テーブルには LRS ネットワークのネットワーク ID フィールドへの参照も含まれています。 ネットワーク ID とルート ID の組み合わせにより、LRS 内の各ルートを一意に識別することができます。 ルート ID はネットワーク間で一意ではない場合があるため、ネットワーク ID を使用すると、LRM を区別するのに役立ちます。
1 つの中心線フィーチャは多くのルートに属すことができ、1 つのルートを複数の中心線で構成することができます。 中心線シーケンス テーブルには、中心線とネットワークの組み合わせごとに 1 つ以上のレコードが必要です。
中心線シーケンス テーブルで最小限必要となるフィールドは次のとおりです。
フィールド | データ タイプ | 長さ | NULL 許容 | 説明 |
---|---|---|---|---|
中心線 ID | GUID | はい | 中心線ジオメトリの一意の ID | |
開始日 | Date | 8 | はい | 中心線の一部がアクティブになる日付 |
終了日 | Date | 8 | はい | 中心線の一部が廃止される日付 |
ルート ID | String | 推奨 255。ネットワークで最長の Route ID の長さ以上。 | はい | ルートの一意な ID |
ネットワーク ID | Short Integer | 5 | はい | 各ルートが属している LRS ネットワークの一意の ID |
注意:
中心線シーケンス テーブルのレコードは手動で編集しないでください。
注意:
Network ID フィールドは、LRS の作成時に dLRSNetworks コード値ドメインに登録されます。
キャリブレーション ポイント フィーチャクラス
キャリブレーション ポイント フィーチャクラスを使用して、ネットワーク内のルートにルート メジャーを割り当てます。 ルートは、ルートに沿った任意の 2 つのキャリブレーション ポイント間の内挿された距離を計算することでキャリブレーションされます。 キャリブレーション ポイントは LRS ネットワークに固有で、LRM のメジャー コンポーネントを構成します。 キャリブレーション ポイントのルールは次のとおりです。
- LRS に登録されているすべての LRS ネットワークに対して、キャリブレーション ポイント フィーチャクラスは 1 つだけです。
- 各ルートに、最低 2 つのキャリブレーション ポイントが必要です。
- キャリブレーション ポイントは単調である必要があります。このため、ルートに沿って厳密にメジャーが増加または減少します。 非単調なルートでもキャリブレーションは行われますが、イベントのロケーションや振舞いが未定義になることがあります。
- 特定のメジャー値を維持するには、特定のロケーションにキャリブレーション ポイントを追加します。
注意:
キャリブレーション ポイント フィーチャクラスは、中心線フィーチャクラスと同じ空間参照、XY 許容値および Z 許容値、および座標精度を備えている必要があります。
キャリブレーション ポイント フィーチャクラスは Z 対応である必要があり、M 対応にすることはできません。
キャリブレーション ポイント フィーチャクラスで最小限必要となるフィールドは次のとおりです。
フィールド | データ タイプ | 長さ | NULL 許容 | 説明 |
---|---|---|---|---|
メジャー | Double | 8 | はい | LRS ネットワーク内のルートに格納されているメジャー値。 |
開始日 | Date | 8 | はい | キャリブレーション ポイントがアクティブになった日付。 |
終了日 | Date | 8 | はい | キャリブレーション ポイントが廃止される日付。 |
ルート ID | String | 中心線シーケンス テーブルの Route ID フィールドと同じ長さ。 | いいえ | ルートの一意な ID。 |
ネットワーク ID | Short Integer | 5 | はい | LRS ネットワークの一意の ID。 |
注意:
Network ID フィールドは、LRS の作成時に dLRSNetworks コード値ドメインに登録されます。
キャリブレーション ポイントを生成するには、[キャリブレーション ポイントの生成 (Generate Calibration Points)] ツールを使用します。
レッドライン フィーチャクラス
レッドライン フィーチャクラスには、Roads and Highways で使用できる多くのルート編集機能の実行に必要な基本情報が含まれています。 レッドライン フィーチャは、今後のルート編集操作で使用するプレースホルダーと考えることができます。 マークアップ フィーチャとして使用されるため、LRS を維持する必要はありません。 LRS と現実世界の違いを見つけるためのワークフローの停止が必要になる可能性があります。 操作を停止して LRS が更新されるのを待つ代わりに、ジオデータベースにレッドライン フィーチャを入力して、ルートの場所を示し、GIS チームに通知して、イベント データの操作を継続することができます。
注意:
レッドライン フィーチャクラスは、中心線フィーチャクラスと同じ空間参照、XY 許容値、および座標精度を備えている必要があります。
レッドライン フィーチャクラスは Z 対応である必要があり、M 対応にすることはできません。
レッドライン フィーチャクラスで最小限必要となるフィールドは次のとおりです。
フィールド | データ タイプ | 長さ | NULL 許容 | 説明 |
---|---|---|---|---|
始点メジャー | Double | 8 | はい | 割り当て変更の始点メジャー。 |
終点メジャー | Double | 8 | はい | 割り当て変更の終点メジャー。 |
ルート ID | String | 中心線シーケンス テーブルの Route ID フィールドと同じ長さ。 | いいえ | ターゲット ルートの一意な ID。 |
ルート名 | String | 12 | はい | ルートの名前。 |
発効日 | Date | 8 | はい | ルートの変更が有効になる日付。 変更の影響を受けるイベントにこの日付が適用されます。 |
アクティビティ タイプ | Short Integer | 5 | はい | 実行する必要がある編集アクティビティ (例: ルートの延長)。 |
ネットワーク ID | Short Integer | 5 | はい | LRS ネットワークの一意の ID。 |
注意:
LRS の作成時に、Network ID フィールドは dLRSNetworks コード値ドメインに登録され、Activity Type フィールドは dActivityType コード値ドメインに登録されます。
レッドライン フィーチャには、具体的な情報または一般的な情報を入力することができます。 GIS アナリストがレッドライン フィーチャを確認し、正確なジオメトリがデータベースに入力されることを前提としています。 大まかにスケッチされたレッドラインは、LRS への変更が必要であることを示し、その一般的な位置を表しています。
ネットワーク フィーチャクラス
ネットワーク フィーチャクラスには、LRS で使用されるルート フィーチャが含まれています。 これらのルートには、属性、中心線フィーチャクラスのジオメトリ、およびキャリブレーション ポイント フィーチャクラスのキャリブレーションが含まれています。
これらのエレメントを組み合わせることで、LRM のルートが構成され、そのルート上のイベントの特定に使用できます。 各ルートには、ルート ID と呼ばれる一意のルート識別子が含まれている必要があります。
ルート ID フィールド データは、ネットワーク、イベント、キャリブレーション ポイント フィーチャクラス、および中心線シーケンス フィーチャ テーブル全体で矛盾がないようにする必要があります。
Route ID フィールド データ タイプは、ネットワーク、イベント、レッドライン、キャリブレーション ポイント フィーチャクラス、および中心線シーケンス フィーチャ テーブル全体で矛盾がないようにする必要があります。
注意:
ネットワーク フィーチャクラスが LRS の作成前にモデリングされている場合、XY 許容値、Z 許容値、および座標精度が中心線フィーチャクラスと一致していることを確認します。 ネットワークの M 許容値と座標精度は、ネットワーク フィーチャクラスの空間参照の計測単位と、使用する LRM の計測単位に基づきます。 計測単位が同じである場合、M 許容値および座標精度は XY 許容値および座標精度と同じになります。 計測単位が異なる場合、XY 許容値および座標精度を対応する M 許容値および座標精度に変換する必要があります。
たとえば、ネットワーク フィーチャクラスの空間参照がメートル単位で、XY 許容値が 0.001 メートル、XY 座標精度が 0.0001 メートルであるとします。 LRM の計測単位がメートルの場合、M 許容値は 0.001、M 座標精度は 0.0001 になります。ただし、LRM の計測単位がキロメートルである場合、XY 許容値および座標精度値は、M 許容値および座標精度に合わせてメートルからキロメートルに変換する必要があります。 この例では、M 許容値は 0.000001、座標精度は 0.0000001 になります。
ネットワーク フィーチャクラスで最小限必要となるフィールドは次のとおりです。
フィールド | データ タイプ | 長さ | NULL 許容 | 説明 |
---|---|---|---|---|
開始日 | Date | 8 | はい | 中心線の一部がルートのアクティブな部分になる日付。 |
終了日 | Date | 8 | はい | 中心線の一部がルートの廃止された部分になる日付。 |
ルート ID | String | 中心線シーケンス テーブルの Route ID フィールドと同じ長さ。 | いいえ | ルートの一意な ID。 |
注意:
ネットワーク フィーチャクラス フィールドは直接編集しないでください。 これらは Location Referencing によって管理されます。
ネットワーク フィーチャクラスの他の複数のフィールドで構成されるマルチフィールド ルート ID を使用する場合は、次のフィールドを構成する必要があります。
フィールド | データ タイプ | 長さ | NULL 許容 | 説明 |
---|---|---|---|---|
Route ID フィールドを構成するフィールド。 | String、Short Integer、Long Integer | Route ID フィールドの長さ以下 | はい | ネットワークの連結ルート ID を構成するフィールド。 各フィールドは、ネットワーク フィーチャクラスで個別にモデリングする必要があります。 |
マルチフィールド ルート ID を持つライン ネットワークに次のフィールドを構成する必要があります。
注意:
ライン順序は、100 刻みで構成することをお勧めします。 この構成では、最初のルートのライン順序が 100 で、同じラインに沿った各ルートのライン順序は 100 刻みで増加します (100、200、300 など)。
フィールド | データ タイプ | 長さ | NULL 許容 | 説明 |
---|---|---|---|---|
ライン ID | String または GUID | 中心線シーケンス テーブルの Route ID フィールドと同じタイプおよび長さ | はい | ラインの一意な ID |
ライン順序 | Long | はい | ライン内のルートの順序 |