ネットワーク データセット内のターン

Network Analyst のライセンスで利用可能。

ターンは、1 つのエッジ エレメントからもう 1 つのエッジ エレメントへの移動をモデリングします。 多くの場合、ターンは、移動のコストを増やすか、またはターン全体を禁止するために作成されます。 たとえば、交差点での左折を表すターン フィーチャに 30 秒のコストを割り当てて、左折信号が緑に変わるまでの平均時間をモデリングすることができます。 同様に、規制属性がターン フィーチャからのフィールド値を読み取ってそれを禁止するようにできます。 これは、ターンが非合法的 (右折禁止) であることが掲示されている場合に便利です。

ターンの理解

ターンは、エッジが接続する任意のジャンクションで作成できます。 すべてのネットワーク ジャンクションで、そのジャンクションに接続しているエッジの数の 2 乗のターンを作成できます。 単一エッジのジャンクションでも、1 つの U ターンを作成できます。

作成可能なターンの図

複数エッジのターン

ジャンクションに接続している 2 つのエッジの間のシンプルなターンは、2 エッジ タイプのターンと呼ばれます。 ArcGIS Network Analyst エクステンション は、複数エッジのターンのモデリングをサポートしています。 複数エッジのターンは、連続して接続された中間エッジ エレメントを経由する、1 つのネットワーク エッジ エレメントから別のエッジ エレメントへの移動です。 これらの中間エッジは、ターンの内部エッジと呼ばれます。 多くの場合、道路網では内部エッジは分割された道路の交差の内部を表すエッジ エレメントです。

複数の部分から構成されるターンの例

上の例は、分割された 2 つの道路の交差での複数エッジの左折を示しています。 エッジ c と d はターンの内部エッジで、エッジ f と i は外部エッジを表します。

U ターン

U ターンは、エッジ エレメントからその終端の 1 つを経由してそのエッジ エレメント自体に戻る移動です。 通常は、エッジ順序に 2 つのエントリを持ち、両方のエントリが同一のエッジ エレメントであるターンとしてモデリングされます。

U ターンの例

分割された道路では、U ターンは複数エッジのターンとしてモデリングされ、エッジ f と e が外部エッジ、c、d、a が内部エッジとなります。

複数の部分から構成される U ターンの例

U ターン ポリシーの詳細

適切に定義されたターン

ターンは、適切に定義されている場合にのみ、ネットワークで使用できます。 適切に定義されたターンは、次のルールに従う必要があります。

  • ターンは 2 つ以上のエッジから成る順序です。 U ターンは、エッジからそのエッジ自体への移動として定義されます。
  • ターンの最初または最後のエッジ (外部エッジ) は、別のターンの内部エッジとなることはできません。 前述の例では、エッジ a、d、c からターンを開始する (または終了する) ことはできません。
  • 順序を構成するすべてのエッジは、その順序内で次のエッジに接続し、接続されたエッジによる分岐のないチェーンを形成します。 ターンを構成するどのエッジ (外部または内部) も、接続できるエッジは 1 つだけです。 前述の U ターンの例 (f-c-d-a-e) では、d は a のみに接続します。
  • 内部エッジは、複数のターン間で共有できます。 前述の例では、内部エッジ c と d が、U ターン (f-c-d-a-e) と左折 (f-c-d-i) で共有されています。 1 つのターンで内部エッジとなるエッジは、すべてのターンで内部エッジとなります。
  • 2 つのターン フィーチャが同一のターン移動を表すことはできません。 つまり、2 つのターンの最初と最後の外部エッジを同じにすることはできません。
  • ターン フィーチャをジャンクションの上で開始または終了することはできません。

ターン フィーチャ

ArcGIS Network Analyst エクステンション では、ターンはターン フィーチャクラス内のフィーチャとしてモデリングされます。 ターン フィーチャクラスは、(Esri ターン フィーチャ タイプの) カスタム ライン フィーチャクラスです。

