この演習では、サンフランシスコの道路フィーチャとターン フィーチャを使用して、ジオデータベースにネットワーク データセットを作成します。さらに、履歴交通データを追加し、時間依存のルートを解析できるようにします。
ネットワーク データセットの作成
- ArcCatalog を起動します。
- ArcGIS Network Analyst エクステンションを有効にします。
- [カスタマイズ] > [エクステンション] の順にクリックします。
[エクステンション] ダイアログ ボックスが開きます。
- [Network Analyst] をオンにします。
- [閉じる] をクリックします。
- [カスタマイズ] > [エクステンション] の順にクリックします。
- [標準] ツールバーで、[フォルダーに接続] ボタン をクリックします。
[フォルダーに接続] ダイアログ ボックスが開きます。
- Network Analyst チュートリアル データのあるフォルダーを参照します。
チュートリアル データのデフォルトの場所は、C:\ArcGIS\ArcTutor\Network Analyst\Tutorial です。
- [OK] をクリックします。
フォルダーへのショートカットが、カタログ ツリーの [フォルダー接続] の下に追加されます。
- カタログ ツリーで、[...\ArcTutor\Network Analyst\Tutorial] > [Exercise01] > [SanFrancisco.gdb] の順に展開します。
- [Transportation] フィーチャ データセットをクリックします。
このフィーチャ データセットに含まれているフィーチャクラスが、ArcCatalog の [コンテンツ] タブにリスト表示されます。
- [Transportation] フィーチャ データセットを右クリックし、[新規作成] > [ネットワーク データセット] の順にクリックします。
[新規ネットワーク データセット] ウィザードが開きます。
- ネットワーク データセットの名前として、「Streets_ND」と入力します。
- [ネットワーク データセットのバージョンを選択] の設定を最新バージョンのままにします。
このオプションは、古いリリースの ArcGIS を使用しているユーザーとネットワーク データセットを共有する必要がある場合に有効です。これらのユーザーが使用している ArcGIS リリース番号以下を選択すると、作成および共有しているネットワーク データセットを、古いリリースを使用しているユーザーも開けるようになります。この場合の欠点は、新しいリリースの ArcGIS で導入されたネットワーク データセットの新機能を使用できないことです。[新規ネットワーク データセット] ウィザードでは、これらの機能を追加するためのコントロールは無効になります。ネットワーク データセットを共有する必要がない場合、またはデータセットを共有する対象のユーザーが同じ ArcGIS リリースを使用している場合は、最新のバージョンを選択することをお勧めします。
- [次へ] をクリックします。
- ネットワーク データセットのソースとして使用するため、[Streets] フィーチャクラスをオンにします。
- [次へ] をクリックします。
- [はい] をクリックして、ネットワークのターンをモデリングします。
- [RestrictedTurns] をオンにして、ターン フィーチャ ソースとして選択します。[<Global Turns>] はすでにオンになっているはずです。これにより、デフォルトのターン ペナルティを追加できます。
- [次へ] をクリックします。
- [接続性] をクリックします。
[接続性] ダイアログ ボックスが表示されます。このダイアログ ボックスではネットワークの接続性モデルを設定できます。
- [Streets] の接続性ポリシーが [End Point] に設定されていることを確認します。
- [OK] をクリックして、[新規ネットワーク データセット] ウィザードに戻ります。
- [次へ] をクリックします。
- このデータセットにはエレベーション フィールドがあるので、[エレベーション フィールドを使用] オプションが選択されていることを確認します。
ネットワーク データセット内の高さの設定は接続性に影響します。たとえば、A と B の 2 つのエッジがあるときに、A の端点と B の端点の XY 座標が一致していて、これらの標高が異なる (一方の端点がもう一方よりも高い) とします。また、その接続性ポリシーが [End Point] に設定されているとします。高さを無視すれば、これらはつながっているとみなせます。高さを考慮に入れると、接続されていません。
高さをモデリングするには 2 つの方法があります。1 つは、ジオメトリが持つ実際の高さの値を使用する方法、もう 1 つは、エレベーション フィールドに格納されている論理的高さの値を使用する方法です。
Streets フィーチャクラスでは、論理エレベーション値は F_ELEV フィールドおよび T_ELEV フィールドに整数として保存されます。たとえば、同じ場所にある 2 つの端点のフィールド エレベーション値が 1 の場合、それらのエッジは接続されます。ただし、同じ場所にある一方の端点の値が 1 であり、もう一方の端点の値が 0 の場合、それらのエッジは接続されません。下図のように、Network Analyst では、このデータセットのフィールド名に基づいてエレベーション フィールドが自動的にマッピングされます (エレベーション フィールドとして使用できるのは整数フィールドのみです)。
- [次へ] をクリックします。
- [次へ] をクリックします。
ネットワーク属性を設定するためのページが表示されます。
- [Meters] 行をクリックして選択し、[エバリュエーター] をクリックしてネットワーク属性の値を確認します。
[エバリュエーター] ダイアログ ボックスが表示されます。
- [属性] のドロップダウン リストで、一度に 1 つずつ属性タイプをクリックし、エバリュエーターの種類とソース フィーチャクラスの値を確認します。
- [OK] をクリックして、[新規ネットワーク データセット] ウィザードに戻ります。
- [追加] をクリックします。
[新規属性の追加] ダイアログ ボックスが表示されます。
- [名前] フィールドに「RestrictedTurns」と入力します。
- [使用タイプ] で [規制] を選択します。
- [規制の使用法] は [禁止] の設定のままにします。
この設定により、解析中にターン フィーチャの通過が禁止されます。
- [OK] をクリックします。
新しい RestrictedTurns 属性が属性リストに追加されます。青色の円で囲まれた D マークは、新しい解析を実行するとき、その属性がデフォルトで有効になることを示しています。
- [エバリュエーター] をクリックして、この新しい属性にソース値を割り当てます。
- 次に、RestrictedTurns のエバリュエーター タイプとして [定数] を選択し、規制の値を規制設定します。
- [属性] ドロップダウン リストをクリックして [RestrictedTurns] を選択します。
- [RestrictedTurns] 行で、[種類] 列のセルをクリックして、ドロップダウン リストから [定数] を選択します。
- [値] 列のセルをクリックして、[規制を使用] を選択します。
結果が次の図のように表示されます。
- [OK] をクリックして、[新規ネットワーク データセット] ウィザードに戻ります。
- [Hierarchy] 行を右クリックし、[デフォルトの使用] を選択します。
青色のシンボルが属性から削除されます。これは、このネットワーク データセットで解析レイヤーを作成したときに、この階層がデフォルトでは使用されないことを意味します。
- [次へ] をクリックします。
移動モード設定のあるページが表示されます。ネットワーク データセットで 1 つ以上の移動モードを構成すると、解析時にモードを選択でき、車、トラック、歩行者、その他の移動モードをモデル化する際に多くのプロパティを設定する必要がなくなります。特定の移動モードに対して多くの解析を実行する場合は、移動モードを設定しておくと便利です。移動モードの機能や移動モードの使用場所に関する詳細については、「移動モードのトピック」をご参照ください。
- [次へ] をクリックします。
- [はい] をクリックして、ルート案内を設定します。
- [ルート案内] をクリックします。
[ルート案内プロパティ] ダイアログ ボックスが表示されます。
- [一般] タブで、[優先] 行の [名前] フィールドが自動的に [NAME] に設定されていることを確認します。
NAME フィールドにはサンフランシスコの道路名が格納されています。これらの道路名はルート案内の生成で必要になります。
結果が次の図のように表示されます。
- [OK] をクリックして、[新規ネットワーク データセット] ウィザードに戻ります。
- [次へ] をクリックします。
- [到達圏インデックスの構築] をオンにします。
この演習の最後にネットワーク データセットを構築すると、インデックスがない場合よりも時間がかかります。ネットワーク データセットで到達圏を生成すると高速になります。詳細については、「最適化のトピック」をご参照ください。
- [次へ] をクリックします。
確認のために、設定内容のサマリーが表示されます。
- [完了] をクリックします。
Network Analyst がネットワーク データセットを作成中であることを示す進捗バーが表示されます。
- [はい] をクリックします。
[ネットワーク データセットの構築] 進捗バーが開きます。このバーは構築プロセスが終了すると消えます。
新しいネットワーク データセット Streets_ND およびシステム ジャンクション フィーチャクラス Streets_ND_Junctions が ArcCatalog に追加されます。
- ネットワーク データセットをプレビューするには、その名前をクリックしてから [プレビュー] タブをクリックします。
エッジが表示され、さらに交通量が表示されます。
- ArcCatalog を閉じます。
ウィザードのこのページでは交通量データを設定します。交通量データを使用すれば、曜日と時刻に基づいて、所要時間が最短のルートを検出できます。たとえば、A 地点から B 地点まで移動する場合、水曜日午前 8 時 30 分 (混雑時間帯) の最短ルートと、日曜日午後 1 時の最短ルートは同じではありません。経路が同じであっても、目的地に到達するまでの所要時間は曜日や時間帯によって異なります。
SanFrancisco ジオデータベースには、履歴交通量データを保存する次の 2 つのテーブルが含まれています。DailyProfiles と Streets_DailyProfiles です。これらのテーブルのスキーマは、Network Analyst が各テーブルの役割を認識し、履歴交通量を自動的に構成できるように設計されています。
ネットワーク属性は、ネットワーク上でのナビゲーションを制御するプロパティです。よく使用される属性としては、インピーダンスとして作用するコスト属性、通行止めや一方通行などの規制属性があります。
Network Analyst は、ソース フィーチャクラスを解析し、Meters、Minutes (方向ごとに 1 つ、つまり FT_Minutes と TF_Minutes)、Oneway など、一般によく使用されるフィールドがあるかどうか調べます。そのようなフィールドが見つかると、対応するネットワーク属性が自動的に作成され、フィールドが属性に割り当てられます ([エバリュエーター] をクリックすると、その様子を見ることができます)。
Network Analyst では、この San Francisco データに対して 8 つの属性 (Hierarchy、Meters、Minutes、Oneway、RoadClass、TravelTime、WeekdayFallbackTravelTime、WeekendFallbackTravelTime) が自動的に設定されます。これらの属性にはエバリュエーターも作成されます。
[ソースの値] タブには、ソース フィーチャクラスが一覧表示されます。ライン ソース フィーチャクラス (ネットワーク データセットではエッジ エレメント) が 2 回表示されています。1 つは From-To 方向、もう 1 つは To-From 方向です (この方向は、ソース ライン フィーチャをデジタイズした方向に基づいています)。[種類] 列には、ネットワーク属性値を計算するときに使用するエバリュエーターの種類が表示されます。[値] 列には、エバリュエーターが属性値を計算する際に必要となる情報が格納されます。
ネットワーク解析でルート案内レポートが出力されます。そのレポートで使用するフィールドを、ここで指定します。
ネットワークの作成が完了すると、今度はネットワークを構築するかどうかたずねられます。構築プロセスでは、ネットワーク エレメント間の接続性が判定されます。また、ネットワーク データセットの属性に値が入ります。ネットワーク解析を実行する前に、ネットワークを構築しておく必要があります。
これで、新しいネットワーク データセットを ArcMap に追加し、ネットワーク解析レイヤーの作成で使用できるようになりました。