ネットワーク解析を実行する場合、Network Analyst は各解析の入力が配置されるネットワーク データセット上の場所を決定する必要があります。 ネットワーク ロケーションは、入力の地理的な位置、入力が使用されるネットワーク解析の設定、入力の配置に使用されるツールや関数のユーザー固有のロケーション設定などのいくつかの要素に基づいて計算されます。
車両の進行方向も、ネットワーク上の位置を正確に特定するうえで役立つ要素です。 次の図はこの原理を説明しています。
ArcGIS Network Analyst エクステンション では、この原理を利用して、ネットワーク データセット上でポイントを正確に配置できるようにします。
GPS デバイスは通常、現在の地理的な位置に加えて方位を計算します。 ネットワーク解析時に、ネットワーク上にポイントを配置する際、この情報を利用できます。 これにより、ネットワーク解析オブジェクトの配置精度が向上します。 さらに、これらの移動ポイントから作成されるルートや方向が正しい位置から始まる可能性が高くなるため、運転者の混乱防止にも役立ちます。
一般的な使用例として、トラックの現在の位置と方位を GPS 受信機を備えた携帯電話を使って ArcGIS Server に送信し、その情報はルート解析の最初のストップとして読み込まれます。 トラックがまだ訪問していないその他のストップも読み込まれ、ルートが計算され、結果と方向が運転者の電話に送り返されます。 このプロセスで方位情報を使用することで、トラックが交差点や高架の近くにいる場合に、トラックが間違った道路から出発するのを避けることができます。 さらに、ArcGIS Network Analyst エクステンション で車両の移動方向を確認し、結果として得られたルートの始点を、車両が現在移動している方向に一致させるのにも役立ちます。
Bearing および BearingTol フィールド
ArcGIS Network Analyst エクステンション では、ネットワーク解析の入力の Bearing フィールドと BearingTol フィールドの方位情報を使用できます。 以下では、これらのフィールドについて説明します。
- Bearing- 車両または人が移動する方向。 方位の単位は度で、真北を基準に時計回りに測定されます。 一般的な値は 0 ~ 360 ですが、Network Analyst では 360 度から値を引く方法で負の値も解釈されます。
- BearingTol- 方位許容値 (Bearing Tolerance) の略です。このフィールドには、車両の進行方向と、Network Analyst で車両の配置を試みる道路上のポイントからの接線との間の最大許容差を指定します。 つまり、方位許容値は、車両が移動する方向が、その下にある道路にほぼ合っているかどうかを判断するために使用します。 指定された許容値内にあれば、車両はそのエッジ上に配置されます。ない場合は、次に近い場所にある候補エッジが評価されます。
BearingTol の単位は度で、デフォルト値は 30 です。 0 より大きく、180 より小さい許容値を選択します。
Network Analyst と Bearing フィールドおよび BearingTol フィールド
次の手順では、Network Analyst で方位の各フィールドを評価する方法の概要を説明します。
- Network Analyst では、最も近いエッジにポイントがスナップします。
- 最も近いエッジ上のポイントから方位許容値が計算され、方位の最小許容値と最大許容値が設定されます。 これは移動の両方向について行われます。
- 追加するポイントの方位が、移動の 2 方向のそれぞれについて方位の最大許容値および最小許容値と比較されます。
- 方位が許容値の範囲内にある場合、ポイントがそこにネットワーク ロケーションとして追加されます。 道路上の移動方向も決定されます。方位が範囲内に入った方位許容値の方向に一致します。
- 方位が許容値の範囲外であった場合は、ポイントは配置されず、次に近い場所にある候補エッジの方位許容値が評価されます (これ以外の理由で候補にならないエッジもあります。たとえば、制限されているエレメント上には配置しないように選択されていたり、すべての高速道路を除外するように選択されていたりする場合です。 この場合は、制限されているすべてのエッジや高速道路が対象から外されます)。このプロセスは、ポイントが適切なエッジ上に配置されるか、特定のスナップ許容値を超えたために配置されずに残されるまで繰り返されます。
解析での Bearing および BearingTol フィールドの使用
「ネットワーク解析レイヤー」を使用して解析を実行し、入力クラスのポイント (ストップ、施設、起点など) を読み込むと「ロケーションの追加」ツールは入力テーブルの Bearing および BearingTol フィールドを自動的に使用します。 フィールドのマッピングを使用したり、特別な構成を行ったりする必要はありません。 フィールドは、入力データに存在する場合に使用されます。
「Network Analyst モジュール」、arcpy.nax を使用して Python で解析を実行する場合、Bearing、BearingTol フィールドは、各解析の入力クラスでサポートされているフィールドのリストに明示的に含まれます。 フィールドを使用するには、マッピングする他の入力フィールドと同じ方法で、load メソッドの field_mappings パラメーターを使用し、入力のフィールドを入力クラスのフィールドにマッピングします。
Network Analyst モジュールでのフィールド マッピングの詳細
注意:
方位は、解析の入力が配置される道路 (ロケーション計算の一部) に影響を与える可能性がありますが、車両がロケーションに到着する方向およびロケーションから出発する方向には影響しません。 たとえば、車両の方位が北を示している場合、Bearing および BearingTol フィールドは、南北の道路に配置するのに役立ちます。 ただし、解析時に、解析結果のルートは、次のストップへの最短パスが得られるロケーションから南に移動する可能性があります。 ロケーションに到着する移動方向とロケーションから出発する移動方向を制御するには、CurbApproach フィールドを使用します。Bearing および BearingTol フィールドを操作する際には、次の点に注意してください。
- 入力データの Bearing および BearingTol フィールドのデータ タイプは、short、long、double のいずれかである必要があります。
- ポイントにマッピングされた入力フィールドの値が NULL の場合、ポイントは通常の方法、つまり方位や方位許容値に関係なく配置されます。
例
以下の図とその説明文は、Network Analyst によって Bearing および BearingTol フィールドが処理される方法を説明しています。