ターン フィーチャクラスは、ネットワークの外部では意味を持ちません。 その情報価値を使用するには、ネットワーク データセットに追加する必要があります。 ターン フィーチャクラスをネットワークに追加するには、ネットワーク データセットのその他のフィーチャ ソースと同じフィーチャ データセットに格納します。 ネットワーク データセットでは、複数のターン フィーチャクラスを使用できます。 ターン フィーチャ ソースは接続性グループには含まれず、エレベーション フィールド情報を持つこともありません。 ターン フィーチャクラスのユーザー定義のフィールドは、その他のフィーチャクラス ソースのフィールドと同様に、ネットワーク属性のフィールド エバリュエーターで使用できます。

ターン フィーチャクラスの作成

ターン フィーチャクラスを作成するときは、ターンでサポートするエッジの最大数を指定できます。 ターンの最小エッジ数は 2 です。 Network Analyst は、最大で 50 のエッジを持つターンをサポートしています。 デフォルトの最大エッジ数は 5 です。

ターン フィーチャクラスの作成の詳細

ターン フィーチャクラスのスキーマ

次の表は、最大で 5 つのエッジをサポートするターン フィーチャクラスのフィールドについて説明しています。

フィールド説明

OBJECTID

ターンの内部フィーチャ番号。

SHAPE

ターン フィーチャのフィーチャ ジオメトリ。

Edge1End

ターンが最初のエッジの終了を経由するかを示します (Y であればターンは最初のエッジの終了を通過し、N であればターン最初のエッジの始点を通過します)。

Edge1FCID

ターンの最初のエッジを表すライン フィーチャのフィーチャクラス ID。

Edge1FID

ターンの最初のエッジを表すライン フィーチャのフィーチャ ID。

Edge1Pos

ターンの最初のエッジを表すライン フィーチャ上の位置。 頂点への接続性を持ったライン、またはオーバーライド ポリシーを持ったポイントによって作成される、複数エッジを表すライン フィーチャにおいて、フィーチャのどのエッジ エレメントがターンの最初のエッジであるかが位置によって指定されます。

Edge2FCID

ターンの 2 番目のエッジを表すライン フィーチャのフィーチャクラス ID。

Edge2FID

ターンの 2 番目のエッジを表すライン フィーチャのフィーチャ ID。

Edge2Pos

ターンの 2 番目のエッジを表すライン フィーチャ上の位置。

Edge3FCID

3 つ以上のエッジから構成される複数エッジのターンで、3 番目のエッジを表すライン フィーチャのフィーチャクラス ID。

Edge3FID

3 つ以上のエッジから構成される複数エッジのターンで、3 番目のエッジを表すライン フィーチャのフィーチャ ID。

Edge3Pos

3 つ以上のエッジを持つ複数エッジのターンの 3 番目のエッジを表すライン フィーチャ上の位置。

Edge4FCID

4 つ以上のエッジから構成される複数エッジのターンで、4 番目のエッジを表すライン フィーチャのフィーチャクラス ID。

Edge4FID

4 つ以上のエッジから構成される複数エッジのターンで、4 番目のエッジを表すライン フィーチャのフィーチャ ID。

Edge4Pos

4 つ以上のエッジを持つ複数エッジのターンの 4 番目のエッジを表すライン フィーチャ上の位置。

Edge5FCID

5 つ以上のエッジから構成される複数エッジのターンで、5 番目のエッジを表すライン フィーチャのフィーチャクラス ID。

Edge5FID

5 つ以上のエッジから構成される複数エッジのターンで、5 番目のエッジを表すライン フィーチャのフィーチャ ID。

Edge5Pos

5 つ以上のエッジを持つ複数エッジのターンの 5 番目のエッジを表すライン フィーチャ上の位置。

ObjectID、Shape、Edge1End の各フィールドは、すべてのターン フィーチャクラスに存在します。 その他のフィールドは、サポートされる最大エッジ数によって異なります。 サポートされるエッジの最大数が 6 のターン フィーチャクラスには、上記フィールドの他に Edge6FCID、Edge6FID、Edge6Pos を持ちます。

