ルート案内のための標識の設定
標識は、出口番号、連絡道路、連絡道路を進んで到達可能な主な行先など、高速道路標識に表示される行先情報を提供します。標識データが手元にある場合は、データを使用することで、ArcGIS Network Analyst によって生成されるルート案内を充実させることができます。たとえば、下図に示す道路標識は、北に向かっている運転者に対するものであり、出口 242 をとると、東に向かう道路(高速道路)80 に入り、ブライトン(Brighton)およびエーンズワース(Ainsworth)に到達することを示しています。
上図には矢印に沿って短いルートが作成されています。標識が表示される場合とそうでない場合のルートを比較すると下図のようになります。それぞれの例の 3 番目の手順に違いがあります。
2 つ目のルート案内を使用する運転者は、道順の詳細情報を、道路で遭遇する標識と照合することにより、誤ったターンを回避することができます。
ルート案内に関する標識情報は、標識フィーチャクラスと道路標識テーブルを使用して指定します。標識フィーチャクラスは道路標識のテキストを記述し、道路標識テーブルは道路標識で指定されたルートをたどるときに通過する道路のセグメントを識別します。
通常、標識および道路のデータは一緒にベンダから購入し、カスタム スクリプトを使用して適切なフィーチャクラスおよびテーブル形式に変換します(標識のカスタム スクリプトの詳細については、Esri Developer Network [EDN] の「Import signposts」をご参照ください)。以下のセクションで説明する形式を使用して標識を独自に作成することは可能ですが、推奨しません。いずれの場合も、データを作成したら、それらを有効にするために、[ルート案内プロパティ] ダイアログ ボックスでフィーチャクラスとテーブルの両方を指定する必要があります。
Network Analyst チュートリアル データには、標識を含むサンフランシスコのジオデータベースが含まれています。このトピックの説明を読むときには、これを参照すると便利です。
標識フィーチャクラス
標識フィーチャクラスは、ライン フィーチャクラスです。ジオデータベースの場合、ネットワーク データセットと同じフィーチャ データセット内に置く必要があります。シェープファイル ネットワーク データセットの場合、同じワークスペース内に置く必要があります。標識フィーチャクラスは、最大で 10 の分岐と 10 の目的地をサポートできます。下表は、2 つの分岐と 3 つの目的地をサポートする標識フィーチャクラスのフィールドを説明します。
フィールド |
形式 |
説明 |
---|---|---|
ObjectID |
OID |
標識の ID(OID フィールド)です。 |
Shape |
Geometry |
標識のジオメトリ(ライン ジオメトリ)です。 |
ExitName |
Text |
出口番号(たとえば、出口 242)です。 |
Branch0 |
Text |
ランプが終了して最初に現れる道路または高速道路の名前です(たとえば、県道 142)です。 |
Branch0Dir |
Text |
Branch0 の正式な方向(たとえば、北、南、東、または西)です。 |
Branch0Lng |
Text |
Branch0 の言語(たとえば、en, de, fr)です。 |
Branch1 |
Text |
Branch0 で使用される物理的な道路を共有する第 2 の道路または高速道路の名前です。県道 142 と 1 号線がランプの終わりで道路のセグメントを共有している場合、ここでは「1 号線」を入力します。 |
Branch1Dir |
テキスト |
Branch1 の正式な方向(たとえば、北、南、東、または西)です。 |
Branch1Lng |
テキスト |
Branch1 の言語です。 |
Toward0 |
テキスト |
ランプを終えた先の第 1 の目的地(たとえば、ブライトン(Brighton))です。 |
Toward0Lng |
テキスト |
Toward0 の言語(たとえば、en、de、fr)です。 |
Toward1 |
テキスト |
ランプを終えた先の第 2 の目的地(たとえば、エーンズワース(Ainsworth))です。 |
Toward1Lng |
テキスト |
Toward1 の言語です。 |
Toward2 |
テキスト |
ランプを終えた先の第 3 の目的地(たとえば、別の都市または有名なポイント)です。 |
Toward2Lng |
テキスト |
Toward2 の言語です。 |
道路標識テーブル
道路標識テーブルは、ネットワーク データセットと同じジオデータベースまたはシェープファイルのワークスペース内に存在する必要があります。道路標識テーブルの概要は次のとおりです。
フィールド |
形式 |
説明 |
---|---|---|
ObjectID |
OID |
OID フィールド |
SignpostID |
Long |
標識フィーチャクラスの ObjectID フィールドに対する外部キーです。 |
Sequence |
Long |
運転のセグメントの順序識別子です。TrueSequence 運転の場合、1-K とすることができます。ここでの K は、運転時の最大エッジ数です。先頭/最後のエッジしかない運転の場合、先頭のエッジは 1、最後のエッジは 0 になります。 |
EdgeFCID |
Long |
標識運転順序で道路のフィーチャクラスに対応するフィーチャクラス ID です。 |
EdgeFID |
Long |
標識運転順序で道路のフィーチャに対応するフィーチャ ID です。 |
EdgeFrmPos |
Double |
標識運転順序が開始する道路のフィーチャを決定するのに使用されます。* |
EdgeToPos |
Double |
標識運転順序が終了する道路のフィーチャを決定するのに使用されます。* |
*EdgeFrmPos および EdgeToPos の値については、以下の点に注意してください。
- ライン フィーチャのデジタイズされた方向にエッジに沿って移動する場合、EdgeFrmPos の値は EdgeToPos の値より小さくなります。
- ライン フィーチャのデジタイズされた方向と反対の向きに移動する場合、EdgeFrmPos の値は EdgeToPos の値より大きくなります。
- 複数のエッジ エレメントを作成するためにライン フィーチャが中間で論理的に分割されていない場合は、EdgeFrmPos の値を 0.0、EdgeToPos の値を 1.0 に設定します。ライン フィーチャが中間で論理的に分割されている場合は、これらの値は分数値に設定します。エッジ エレメントについて論理的な分割が発生します。
最適なパフォーマンスを実現するには、道路標識テーブルの以下のフィールドに属性インデックスを含めることを強く推奨します。
- SignpostID
- Sequence
- EdgeFCID
- EdgeFID
標識の例
以下の図と属性テーブルは、緑色の標識をモデリングする方法を示します。
- 標識フィーチャ(青色の太い矢印として記号化されている)は、2 つの道路のフィーチャ間でのターンについて方向を示しています。したがって、道路標識テーブルでは、2 つのレコードを使用して標識を表しています。
- 標識フィーチャの ObjectID は 15 なので、テーブル内の両方のレコードの SignpostID は 15 となります。
- EdgeFCID は、システムによって生成されるフィーチャクラス識別子を参照します。この識別子はフィーチャクラスの生成時にフィーチャクラスに自動的に割り当てられます。この例では、道路のフィーチャクラスは 7 に割り当てられています。
- EdgeFID は、道路のフィーチャクラス内の一意の道路のフィーチャの ObjectID を参照します。
- 標識フィーチャは道路 8489 で始まるので、そのレコードの Sequence 値は 1 となります。
- 標識フィーチャは道路 8493 で終了するので、その Sequence 値は 2(必要に応じて、代わりに最後のエッジを値 0 に割り当てることも可能)となります。
- 道路 8489 は南から北へ(標識と同じ方向へ)デジタイズされているので、EdgeFrmPos の値は 0、EdgeToPosition の値は 1 となります。道路 8493 にも同じことが当てはまります。ただし、デジタイズされた道路の方向が標識の方向とは逆の場合は、0 と 1 の値が入れ替わります。