ルート解析
ルート解析とは、解析のために選択したインピーダンスに基づいて、最も速い、最も短い、または最も景色がきれいなルートなどを検索することです。インピーダンスが時間であれば、最適なルートは最短ルートとなります。最適なルートは、インピーダンスが最も低いルート、またはコストが最も低いルートとして定義され、インピーダンスはユーザによって選択されます。どのコスト属性も、最適なルートを検索するためのインピーダンスとして使用できます。
ソリューションの計算時に、累積属性は影響しません。たとえば、インピーダンス属性として時間のコスト属性を選択し、距離のコスト属性を累積する場合、ソリューションの最適化には時間のコスト属性のみが使用されます。
一連のストップを通過する最適なルートの検索方法は、その他のネットワーク解析のワークフローと同様です。
ルート解析レイヤ
ルート解析レイヤには、ルート解析のすべての入力、パラメータ、結果が格納されます。
ルート解析レイヤの作成
ルート解析レイヤを作成するには、[Network Analyst] ツールバーで [Network Analyst] → [新規ルート] の順にクリックします。
新しいルート解析レイヤを作成すると、それはその 5 つのネットワーク解析クラス(ストップ、ルート、ポイント バリア、ライン バリア、およびポリゴン バリア)とともに [Network Analyst] ウィンドウに表示されます。
ルート解析レイヤは、コンテンツ ウィンドウにもコンポジット レイヤとして表示されます。これには [ルート] という名前が付けられます(マップ ドキュメントに同じ名前のレイヤがすでに存在する場合は [ルート 1]、それがすでに存在する場合は [ルート 2] などのように連番で名前が付けられます)。フィーチャ レイヤには、ストップ、ルート、ポイント バリア、ライン バリア、およびポリゴン バリアの 5 種類があります。この 5 種類のフィーチャ レイヤは、それぞれがデフォルトのシンボルを持ちます。このシンボルは、[レイヤ プロパティ] ダイアログ ボックスで変更できます。
ルート解析のクラス
ルート解析レイヤは、5 つのネットワーク解析クラスで構成されます。
次のセクションでは、各クラスの概要とそのプロパティの説明を示します。
ストップ クラス
このネットワーク解析クラスには、ルート解析でストップとして使用されるネットワーク ロケーションが格納されます。ストップ レイヤには、配置されているストップ、配置されていないストップ、エラーのあるストップ、および時間超過のあるストップの 4 つのデフォルト シンボルがあります。ストップ レイヤのシンボルは、[レイヤ プロパティ] ダイアログ ボックスで変更できます。このダイアログ ボックスには、ストップのカスタム シンボル カテゴリがあります([Network Analyst] → [順序付きポイント] の順にアクセスします)。
新しいルート解析レイヤが作成されるとき、ストップ クラスは空です。これは、ネットワーク ロケーションの追加時に挿入されます。ルートを作成するには、少なくとも 2 つのストップが必要です。
ストップのプロパティ
ストップのプロパティの一部は、開始時刻が定義されているとき、またはタイム ウィンドウが有効になっているときにのみ使用可能です。どちらのパラメータも、ルート解析レイヤの [レイヤ プロパティ] ダイアログ ボックスの [解析の設定] タブで設定します。
入力フィールド |
説明 |
---|---|
ObjectID |
システムで管理される ID フィールド。 |
Shape |
ネットワーク解析オブジェクトの地理的な位置を示すジオメトリ フィールド。 |
Name |
ネットワーク解析オブジェクトの名前。 ストップがマップに追加されるときに自動的に割り当てられる編集可能な名前。 |
RouteName |
ストップが属するルートの名前を示します。このプロパティを使用することで、1 つのルート解析レイヤ内のストップを複数のルートに割り当てることができます。
|
TimeWindowStart |
このプロパティには、ネットワーク ロケーションを訪れることができる最も早い時刻が格納されます。 TimeWindowStart を午前 10:00 時に設定した場合に、ルートがそのストップに午前 9 時 50 分に到着する場合は、合計時間に待ち時間として 10 分間が追加されます。 交通量データを使用している場合、時刻フィールドは、ストップが配置されているエッジと同じタイム ゾーンを参照します。 このプロパティは、タイム ウィンドウがネットワーク解析レイヤで有効になっているときにのみ使用できます。 |
TimeWindowEnd |
このプロパティには、ネットワーク ロケーションを訪れることができる最も遅い時刻が格納されます。 TimeWindowStart プロパティと TimeWindowEnd プロパティを組み合わせることで、ルートがネットワーク ロケーションを訪れることができるタイム ウィンドウを設定できます。 ネットワーク ロケーションの TimeWindowEnd が午前 11:00 時で、ルートがネットワーク ロケーションに到達できる最も早い時刻が午前 11 時 25 分である場合は、25 分間の超過が表示されます。また、ストップがシンボル化され、タイム ウィンドウ超過が生じていることが示されます。 交通量データを使用している場合、時刻フィールドは、ストップが配置されているエッジと同じタイム ゾーンを参照します。 このプロパティは、タイム ウィンドウがネットワーク解析レイヤで有効になっているときにのみ使用できます。 |
Attr_[Impedance] (たとえば、Minutes 属性がネットワークのインピーダンスである場合は「Attr_Minutes」となります) |
このプロパティは、ルートがネットワーク ロケーションを訪れるときにそこで費やす時間を指定します。つまり、これには、ネットワーク ロケーションのインピーダンス値が格納されます。このフィールド値が 0 または NULL である場合、ネットワーク ロケーションにおけるサービス時間は不要です。 たとえば、Drivetime 属性をインピーダンスとして使用して 3 つのストップのルートを検索する場合、各ストップで消費する時間を Attr_Drivetime プロパティに格納します。ストップ 1 を出発して 10 分間でストップ 2 に到着し、ストップ 2 で 10 分間過ごし、10 分間でストップ 3 に到着する場合、ストップ 3 までの走行時間は 10 分のみですが、ストップ 3 に到着するまでの合計時間は 30 分(10 + 20 + 10)として表示されます。 |
ネットワーク ロケーション フィールド
|
これらの 4 つのプロパティの組み合わせによって、オブジェクトが配置されているネットワーク上のポイントが示されます。 |
CurbApproach |
CurbApproach プロパティは、車両がネットワーク ロケーションに到着する方向およびネットワーク ロケーションから出発する方向を指定します。選択肢には次の 4 つがあります(それぞれのコード値は括弧内に示されています)。
|
入力/出力フィールド |
説明 |
---|---|
Sequence |
入力フィールドとして、この番号は、ストップを巡回する順序を表します。ルート内で、シーケンス値は、0 より大きくストップの最大数以下となる必要があります。また、シーケンス値は重複してはなりません。[ストップを並べ替えて最適ルートを検出] 解析レイヤ パラメータがオフになっている場合、結果として得られたルートは、指定された順序でストップを巡回します。 解析によるストップの順序の変更が許可されている場合は、最適な順序が検出され、このフィールドは解析プロセス中に更新されます。 シーケンス値は、[Network Analyst] ウィンドウでストップを上下にドラッグして変更することができます。 |
Status |
このフィールドは、以下に示す値のドメインによって制約されます(それぞれのコード値は括弧内に示されています)。
解析が終了すると、以下のステータス値のいずれかを使用してステータスを変更できます。
タイム ウィンドウが使用され、ルートが速くまたは遅く到着する場合、値は [タイム ウィンドウ違反](6)に変わります。 |
出力フィールド |
説明 |
---|---|
ArriveCurbApproach |
これは、車両がネットワーク ロケーションに到達するときに、車両のどちら側になるかを示します。ネットワーク ロケーションの CurbApproach 値が [Right side of vehicle(車両の右側)] に設定されている場合、解析後の ArriveCurbApproach は [Right side of vehicle(車両の右側)] です。ただし、CurbApproach 値が [Either side of vehicle(車両の両側)] または [No U-Turn(U ターンなし)] に設定されている場合、ArriveCurbApproach は、右側か左側のどちらが全体的に見て最短パスになるかに応じて、右側または左側になります。 |
DepartCurbApproach |
これは、車両がネットワーク ロケーションから出発するときに、車両のどちら側になるかを示します。ネットワーク ロケーションの CurbApproach 値が [Right side of vehicle(車両の右側)] に設定されている場合、解析後の DepartCurbApproach は [Right side of vehicle(車両の右側)] です。ただし、CurbApproach 値が [Either side of vehicle(車両の両側)] または [No U-Turn(U ターンなし)] に設定されている場合、DepartCurbApproach は、右側か左側のどちらが全体的に見て最短パスになるかに応じて、右側または左側になります。 |
Cumul_[Impedance] (たとえば、Minutes 属性がネットワークのインピーダンスである場合は「Cumul_Minutes」となります) |
このプロパティは、ストップに到達するのにかかる総インピーダンスです。これには、ストップに到達するまでのインピーダンス、ストップのインピーダンス、およびそれ以前のすべてのストップのインピーダンスが含まれます。 入力属性 Attr_[Impedance] の例では、ストップ 2 の Cumul_Drivetime は 20 分間(10 分間の運転時間と、ストップ 2 で過ごす 10 分間)となり、ストップ 3 の Cumul_Drivetime は 30 分間(ストップ 2 の Cumul_Drivetime の 20 分間 + ストップ 2 から 3 までの運転時間である 10 分間)となります。 |
Wait_[Impedance] (たとえば、Minutes 属性がネットワークのインピーダンスである場合は「Wait_Minutes」となります) |
このプロパティには、ルートが早く到着した場合にタイム ウィンドウが開始する(TimeWindowStart)のを待つのに費やされる時間が格納されます。 このプロパティは、タイム ウィンドウがネットワーク解析レイヤで有効になっているときにのみ使用できます。 |
CumulWait_[Impedance] (たとえば、Minutes 属性がネットワークのインピーダンスである場合は「CumulWait_Minutes」となります) |
このプロパティには、タイム ウィンドウが開始する(TimeWindowStart)のを待つのに費やされた時間の合計が格納されます。これには、ルートが訪れた現在のストップとそれ以前のすべてのストップでの時間が含まれます。 このプロパティは、タイム ウィンドウがネットワーク解析レイヤで有効になっているときにのみ使用できます。 |
Violation_[Impedance] |
このプロパティは、タイム ウィンドウが終了した(TimeWindowEnd)後にルートがどれほど遅く到着したかを示すメジャーです。 具体的には、これには、タイム ウィンドウの終了時刻からルートの到着時刻までの時間が格納されます。 このプロパティは、タイム ウィンドウがネットワーク解析レイヤで有効になっているときにのみ使用できます。 |
CumulViolation_[Impedance] |
このプロパティには、ルートが訪れた現在のストップとそれ以前のすべてのストップの累積超過時間(Violation_[Impedance])が格納されます。 このプロパティは、タイム ウィンドウがネットワーク解析レイヤで有効になっているときにのみ使用できます。 |
ArriveTime | ストップに到着した時刻を示す日時の値。 複数のタイム ゾーンにまたがる交通量データを使用するとき、この時刻値のタイムゾーンは訪問先が配置されているネットワーク エレメントから取得されます。 |
DepartTime | ストップからの開始時刻を示す日時の値。 複数のタイム ゾーンにまたがる交通量データを使用するとき、この時刻値のタイムゾーンは訪問先が配置されているネットワーク エレメントから取得されます。 |
- ストップ クラスの時間フィールドは、時間のみを示す値または日時を示す値を保持することができます。TimeWindowStart のような時間フィールドに時間のみを示す値(たとえば、8:00 AM)が使用されている場合、日付は無視されます。日付と時刻(たとえば、7/11/2010 8:00 AM)を使用すると、複数日にわたるタイム ウィンドウを指定できます。
- タイム ウィンドウは、Attr_[Impedance] がいつ完了するかを示すのではなく、車両がいつストップに到達可能であるかを示すだけです。サービス時間を考慮に入れ、タイム ウィンドウが終了する前に退去するには、[TimeWindowEnd] フィールドから Attr_[Impedance] を引き算します。
ルート クラス
ルート クラスには、解析の結果として得られたルート(複数の場合もあります)が格納されます。その他のフィーチャ レイヤと同様に、そのシンボルはその [レイヤ プロパティ] ダイアログ ボックスからアクセスして変更できます。
ルート クラスは、出力のみのクラスであり、解析が完了するまで空です。最適なルートが見つかると、[Network Analyst] ウィンドウに表示されます。
ルートのプロパティ
出力フィールド |
説明 |
---|---|
ObjectID |
システムで管理される ID フィールド。 |
Name |
ルート レイヤの解析が実行されると、ルートの名前が自動的に割り当てられます。この名前には、ストップ クラスの RouteName プロパティの値が使用されます。この値が NULL の場合は、ルートの最初のストップ名と最後のストップ名を 1 つにまとめた名前(たとえば、「グラフィックス指定 1 - グラフィックス指定 8」)になります。ルートの名前は [Network Analyst] ウィンドウから変更できます。 |
FirstStopID |
ルートの最初のストップの ObjectID。 |
LastStopID |
ルートの最後のストップの ObjectID。 |
StopCount |
ルートによって訪問されたストップ数。 |
Total_[Impedance] (たとえば、Minutes 属性がネットワークのインピーダンスである場合は「Total_Minutes」となります) |
最初のストップの開始から最後のストップの終了までの合計インピーダンス。この値には、訪問したストップの合計移動インピーダンスおよび Attr_[Impedance] が取り込まれます。 |
TotalWait_[Impedance] (たとえば、Minutes 属性がネットワークのインピーダンスである場合は「TotalWait_Minutes」となります) |
このプロパティには、ルートの全体の待機時間が格納されます。ルートの全体の待機時間とは、タイム ウィンドウの開始までストップで待機した時間のことです。 このプロパティは、タイム ウィンドウがネットワーク解析レイヤで有効になっているときにのみ使用できます。 |
TotalViolation_[Impedance] (たとえば、Minutes 属性がネットワークのインピーダンスである場合は「TotalViolation_Minutes」となります) |
このプロパティには、ストップにおけるルートの全体の時間超過が格納されます。タイム ウィンドウが終了した後でルートがストップに到着すると、時間超過が追加されます。これは、ArriveTime と TimeWindowEnd との差です。 このプロパティは、タイム ウィンドウがネットワーク解析レイヤで有効になっているときにのみ使用できます。 |
StartTime |
ルートの開始時間です。 このプロパティは、タイム ウィンドウがネットワーク解析レイヤで有効になっているときにのみ使用できます。 |
EndTime |
ルートの終了時間です。 このプロパティは、タイム ウィンドウがネットワーク解析レイヤで有効になっているときにのみ使用できます。 |
ポイント、ライン、およびポリゴン バリア
バリアは、ネットワークの構成要素を一時的に規制したり、それにインピーダンスを追加したり、そのインピーダンスをスケーリングしたりするのに使用します。新しいネットワーク解析レイヤが作成されるとき、バリア クラスは空です。バリアは、それにオブジェクトを追加するときにのみ設定されます(バリアを追加することは必須ではありません)。
バリアは、すべてのネットワーク解析レイヤで使用可能です。したがって、バリアについては、別のトピックで説明されています。
ルート解析パラメータ
解析パラメータの設定は、解析レイヤの [レイヤ プロパティ] ダイアログ ボックスで行います。このダイアログ ボックスには、いくつかの方法でアクセスできます。
ネットワーク解析レイヤの [レイヤ プロパティ] ダイアログ ボックスを開く方法の詳細
[解析の設定] タブ
ここでは、解析レイヤで設定できるパラメータについて説明します。これらのパラメータは、解析レイヤの [レイヤ プロパティ] ダイアログ ボックスの [解析の設定] タブで設定できます。
インピーダンス
最適なルートを決定するときに最小化されるインピーダンスとして、任意のコスト属性を選択できます。たとえば、Minutes 属性を選択した場合は、最短のルートが検索されます。
規制
解析の実行中に適用される必要のある規制属性を選択できます。一方通行に従う必要のある車両(たとえば、緊急車両以外の車両)を対象とするソリューションの検索には、一方通行(Oneway)などの規制が使用されます。ネットワーク データセットに重量規制や高さ規制などの追加の規制属性が含まれる場合は、それらの規制も使用できます。
規制属性は動的属性と共に使用できます。たとえば、車高がトンネルより高い場合は、エッジを規制することが可能です。
開始時間を使用
[開始時間を使用] を [特定の日付] または [時刻] および [曜日] プロパティと組み合わせて使用することで、ルートがいつ最初のストップから開始するかを指定できます。インピーダンス属性として時間ベースのコスト属性が選択されているときにのみ、ルートに開始日時を割り当てることができます。
ネットワーク データセットに交通量データが含まれている場合、ここで指定する開始日時によって解析の結果が変わる可能性があります。たとえば、ラッシュアワーでは、ルートはオフピーク時よりも長く時間がかかります。また、最適なパスは、そのときの交通状況によって異なります。
変動日([曜日])または暦日([特定の日付])のどちらかを入力できます。暦日の場合は、日、月、および年を指定します。変動日の場合は、[今日] またはいずれかの曜日([日] から [土])を選択できます。変動日を指定できることにより、日付を変更することなく再利用できる解析レイヤを設定できます。
変動日は、交通量データとともに使用する場合に特に便利です。たとえば、[曜日] 設定と [今日] 設定を選択した場合、解析はコンピュータのオペレーティング システムによって決定される現在の日付の履歴交通量データに基づいて結果を生成します。また、次の日の 5 月 5 日に戻るとして同じ解析レイヤを再び解析すると、ソリューションは 5 月 5 日の曜日の履歴交通量データに基づいて生成されます。同様に、[曜日] プロパティを [月] に設定した場合、ソリューションは次の月曜日の履歴交通量データに基づいて生成されます。ただし、今日が月曜日である場合、ソリューションは今日の履歴交通量データを使用します。
交通量データを使用する場合、開始時刻は最初のストップが配置されているエッジまたはジャンクションのタイム ゾーンを参照します。タイム ゾーンは事前に決定できないため、これによって解析が失敗する場合があります。この状況は、ストップが複数のタイム ゾーンにわたって配置されており、最初のストップを維持することなく [ストップを並べ替えて最適ルートを検出] をオンにした場合に発生します。この状況は、最初のストップを事前に割り当てることで回避できます。
解析によって出力されるフィーチャのルート フィーチャには、StartTime プロパティと EndTime プロパティがあります。StartTime 値は、ルート解析レイヤの [開始時間を使用] 設定に入力した値と一致します。EndTime は、ルートの開始時刻と所要時間から計算されます。このような開始時刻と終了時刻は、ルート案内の生成時にも使用されます。デフォルトでは、開始時刻は午前 8:00 です。
タイム ウィンドウを使用
ストップを訪れる時間帯が限られる場合は、ネットワーク ロケーション(ストップ)の TimeWindowStart プロパティと TimeWindowEnd プロパティでそのタイム ウィンドウを設定できます。このチェックボックスをオンまたはオフにして、タイム ウィンドウを使用するかどうかを指定します。タイム ウィンドウを有効にした場合、そのタイム ウィンドウに応じてルートが変更されます。ルートがタイム ウィンドウの条件を満たすことができない場合、そのストップはタイム ウィンドウ超過としてシンボル化されます。
ストップを並べ替えて適切なルートを検出
デフォルトでは、ルートは定義されている順序でストップに到着します。しかし、Network Analyst で最適な順序を検出することで、ルートをさらに短縮することができます。これは、タイム ウィンドウなどのさまざまな変数を考慮に入れます。もう 1 つのオプションは、起点と終点を維持し、その間のストップの順序を Network Analyst で決定する方法です。
このプロパティをオンにすると、ルート解析は最短パス問題から巡回セールスマン問題に変わります。
ジャンクションでの U ターン
ArcGIS Network Analyst では、U ターンをすべての場所で許可、どの場所でも許可しない、袋小路(行き止まり)のみで許可、または交差点と袋小路のみで許可するように設定できます。U-ターンを許可するということは、車両がジャンクションで方向転換し、同じ道路を引き返すことができるということを意味します。
出力形状のタイプ
解析によって出力されるルート フィーチャは、次の 4 つの方法のいずれかで表すことができます。
どの出力形状のタイプを選択するかに関係なく、常に最適なルートはユークリッド距離ではなくネットワーク インピーダンスによって決定されます。これは、ルート形状のみが異なり、ネットワークの基となっているトラバースは同じであることを意味します。
- [正確な形状] を選択した場合は、結果として得られたルートの実際の形状が出力されます。
- [正確な形状(メジャー付き)] を選択した場合は、結果として得られたルートの実際の形状が出力され、リニア リファレンスのためのルートの計測値が出力に含まれます。計測値は、最初のストップから増加し、累積インピーダンスを記録します。
- [直線] を選択した場合、ストップ間の直線が表示されます。
- 出力形状として [なし] を選択した場合、形状は表示されません。
階層を使用
ネットワーク データセットが階層属性を持つ場合、解析に階層を使用できます。階層を使用すると、解析は下位ランクのエッジよりも上位ランクのエッジを優先します。階層解析は、より高速で、運転者が遠回りであっても一般道路の代わりに高速道路を利用する状況をシミュレートするのに使用できます。一方、階層を使用しない場合、ネットワーク データセットの正確なルートが検索されます。
無効なロケーションを除外
このプロパティを使用すると、無効なネットワーク ロケーションを除外でき、有効なネットワーク ロケーションのみから解析レイヤを解決できます。このオプションがオフになっており、ネットワーク ロケーションが未配置である場合は、解析が失敗する可能性があります。いずれの場合も、解析では無効なロケーションは無視されます。
ルート案内(Directions)
[ルート案内] プロパティでは、距離の表示単位と、オプションとして時間を設定できます(時間属性が存在する場合)。さらに、ルートの生成後にルート案内を自動的に表示するように設定できます(ルート案内を自動的に表示しない場合は、[Network Analyst] ツールバーの [ルート案内ウィンドウ] ボタン をクリックすると、ルート案内が表示されます)。
[累積] タブ
[累積] タブでは、ルート オブジェクトに累積されるコスト属性をネットワーク データセットから選択できます。これらの累積属性は、参考情報としてのみ使用されます。解析は、解析レイヤの [インピーダンス] パラメータで指定されているコスト属性のみを使用してルートを計算します。
累積されるコスト属性ごとに、Total_[Impedance] プロパティが解析によって出力されるルートに追加されます。
[ネットワーク ロケーション] タブ
[ネットワーク ロケーション] タブのパラメータは、ネットワーク ロケーションを検索し、そのプロパティの値を設定するのに使用されます。
ルート案内(Directions)
ルート解析の検出によるルートの生成が完了すると、ArcMap でルート案内を表示できるようになります。
ルート案内を表示するには、[Network Analyst] ツールバーで [ルート案内ウィンドウ] ボタン をクリックします。
- [ルート案内] ウィンドウには、ターンごとの道案内と、インピーダンスが設定されたマップが表示されます。
- インピーダンスとして時間が設定されている場合、[ルート案内] ウィンドウにはルートの各部までの所要時間が表示されます。さらに、[ルート案内] ウィンドウには各部までの距離も表示されます。
- ルートにタイム ウィンドウが適用されている場合、[ルート案内] ウィンドウには Attr_[time] 属性と Wait_[time] 属性も表示されます。ただし、Violation_[time] 属性と Attr_[length] 属性の表示はサポートされません。