演習 1: ネットワーク データセットの作成
この演習では、サンフランシスコの道路フィーチャとターン フィーチャを使用して、ジオデータベースにネットワーク データセットを作成します。さらに、履歴交通データを追加し、時間依存のルートを解析できるようにします。
この演習と Network Analyst チュートリアルの他の演習で使用されるデータは、ArcGIS.com から入手できます。データをダウンロードしたら、任意の場所に抽出することができます。ただし、チュートリアルでデータのデフォルトの場所として参照される C:\arcgis\ArcTutor に抽出すると便利です。
ネットワーク データセットの作成
- [スタート] → [すべてのプログラム] → [ArcGIS] → [ArcCatalog 10.2.2] の順にクリックして、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 行を右クリックし、[デフォルトとして使用] を選択します。
青色のシンボルが属性から削除されます。これは、このネットワーク データセットで解析レイヤを作成したときに、この階層がデフォルトでは使用されないことを意味します。
- [次へ] をクリックします。
-
[はい] をクリックして、ルート案内を設定します。
-
[ルート案内] をクリックします。
[ルート案内プロパティ] ダイアログ ボックスが表示されます。
-
[一般] タブで、[優先] 行の [名前] フィールドが自動的に [NAME] に設定されていることを確認します。
NAME フィールドにはサンフランシスコの道路名が格納されています。これらの道路名はルート案内の生成で必要になります。
結果が次の図のように表示されます。
- [OK] をクリックして、[新規ネットワーク データセット] ウィザードに戻ります。
-
[次へ] をクリックします。
確認のために、設定内容のサマリが表示されます。
-
[完了] をクリックします。
Network Analyst がネットワーク データセットを作成中であることを示す進捗バーが表示されます。
-
[はい] をクリックします。
[ネットワーク データセットの構築] 進捗バーが開きます。このバーは構築プロセスが終了すると消えます。
新しいネットワーク データセット Streets_ND およびシステム ジャンクション フィーチャクラス Streets_ND_Junctions が ArcCatalog に追加されます。
-
ネットワーク データセットをプレビューするには、その名前をクリックしてから [プレビュー] タブをクリックします。
エッジが表示され、さらに交通量が表示されます。
- ArcCatalog を閉じます。
ジオデータベースで [新規ネットワーク データセット] ウィザードを開くには、ソース フィーチャクラス(Streets など)が含まれているフィーチャ データセットを右クリックし、[新規作成] → [ネットワーク データセット] の順に選択します。シェープファイル ベースのネットワーク データセットの場合は、Streets シェープファイルが含まれているワークスペースではなく、Streets シェープファイル自体を右クリックして、[新規作成] → [ネットワーク データセット] の順に選択します。
この違いは、ジオデータベース ネットワークの場合、フィーチャ データセットに保存された複数のソースを使用してマルチモーダル ネットワークを作成できるのに対し、シェープファイル ネットワーク データセットでは 1 つのソース フィーチャクラスしか使用できないためです。
ウィザードのこのページでは交通量データを設定します。交通量データを使用すれば、曜日と時刻に基づいて、所要時間が最短のルートを検出できます。たとえば、A 地点から B 地点まで移動する場合、水曜日午前 8 時 30 分(混雑時間帯)の最短ルートと、日曜日午後 1 時の最短ルートは同じではありません。経路が同じであっても、目的地に到達するまでの所要時間は曜日や時間帯によって異なります。
SanFrancisco ジオデータベースには、履歴交通量データを保存する 2 つのテーブル(DailyProfiles と Streets_DailyProfiles)があります。これらのテーブルのスキーマは、Network Analyst が各テーブルの役割を認識し、履歴交通量を自動的に構成できるように設計されています。
このデータセットには、ライブ交通量データを構成するために必要な情報は含まれていませんが、演習 10 のデータには含まれています。
ネットワーク属性は、ネットワーク上でのナビゲーションを制御するプロパティです。よく使用される属性としては、インピーダンスとして作用するコスト属性、通行止めや一方通行などの規制属性があります。
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 に追加し、ネットワーク解析レイヤの作成で使用できるようになりました。