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