他のフィールドをターン フィーチャクラスに追加することもできます。 たとえば、ターンを完了するまでの平均時間を表すためにフィールドを追加することは一般的に行われています。 ネットワーク データセットの時間ベースのコスト属性のフィールド エバリュエーターは、ターン フィーチャクラスから遅延を読み取って、ネットワーク コストに組み込むことができます。

ターン フィーチャの作成または編集

ArcGIS Pro編集ツールを使用して、ターン フィーチャを作成するか、既存のターン フィーチャを変更することができます。 ターン フィーチャを同じネットワーク データセットに属しているフィーチャにスナップすると、ターン フィーチャクラスの属性テーブル内の [Edge#FCID]、[Edge#FID]、および [Edge#Pos] フィールドに、スナップされたエレメントの値が自動的に入力されます。 ただし、ネットワーク データセットが存在しない場合やターン フィーチャクラスがネットワークに属していない場合、この編集時の振舞いは見られません。 ターン フィーチャが無効な場合は、[フィーチャ作成] ウィンドウの上部にエラー メッセージが表示されます。

ターン フィーチャまたは属性に必要な編集を加えたら、ネットワークを構築して、ジオメトリまたは属性の編集内容がネットワーク データセットに反映されるようにすることが重要となります。

ネットワーク データセットの再構築の詳細

注意:

ターンの編集を開始して、すべての編集内容を道路フィーチャに反映する前に、ネットワークを構築しておくことをお勧めします。

ターン フィーチャのネットワーク属性の構成

ターンは、エバリュエーターを使用してエッジ フィーチャの場合と同様に定義されます。ただし、ターンには方向があるので、反対方向ではなく順方向のエバリュエーターだけを使用します。

追加のターン コストを適用するか、特定のターンを規制するように、エバリュエーターを使用してターン フィーチャのコスト属性および規制属性を構成することができます。

ネットワーク属性の詳細

ターン テーブルとターン フィーチャ

ARC/INFO と ArcView GIS (ArcGIS の前段階) では、ターンのモデリングにターン テーブルが使用されていました。 これらのターン テーブルには、時間インピーダンスのフィールドとともに、2 つの部分から成るターンの情報が行として格納されています。 負のインピーダンスは、ターンが規制されていることを表します。

ターン フィーチャを説明する ARC/INFO のテーブル

上の例は、ターン テーブルを使用して一般的なターンを表していた方法を示しています。 ArcGIS Network Analyst エクステンション では、いずれの状況のターンもターン フィーチャによって表されます。

  • U ターン - U ターンは、最初と最後のエッジが同一のターン フィーチャとして表されます。 さらに、ターン フィーチャクラスには、このターンのインピーダンスとして 20 秒が格納されているフィールドTurn Impedanceがあります。
  • 一時停止 - ターン テーブルの 3 つの行は、ターン インピーダンスが 20 秒の左折、ターン インピーダンスが 10 秒の右折、ターン インピーダンスが 15 秒の直進という 3 つのターン フィーチャによって表されます。
  • 右折禁止 - ターン フィーチャクラスには、ネットワーク データセット内の規制属性としてフィールド エバリュエーターが読み込むことができるフィールドを含めることができます。 これにより、右折の禁止など、ターンの禁止をモデリングできます。

ArcGIS には、既存のターン テーブルをターン フィーチャクラスとしてインポートするためのツールが用意されています。 これは、ARC/INFO または ArcView GIS からのターン テーブルがある場合に使用します。

グローバル ターン

暗黙のグローバル ターンを、既存のターン フィーチャが存在しないネットワーク内の 2 つのエッジ間でのすべてのトランジションに設定できます。 属性値をターンに割り当てるには、ターン エレメントのデフォルト値に対してターン カテゴリ エバリュエーターを指定します。

ターン カテゴリ エバリュエーターの詳細