Standard または Advancedのライセンスで利用可能。
Network Analyst のライセンスで利用可能。
バスや地下鉄などの公共交通機関は、職場や学校、買い物、医療機関、娯楽などへのアクセスを市民に提供します。 ArcGIS Network Analyst extensionを使用し、次のような質問に答えることができます。
- 公共交通機関を使用することで、重要な目的地に便利にアクセスできるか。
- 公共交通機関は、その利用者に利便性を提供しているか。
- 顧客、患者、従業員が公共交通機関を利用することを想定する場合、新しい施設はどこに建設するべきか。
このチュートリアルでは、公共交通機関対応の「ネットワーク データセット」を、「GTFS 公共交通機関データ」と道路中心線から作成します。 このネットワーク データセットをもとに、出発点から公共交通機関と徒歩により、制限時間内に到達できるエリアを示す到達圏を作成します。
このチュートリアルでは、独自の GTFS データと道路中心線を使用することも、あるいはシンシナティ都市部のサンプル データを使用することもできます。 独自のデータを使用する場合、道路中心線は GTFS データと同じ地理的エリアを網羅するはずです。 このチュートリアルには、独自のデータを使用する際の特別な検討事項について、さまざまなメモやヒントが注記されています。「StreetMap Premium Custom Roads」製品の Routing_Streets フィーチャクラスのデータを使用している場合のヒントも記載されています。
完成したネットワーク データセットは、サンプルとしてチュートリアル データに含まれています。
データの取得
このチュートリアルのデータは、ダウンロードして使用できます。
- 「データ ダウンロード ページ」に移動します。
- [ダウンロード] ボタンをクリックしてファイルをローカルに保存します。
- ダウンロードしたファイルを展開します。
入力データの確認
入力データをまとめ、確認します。
GTFS 公共交通機関データの確認
GTFS は、公共交通機関データに使用される国際標準形式です。 交通機関ラインおよび交通機関ストップの位置と交通機関スケジュールが含まれています。 GTFS データセットは CSV テキスト ファイルで構成されており、特定の名前とフィールドが含まれます。 GTFS に詳しくない方は「こちらをご参照ください」。
ネットワーク データセットで GTFS データを使用するには、データを「Network Analyst 公共交通機関データ モデル」に変換します。 その方法については、このチュートリアルで後ほど説明します。 まず、潜在的な問題を特定し、解析において適切な決断を下せるよう、GTFS データを確認します。
Network Analyst では、解析日時を使用して、ネットワーク解析に伴う問題を解決できます。 通常は、一般的な平日 (水曜日など) や、特定の日付 (2019 年 5 月 22 日など) を選択できます。ただし、GTFS データの構成によっては、一般的な平日を使用できないこともあります。 このセクションでは、GTFS データセットの日付の構成を確認し、一般的な平日を使用してネットワーク解析を実行できるか、あるいは特定の日付を使用する必要があるかを判断します。
また、GTFS データセットの stop_times.txt ファイルで、すべての到着時間と出発時間が明示的に含まれているかどうかも確認します。
- ディスク上の GTFS データを探します。
チュートリアル データでは、シンシナティ都市圏の 2 件の GTFS データセットが提供されています。 1 つは SORTA (Southwest Ohio Regional Transit Authority)、もう 1 つは TANK (Transit Authority of Northern Kentucky) のデータセットです。 これらの GTFS データセットは、[Tutorial] > [PublicTransit] > [GTFS] の展開済みのチュートリアル データ フォルダーに格納されています。 SORTA フォルダーと TANK フォルダーには、テキスト ファイルが含まれています。
注意:
独自の GTFS データを使用する場合は、GTFS テキスト ファイルをディスクで検索します。
- 各 GTFS データセットの stop_times.txt ファイルを確認します。
stop_times.txt ファイルは、公共交通機関が公共交通機関ストップに止まる正確な時刻を定義します。
- テキスト エディターで stop_times.txt ファイルを開きます。
注意:
stop_times.txt ファイルは非常に大きい場合があります。 テキスト エディターの最大許容ファイル サイズを超過することもあります。
- arrival_time フィールドと departure_time フィールドに空の値がないかを確認します。
注意:
GTFS では、これらのフィールドに対して空の値を指定できますが、Network Analyst 公共交通機関データ モデルでは、ストップでのすべての到着時間と出発時間を明確に指定する必要があります。 「GTFS → 公共交通機関データ モデル」ジオプロセシング ツール (このチュートリアルで後ほど利用します) では、シンプルなリニア内挿法によって空の到着時間と出発時間を推定できます。 データに空の値がある場合は、後からツールの内挿オプションを使用し、GTFS データに空の値を入力してからツールを実行するか、別の GTFS データセットを解析で使用します。
このチュートリアルで提供される GTFS データセットでは、これらのフィールドに空の値は設定されていません。
- stop_times.txt ファイルを閉じます。
- テキスト エディターで stop_times.txt ファイルを開きます。
- 各 GTFS データセットに対し、calendar.txt ファイル、calendar_dates.txt ファイル、またはその両方があることを確認します。
calendar.txt ファイルは定期的な交通機関サービスを定義し、calendar_dates.txt は定期サービスへの例外 (休日、特別日など) を定義します。 交通機関によってはどちらか片方のファイルしか使用しないこともありますが、それでも問題ありません。 使用する各 GTFS データセットには、少なくともどちらかのファイルが必要です。
GTFS データセットに calendar_dates.txt ファイルしかなく、calendar.txt ファイルがない場合には、データセットは定期サービスを定義しません。つまり、すべてのサービスは、特定の日付に対して明示的に定義されます。 この場合は、解析で一般的な平日を使用できません。 特定の日付を使用する必要があります。
GTFS データセットに calendar.txt しかない、または両方のファイルがある場合は、特定の日付を使用することも、一般的な平日を使用することもできます。 次のステップで、ファイルを詳しく見ていきます。
GTFS データセットに calendar.txt ファイルも calendar_dates.txt ファイルもない場合は、この GTFS データセットは無効なので使用できません。
このチュートリアルで提供されている GTFS には両方のファイルがあります。
- いずれかのファイルがある各 GTFS データセットの calendar.txt ファイルを確認します。
- テキスト エディターで calendar.txt ファイルを開きます。
- start_date フィールドと end_date フィールドの日付範囲を確認します。
これらのフィールドは、GTFS データが有効になる日付範囲を表します。 解析で特定の日付を使用する場合は、この日付範囲内である必要があります。
注意:
サンプル データを使用する場合、この日付範囲は過ぎている可能性がありますが、このチュートリアルには影響しません。
- 重複しない日付範囲の有無、つまり、日付範囲が別の行の日付範囲とまったく重複しない行があるかどうか確認します。
これは、複数の交通機関のデータを 1 つのファイルにマージしたり、複数の季節 (秋と冬など) のサービスを同じファイルに集約したりする場合に発生します。
重複しない日付範囲がある場合は、一般的な平日ではなく、特定の日付を解析に使用する必要があります。 一般的な平日には、日付範囲を考慮しないサービスが含まれます。そのため、この場合は、重複しない日付範囲のサービスをすべて同じ解析に含める必要があります。 同一データセット内に、秋のサービスと冬のサービスを含めている交通機関の場合、秋のサービスと冬のサービスの両方が解析に含まれるため、提供されるサービスが 2 回カウントされることになります。
このチュートリアルで提供される GTFS データセットには、重複しない日付範囲はありません。
- 平日のフィールド (monday、tuesday など) を確認します。
これらのフィールドは、特定の公共交通機関サービスが運行される曜日と日付範囲を定義します。 値が 1 であればその曜日には運行し、値が 0 であればその曜日には運行しません。
すべての平日のフィールドのすべての行が 0 に設定されている場合は、交通機関が calendar_dates.txt ファイルを使用し、サービスを運行する特定の日付を指定している可能性があります。その場合は、一般的な平日ではなく、特定の日付を解析で使用します。 このデータセットに calendar_dates.txt ファイルがない場合は、実質的にサービスが提供されていないことを意味するため、GTFS データセットは無効です。
このチュートリアルで提供される GTFS データセットの平日フィールドでは、1 と 0 が混在しています。 つまり、一般的な平日の定期サービスを定義しています。
- calendar.txt ファイルを閉じます。
道路データの確認
歩行者は、交通機関ストップに徒歩移動し、交通機関を利用し、目的地まで徒歩で向かいます。そのため、ネットワーク データセットには、公共交通機関のストップやラインだけでなく道路も含める必要があります。 ネットワーク データセットで使用する道路データは高品質であり、かつ、歩行者が道路を通行できるかどうかを示す属性も含む必要があります。
- ArcGIS Pro を開いて、マップを含むプロジェクトを作成します。
- マップに道路データを追加します。
提供される道路データは、[Tutorial] > [PublicTransit] > [StreetData.gdb] > [Streets] の展開済みチュートリアル データ フォルダーに格納されています。
- 道路レイヤーの属性テーブルを開き、データのフィールドと値に慣れておきます。
- RestrictPedestrians フィールドを検索します。
このフィールドは、歩行者が道路セグメントを移動できるかどうかを示します。 N 値は、歩行者の通行が制限されていない (つまり移動可能である) ことを意味します。 Y 値は、歩行者が制限されている (つまり移動できない) ことを意味します。 このフィールドをネットワーク データセットで使用すると、高速道路など歩行者の通行が禁止されている道路で、歩行者の移動を防ぐための規制属性を構築することができます。
注意:
独自のデータを使用する場合は、RestrictPedestrians というテキスト フィールドを追加する必要があります。 このテキスト フィールドがなければ、後ほどネットワーク データセットを作成するために使用するテンプレートが動作しなくなります。 フィールドを作成後、N 値と Y 値を適宜入力します。 また、フィールド値は NULL にしてもかまいません。NULL 値に設定した道路は、制限なし (つまり N 値と同じ) としてネットワーク データセットで解釈されます。
StreetMap Premium Custom Roads 製品の Routing_Streets フィーチャクラスを使用している場合、フィールドは RST_PEDESTRIANS と呼ばれます。 このフィールドはそのままにしておきます。 後で、このデータ専用に設計された別のネットワーク データセット テンプレートを使用します。
- ROAD_CLASS フィールドを検索します。
このフィールドは道路のタイプを示し、歩行ルートを構成するためにネットワーク データセットで使用されます。 設定可能な値は、「ルート案内の構成」で定義されています。
注意:
独自のデータを使用する場合は、ROAD_CLASS という short integer フィールドを追加する必要があります。 このテキスト フィールドがなければ、後ほどネットワーク データセットを作成するために使用するテンプレートが動作しなくなります。 フィールドを作成後、適切な道路クラス値を設定します。 また、このフィールド値は NULL にしてもかまいません。その場合、ネットワーク データセットは、ルート案内を生成する際にデフォルトの動作を使用します。
StreetMap Premium Custom Roads の Routing_Streets フィーチャクラスには、適切な ROAD_CLASS フィールドがすでに含まれています。
- 属性テーブルを閉じます。
- [マップ操作] ツール を使用し、マップの道路データを確認します。 いくつかの道路フィーチャをクリックし、その開始点と終了点、他のフィーチャとどのように交差するかを確認します。
交点で、別のフィーチャに分かれる道路データもあります。 他の道路データセットには連続した道路フィーチャが含まれています。これらの道路フィーチャは他のフィーチャと交差しても分割されませんが、交点に頂点を持ちます。 道路データがどのように構築されるかを確認しておいてください。この方法は、後のネットワーク データセットの接続性ポリシーの構成方法を左右します。
提供されている道路データは、すべての交点で別のフィーチャに分かれています。
注意:
StreetMap Premium Custom Roads の Routing_Streets フィーチャクラスは、交点で分かれません。
- 道路データをマップから削除します。
ネットワーク データセットのソース フィーチャクラスとテーブルの準備
ネットワーク データセットで使用するフィーチャクラスとテーブルを作成し、準備します。 GTFS データを、Network Analyst 公共交通機関データ モデルを構成する一連のフィーチャクラスとテーブルに変換し、ネットワーク データセットで使用する道路の中心線を準備します。
ファイル ジオデータベースとフィーチャ データセットの作成
このセクションでは、ファイル ジオデータベースとフィーチャ データセットを作成します。 後から、このフィーチャ データセットでネットワーク データセットを作成します。
- 「ファイル ジオデータベースを作成」し、コンピューター上の任意の場所に配置します。
- 任意の空間参照を使用し、新しいジオデータベースに「フィーチャ データセットを作成」します。
GTFS から交通機関ストップ、ライン、スケジュールを作成
このセクションでは「GTFS → 公共交通機関データ モデル」ジオプロセシング ツールを使用し、GTFS データを一連のフィーチャクラスとテーブルに変換してネットワーク データセットで使用します。
- [ジオプロセシング] ウィンドウで「GTFS → 公共交通機関データ モデル」ツールを開きます。
このツールは、[変換] ツールセットの [公共交通機関ツール] ツールボックスか、ツールの検索バーから検索できます。
- [入力 GTFS フォルダー] パラメーターでは、GTFS テキスト ファイルを含む 1 つ以上のフォルダーを選択します。 チュートリアル用に提供されたデータを使用する場合は、SORTA フォルダーと TANK フォルダーの両方を選択します。
すべての入力 GTFS データセットのデータは、同じ出力テーブルとフィーチャクラスのセットに集約されます。これは、同じ地理エリアで複数の公共交通機関が運行している都市圏で便利です。 SORTA データセットはオハイオ州シンシナティ中心部を網羅し、TANK データセットはシンシナティ都市圏から川の南部、ケンタッキー州までのエリアを網羅します。
- [ターゲット フィーチャ データセット] パラメーターでは、先ほど作成したフィーチャ データセットを選択します。
- [空白の停止時間を内挿] チェックボックスはオフのままにしておきます。
注意:
独自の GTFS データを使用しており、stop_times.txt ファイルの arrival_time フィールドと departure_time フィールドに空の値がある場合には、[空白の停止時間を内挿] チェックボックスをオンにします。 - ツールを実行します。
このツールはエラーや警告なく正常に終了し、いくつかのフィーチャクラスとテーブルがマップ コンテンツに追加されるはずです。
注意:
独自の GTFS データを使用する場合は、ツール メッセージでエラーや警告が発生していないことと、GTFS データをネットワーク データセットで適切に使用できるかどうかを確認します。 ツールはデータの検証を実施しますが、場合によっては GTFS データセットにデータの問題が発生していることがあります。その場合は、データをネットワーク データセットで使用する前に問題を解決しておく必要があります。
- マップと [コンテンツ] ウィンドウの出力を確認します。
2 つのフィーチャクラス (Stops と LineVariantElements)、および複数のテーブルが表示されます。 テーブルは、公共交通機関のスケジュールを表します。 Stops フィーチャクラスは、交通機関ストップの場所を表します。 LineVariantElements フィーチャクラスは、交通機関ライン セグメントを表します。
マップの交通機関ラインは道路に沿っておらず、交通網の一般的な視覚的表現とは異なります。 LineVariantElements フィーチャは、バスや列車などの公共交通機関の車両が進む実際の地理的経路を表すためのものではなく、交通網内の論理接続を表現します。 ネットワーク データセットの「公共交通機関」エバリュエーターでは、公共交通機関のスケジュールを使用して、LineVariantElements フィーチャを通過するのに必要な移動時間を決定します。したがって、このフィーチャの形状および長さは重要ではありません。 これらのフィーチャクラスとテーブルの詳細については、「Network Analyst 公共交通機関データ モデル」ドキュメントをご参照ください。
LineVariantElements フィーチャクラスに長い直線が複数含まれていることがわかります。 これらの直線は、市中心部から郊外まで、途中停車せずに接続する直行ルートを表します。
フィーチャ データセットへの道路フィーチャクラスのコピー
道路はネットワーク データセットに含まれるため、ネットワーク データセットを作成するフィーチャ データセットに道路フィーチャクラスを配置する必要があります。
- 道路フィーチャクラスを配置します。 先に述べたとおり、提供される道路データは、[Tutorial] > [PublicTransit] > [StreetData.gdb] > [Streets] の展開済みチュートリアル データ フォルダーに格納されています。
- 先ほど作成した道路フィーチャクラスやフィーチャ データセットに異なる空間参照がある場合は、「投影変換」ツールを使用し、道路をフィーチャ データセットの空間参照に投影します。 異なる空間参照がない場合は、道路フィーチャクラスをフィーチャ データセットに「コピー」するだけでかまいません。
注意:
独自のデータを使用する場合は、提供されているネットワーク データセット テンプレートに対応できるよう、フィーチャクラス名を「Streets」に変更します。
StreetMap Premium Custom Roads 製品の Routing_Streets フィーチャクラスを使用している場合、名前は「Routing_Streets」のままにしておきます。 「Streets」に変更しないでください。
Routing_Streets フィーチャクラスの場合、その他の注意事項もあります。 [コピー (Copy)] ツールと [投影変換 (Project)] ツールは、ネットワーク データセットに属するフィーチャクラスには使用できません。 さらに、解析している都市圏の道路のみを含めるように Routing_Streets フィーチャクラスをクリップする場合が考えられます。 最後に、適切な接続性を後で確保するために、Routing_Streets_Override フィーチャクラスをターゲット フィーチャ データセットにさらにクリップおよびコピーする必要があります。
Routing_Streets と Routing_Streets_Override をコピーおよびクリップする最も簡単な方法は、それらをマップに追加し、新しい公共交通機関ネットワークの対象エリア内にあるすべてのフィーチャを選択して、各レイヤーに [フィーチャクラス → フィーチャクラス (Feature Class To Feature Class)] ツールを実行して、選択したフィーチャをエクスポートします。
元のフィーチャクラスとターゲット フィーチャ データセットの空間参照が異なる場合、中間出力フィーチャクラスを作成して [投影変換 (Project)] ツールを実行するか、[フィーチャクラス → フィーチャクラス (Feature Class To Feature Class)] ツールの [出力座標系] と [地理座標系変換] 環境設定を設定する必要があります。
関連する Routing_Streets フィーチャを選択するのと同時に関連する Routing_Streets_Override ポイントを選択しなかった場合は、[空間条件で選択 (Select Layer By Location)] ツールを使用して、抽出およびコピーした Routing_Streets フィーチャと交差するすべての Routing_Streets_Override ポイントを選択することで、それを行うことができます。
交通機関ストップと道路の接続
ネットワーク データセットで、移動者が道路沿いを歩行し、ストップ (ストップ以外の場所ではない) で交通機関車両に乗降して交通網を利用し、最後のストップから目的地まで徒歩で向かえるようにします。 そのため、道路、交通機関ストップ、交通機関ラインの間に、適切にコントロールされた接続を確保する必要があります。 このセクションでは、「公共交通機関データ モデルを道路へ接続」ツールを使用して、そのような接続を作成します。 このツールは、交通機関ストップのコピーを道路にスナップし、各ストップの元の場所と、そのストップを道路にスナップした位置を接続する直線を生成します。 これらのコネクタは、道路と交通機関ラインとの間の移動をモデル化するために、ネットワーク データセットで使用されます。
- [ジオプロセシング] ウィンドウで「公共交通機関データ モデルを道路へ接続」ツールを開きます。 このツールは、[変換] ツールセットの [公共交通機関ツール] ツールボックスか、ツールの検索バーから検索できます。
- [ターゲット フィーチャ データセット] パラメーターで、このチュートリアルを通して使用してきたものと同じフィーチャ データセットを選択します。
- [入力道路フィーチャ] パラメーターで、フィーチャ データセットの道路フィーチャクラスを選択します。
- [検索距離] パラメーターで、デフォルトをそのまま使用するか、任意の値を入力します。
検索距離外のストップは道路フィーチャにスナップされないため、道路に接続されません。 検索距離を狭めると、遠く離れた道路にストップが不正にスナップされなくなりますが、必要な場合にストップをスナップできない可能性が高くなります。 検索距離を広げると、スナップされる可能性のあるストップの数が増えますが、道路データを編集して修正する必要のあるエラーが発生することがあります。
- [式] パラメーターで、交通機関ストップが歩行者専用道路にスナップされないように式を追加します。 式ビルダーを使用し、式を構築します。 フィールドを RestrictPedestrians に、Where 句を「と等しくない」に、値を Y に設定します。 あるいは、SQL エディターを使用して RestrictPedestrians <> 'Y' を記述します。
前述したとおり、RestrictPedestrians フィールドで値を Y に設定すると、道路は歩行者専用になります。 この手順で作成される式では、公共交通機関ストップは規制道路にはスナップされません。 これにより、歩行者がすべての交通機関ストップにアクセスできるようになります。
注意:
Streets フィーチャクラスに RestrictPedestrians フィールドがない場合、このフィールドを追加する必要があります。追加しないと、指定されたテンプレートからネットワーク データセットを後で正常に作成できません。
独自のデータを使用しており、RestrictPedestrians フィールドの値が NULL の場合は、2 つ目の項目を [式] パラメーターに追加し、NULL 値が正しく処理されるようにします。 演算子を「Or」に、フィールドを RestrictPedestrians に、WHERE 句を「NULL である」にそれぞれ設定します。 あるいは、SQL エディターを使用して RestrictPedestrians <> 'Y' Or RestrictPedestrians IS NULL を記述します。 これにより、NULL 値が歩行者の立ち入りを認めるものと解釈されるため、NULL 値が格納されている RestrictPedestrians 内の道路に公共交通機関ストップをスナップできます。
RestrictPedestrians フィールドがすべての行で NULL の場合は、歩行者がすべての道路への立ち入りを認められているため、RestrictPedestrians パラメーター用に値を使用する必要はありません。
StreetMap Premium Custom Roads 製品の Routing_Streets フィーチャクラスを使用している場合、[式] パラメーターに RestrictPedestrians の代わりに RST_PEDESTRIANS フィールドを使用します。
- ツールを実行します。
このツールはエラーや警告なく正常に終了し、さらにいくつかのフィーチャクラスがマップに追加されるはずです。
注意:
独自のデータを使用する場合は、ツール メッセージでエラーや警告を検証し、すべてが正常に動作していることを確認します。
- マップと [コンテンツ] ウィンドウの出力を確認します。
2 つの新しいフィーチャクラス、StopsOnStreets と StopConnectors がマップに追加されます。 道路フィーチャクラスがまだマップに追加されていなかった場合は、マップに追加されることもあります。
- いずれかの公共交通機関ストップの周辺エリアを拡大し、確認します。
Stops フィーチャ、その Stops フィーチャと道路を接続する短い直線セグメント (StopConnectors フィーチャ)、道路と StopConnectors ライン フィーチャの交点にある StopsOnStreets フィーチャが表示されます。 このようなフィーチャの組み合わせによって、ネットワーク データセットの道路と公共交通機関ラインとの間に、適切にコントロールされた接続性を定義できるようになります。 これらのフィーチャクラスの詳細については、「Network Analyst 公共交通機関データ モデル」のドキュメントをご参照ください。
注意:
Stops フィーチャクラスに親ステーションやステーションの入口が含まれる場合は、やや複雑な接続構造になります。 このような場合の接続ルールについての詳細は、「公共交通機関データ モデルを道路へ接続」ツールのドキュメントをご参照ください。
ネットワーク データセットの作成
このセクションでは、提供されたネットワーク データセット テンプレートを使用し、ネットワーク データセットを作成します。 提供されたテンプレートでは、最も重要な設定がすでに構成されているので、適切な構造を持つネットワーク データセットを使用できます。 後ほど、これらの設定の一部を確認します。そのときに、ニーズやデータに合わせて設定を変更することができます。
テンプレートからネットワーク データセットを作成
提供された XML テンプレートを使用すると、特定のスキーマを持つネットワーク データセットを自動的に作成できます。
- [テンプレートからネットワーク データセットを作成 (Create Network Dataset From Template)] ツールを開きます。
このツールは、ネットワーク データセット ツールセットの Network Analyst ツール ツールボックスか、ツールの検索バーを使用して探すことができます。
- [ネットワーク データセット テンプレート] パラメーターについては、[Tutorial] > [PublicTransit] > [TransitNetworkTemplate.xml] の展開済みチュートリアル データ フォルダーに格納されている、XML テンプレート ファイルを選択します。
注意:
提供されているチュートリアル データではなく、自分のデータを使用する場合でも、道路名を「Streets」に変更し、RestrictPedestrians フィールドと ROAD_CLASS フィールドを追加するチュートリアルの手順を実施していれば、このネットワーク ネットワーク テンプレートは使用できるはずです。
StreetMap Premium Custom Roads 製品のデータを使用している場合、TransitNetworkTemplate.xml の代わりに TransitNetworkTemplate_SMP_Custom_Roads.xml ネットワーク データセット テンプレートを使用します。 この代替テンプレートは、特別にこのデータに必要な検討事項に対応しています。
- [出力フィーチャ データセット] パラメーターでは、このチュートリアルを通して使用してきたものと同じフィーチャ データセットを選択します。
ネットワーク データセットは、このフィーチャ データセットに作成されます。
- ツールを実行します。
ネットワーク データセットがフィーチャ データセットに作成されます。
注意:
[カタログ] ウィンドウのフィーチャ データセットを更新すると、新しく作成したネットワーク データセットが表示されます。
ネットワーク データセットのプロパティの確認
ネットワーク データセットは作成されましたが、その仕組みを理解したり、ニーズに適しているかどうかを判断したりするには、プロパティを確認する必要があります。 このセクションでは、ネットワーク データセットの接続性ポリシーと移動属性を確認します。
- マップにネットワーク データセットがある場合は、ネットワーク データセットを削除します。
ネットワーク データセットがマップにあると、編集できないネットワーク データセット プロパティがあります。
- 「ネットワーク データセット プロパティのダイアログ ボックスを表示します」。
- ネットワーク データセットの接続性ポリシーを確認します。
ネットワーク データセットの接続性ポリシーは、公共交通機関ラインと道路との間で不正な移動が行われないように構成されます。 道路と公共交通機関ラインとの間で移動するには、指定した公共交通機関ストップを使用する必要があります。 したがって、道路と公共交通機関ラインは、別々の接続性グループに属します。
- ネットワーク データセット プロパティ ダイアログ ボックスで [ソースの設定] > [グループ接続性] を選択します。
[グループ接続性] タブが開きます。
- フィーチャクラスのリストを確認します。
交通機関ライン (LineVariantElements)、道路、およびコネクタ フィーチャ (StopConnectors) は、エッジ ソースとしてネットワークに含まれます。 交通機関ストップ (Stops) と、道路にスナップしたストップのコピー (StopsOnStreets) は、ジャンクション ソースとしてネットワークに含まれます。
注意:
StreetMap Premium Custom Roads 製品のデータを使用している場合、Streets の代わりに Routing_Streets が表示され、Routing_Streets_Override が追加のジャンクション ソースとして含まれます。
- 接続性グループを確認します。
ネットワーク データセットには 3 つの接続性グループがあります。 道路は最初のグループ、コネクタ ラインは 2 つ目のグループ、そして交通機関ラインは 3 つ目のグループです。 StopsOnStreets フィーチャクラスは最初のグループと 2 つ目のグループに含まれ、移動者が道路とコネクタ ラインとの間を移動する方法を指定します。 Stops フィーチャクラスは 2 つ目のグループと 3 つ目のグループに含まれ、コネクタ ラインから交通機関ラインに移動する方法を指定します。
注意:
StreetMap Premium Custom Roads 製品のデータを使用している場合、Routing_Streets_Override は Routing_Streets と同じ接続性グループに属しています。
- エッジ ソースの接続性ポリシーを確認します。
3 つのエッジ ソースはいずれも [端点] の接続性を持ちます。つまり、ライン フィーチャは、端点が一致する場合にのみ、ネットワークで接続されているものとして見なされます。 他のポイントと接したり、他のポイントで重複したりする場合は、接続しているものとして見なされません。
LineVariantElements と StopConnectors は、常に [端点] の接続性を使用する必要があります。
このチュートリアルの前半でマップの道路データを確認して、交点で別のフィーチャに分割されるか、あるいは他の道路と何回か交差する、連続した長い道路フィーチャがあるかを判断しました。 各交点で分割される道路データの場合は、[端点] の接続性が適切な選択肢です。 提供された道路データはすべての交点で別のフィーチャに分割されるため、Streets の接続性ポリシーは [端点] のままにしておきます。
注意:
独自の道路データを使用しており、各交点で分割されない連続した長い道路フィーチャが道路に含まれている場合は、Streets の接続性ポリシーを [頂点] に切り替えます。
StreetMap Premium Custom Roads 製品のデータを使用している場合、Routing_Streets の接続性ポリシーは、この道路データが各交点で分割されなくても [端点] のままにしておきます。 Routing_Streets_Override のジャンクション ソースと [オーバーライド] という接続性ポリシーが、これらの交点での適切な接続性を保証します。
- ジャンクション ソースの接続性ポリシーを確認します。
Stops のジャンクション ソースの接続性ポリシーは [優先] です。つまり、交通機関ストップは、接続先のエッジ ソースの接続性ポリシーに従います。
StopsOnStreets のジャンクション ソースの接続性ポリシーは [オーバーライド] です。つまり、これらのジャンクションは、接続先であるエッジ ソースの接続性ポリシーを無効にします。 この場合、Streets 接続性ポリシーが [端点] であっても、StopsOnStreets フィーチャはジャンクションで Streets フィーチャに接続します。 これが重要なのは、ネットワークの接続性を確保するために、道路フィーチャを交通機関ストップの位置で分割する必要がないからです。
ジャンクション ソース接続性ポリシーは、そのままにしておきます。
- ネットワーク データセット プロパティ ダイアログ ボックスで [ソースの設定] > [グループ接続性] を選択します。
- ネットワーク データセットのコスト属性を確認します。
コスト属性は、ネットワークのエッジに沿って移動する際のコスト、またはインピーダンスを測定するために使用されます。 たとえば、コスト属性によって、道路セグメントに沿って徒歩移動したり、交通機関ラインに沿って移動したりする際の所要時間を定義できます。
- ネットワーク データセット プロパティ ダイアログ ボックスで [移動属性] > [コスト] を選択します。
- ダイアログ ボックス上部に表示される、コスト属性のリストを確認します。
ネットワーク データセットには、[PublicTransitTime]、[WalkTime]、[Length] の 3 つのコスト属性があります。
- [PublicTransitTime] コスト属性を選択します。
[PublicTransitTime] コスト属性のプロパティがダイアログ ボックスの下部に表示されます。
- [エバリュエーター] セクションを確認します。
エバリュエーターは、ネットワークの特定のエッジ、ジャンクション、ターンを通過する際のコストを導く計算を定義します。 各エッジ、ジャンクション、ターン ソースは、異なるタイプのエバリュエーターを使用できます。 たとえば、歩行者が道路沿いを移動する時間や、交通機関ライン沿いを移動する時間を計算するために、異なるエバリュエーターを使用することができます。
LineVariantElements エッジ ソースは、[公共交通機関] エバリュエーターを使用します。 このエバリュエーターは、スケジュールされた公共交通機関サービスに基づいて、公共交通機関のライン セグメントに沿って移動時間を計算します。 返される移動時間には、スケジュールされた次の移動が開始するまでの待ち時間と、公共交通機関ライン セグメントの端から端への移動時間が含まれます。
StopConnectors エッジ ソースは、値を 0 に設定した [定数] エバリュエーターを使用します。 つまり、歩行者が StopConnectors フィーチャを使用して、道路と交通機関ラインとの間を移動する場合は、移動時間は発生しません。 [公共交通機関データ モデルを道路へ接続 (Connect Public Transit Data Model To Streets)] ツールで作成した StopConnectors フィーチャは、実際の地理的経路ではなく、ネットワークの接続性を制御する論理接続を表すため、移動時間を発生させないのは理にかなっています。 しかし、大きな駅を通過する経路をモデル化したり、交通機関ストップにおける通常の乗降に伴う遅れについて情報がある場合には、エバリュエーターのタイプや値を変更することができます。
Streets エッジ ソースは [関数] エバリュエーターを使用し、[WalkTime] コスト属性向けに計算された道路沿いの歩行時間に等しい移動時間を設定します。 [WalkTime] 属性は、道路の長さと、構成可能な歩行速度パラメーターをもとに、歩行時間を計算します。
注意:
[WalkTime] コスト属性のエバリュエーターを確認するには、ダイアログ ボックスの上側で選択します。 そうすると、ダイアログ ボックスの下側に [WalkTime] 属性のプロパティが表示されます。
- ダイアログ ボックスの [パラメーター] セクションを確認します。 必要に応じて、クリックして展開します。
[PublicTransitTime] コスト属性は複数の属性パラメーターで構成されており、公共交通機関エバリュエーターの動作をさらに細かく制御できます。
- ネットワーク データセットの規制属性を確認します。
規制属性は、特定の状況下において、ネットワークの指定部分を移動できないようにするために使用されます。 たとえば、規制属性を使用して、高速道路など歩行者の通行が禁じられている道路を定義します。
- ネットワーク データセット プロパティ ダイアログ ボックスで [移動属性] > [規制] を選択します。
- ダイアログ ボックスの上側に表示される規制属性のリストを確認します。
ネットワーク データセットには、[PedestrianRestriction] と [WheelchairRestriction] の 2 つの規制があります。
- [PedestrianRestriction] を選択します。
この規制は、歩行者の通行が禁じられている道路で、歩行者が徒歩移動できないようにするものです。
[PedestrianRestriction] プロパティが、ダイアログ ボックスの下側に表示されます。
- [エバリュエーター] セクションを確認します。
Streets エッジ ソースでは、特定のエッジの規制状態は、RestrictPedestrians フィールドの値に基づいて決定されます。 フィールド値が Y であれば、道路は規制対象です。 そうでなければ、歩行者の通行は許可されています。
注意:
StreetMap Premium Custom Roads 製品の Routing_Streets フィーチャクラスを使用している場合、この規制に使用されるフィールドは、RestrictPedestrians の代わりに RST_PEDESTRIANS フィールドになります。
他のエッジ ソースやジャンクション ソースは、この規制に対する動作は何も定義しません。 他のフィーチャでの歩行者の通行は常に許可されています。
- ダイアログ ボックスの上側の規制属性のリストから [WheelchairRestriction] を選択します。
この規制は、車椅子の利用者が、車椅子対応ではない場所を通行できないようにするものです。
[WheelchairRestriction] プロパティが、ダイアログ ボックスの下側のセクションに表示されます。
- [エバリュエーター] セクションを確認します。
StopConnectors エッジ ソースの場合、特定のエッジの規制状態は、「公共交通機関データ モデル」が定義したルールに従って設定された GWheelchairBoarding フィールドの値に基づいて決定されます。 これにより、車椅子利用者が、車椅子対応ではないストップで車両に乗降することを防ぐことができます。
他のエッジ ソースやジャンクション ソースは、この規制に対する動作は何も定義しません。 このような他のフィーチャでは、車椅子の利用は常に許可されています。 車椅子の利用可否に関する情報が道路に含まれる場合は、Streets エッジ ソースのエバリュエーターを構成して、この規制にその情報を組み込むことができます。
注意:
交通機関ラインの車椅子利用の可否は、[PublicTransitTime] コスト属性の [Traveling with a wheelchair] パラメーターを使用して別途処理されます。 このパラメーターが True に設定されている場合、公共交通機関エバリュエーターは、移動時間を決定する計算において、車椅子で利用できない交通機関サービスを使用しません。 規制の代わりに、コスト属性のパラメーターが使用されます。これは、交通機関ラインでの車椅子の利用可否は、ラインそのものではなく車両によって左右されることが多いからです。
- ネットワーク データセットの移動モードを確認します。
移動モードは、コスト属性や規制属性など、解析に適用できるネットワーク データセット設定のコレクションを表します。 移動モードは、通常、徒歩や交通機関の利用など、特定の移動手段を表します。
- ネットワーク データセット プロパティ ダイアログ ボックスで [移動属性] > [移動モード] を選択します。
- ダイアログ ボックスの上側にあるドロップダウン リストで、移動モードのリストを確認します。
ネットワーク データセットには、[Public transit time] と [Public transit time with wheelchair] の 2 つの移動モードがあります。
- リストから [Public transit time] を選択します。
この移動モードは、道路を徒歩で通行し、公共交通機関を利用する歩行者の移動時間を表します。
[Public transit time] プロパティが、ダイアログ ボックスの下側に表示されます。
- [コスト] セクションで [インピーダンス] プロパティを確認します。
[PublicTransitTime] コスト属性は、移動モードのインピーダンス属性として選択されています。つまり、解析において移動モードが使用される場合、この属性を使用して移動時間の計算を行います。
- [コスト] セクションで [コスト パラメーター] セクションを確認します。
コスト属性に関連付けられたコスト パラメーターが表示されます。 リスト内に表示される属性を選択すると、関連するパラメーターを展開し、その値を確認できます。 歩行速度をここで設定します。
- [規制] セクションで、解析でこの移動モードを使用するときに適用される規制のリストを確認します。
この移動モードは車椅子の利用者を想定したモデルではないため、[PedestrianRestriction] はオンですが [WheelchairRestriction] はオフです。
- ダイアログ ボックス上部の移動モードのリストから [Public transit time with wheelchair] を選択します。
この移動モードは、道路や公共交通機関ラインを使用した場合の車椅子利用者の移動時間を表します。
[Public transit time with wheelchair] プロパティが、ダイアログ ボックスの下側に表示されます。
- [コスト] セクションで [コスト パラメーター] セクションを確認します。
- ボックスの中から [PublicTransitTime] を選択し、コスト属性に関連付けられた属性パラメーターを展開します。
この移動モードでは、[Traveling with a wheelchair] パラメーター値は True に設定されており、デフォルト値をオーバーライドします。
- [規制] セクションで、解析でこの移動モードを使用するときに適用される規制のリストを確認します。
この移動モードでは、[PedestrianRestriction] と [WheelchairRestriction] の両方がオンになっています。
- ネットワーク データセット プロパティ ダイアログ ボックスで [ルート案内] > [一般] を選択して、ネットワーク データセットのルート案内の構成を確認します。
現在、ArcGIS Network Analyst extensionは、旅行者向けのアプリケーションに適した公共交通機関での移動の詳細なルート案内をサポートしていません。
[ルート案内のサポート] チェックボックスはオフです。 現在、このネットワーク データセットはルート案内をサポートするように構成されていません。 必要に応じて、このチェックボックスをオンにして、徒歩用のルート案内を構成することができます。
- ネットワーク データセット プロパティを閉じます。
ネットワーク データセットの構築
ネットワーク データセットを解析で使用するには、構築する必要があります。
- [ネットワークの構築 (Build Network)] ツールを開きます。
このツールは、ネットワーク データセット ツールセットの Network Analyst ツール ツールボックスか、ツールの検索バーを使用して探すことができます。
- 新しいネットワーク データセットを選択し、ツールを実行します。
構築エラーが発生したことを示す、警告メッセージが表示されることがあります。
- 構築エラーが発生した場合は、メッセージ テキストに表示される構築エラー メッセージ ファイルを開き、構築エラーを確認します。
構築エラーは、ネットワーク データセットの問題や潜在的な問題を示します。 中には重大なエラーもあり、その場合は、解決しなければネットワーク データセットが機能しません。 軽度のエラーは無視してもかまいません。
最も発生の可能性が高い構築エラーは、StopConnectors フィーチャに空のジオメトリがあることを示すものです。 たとえば、一般的なメッセージは [SourceName: StopConnectors、ObjectID: 232、ジオメトリが空です] です。 このエラーは通常、StopsOnStreets フィーチャが近隣の道路に正常にスナップしなかったため、いずれかの Stops フィーチャと関連する StopsOnStreets フィーチャが空間的に一致している場合に起こります。 したがって、生成されたコネクタ ラインに長さがない状態になります。
このような構築エラーが発生した場合は、影響を受ける StopConnectors フィーチャを確認します。 関連する Stops フィーチャと StopsOnStreets フィーチャは、StopConnectors の StopID フィールドを使用して見つけることができます。このフィールドは、Stops と StopsOnStreets の ID フィールドを参照します。 このエラーの原因として最も考えられるのが、ストップが [公共交通機関データ モデルを道路へ接続 (Connect Public Transit Data Model To Streets)] ツールで使用した [検索距離] よりも、最寄りの道路からの距離が遠いことです。 ストップは間違った場所にあるか (その場合は、元の GTFS データに誤りがあります)、ストップが配置されている道路や車道の一部が道路データに存在しない可能性があります。
エラーが数件しかなく、解析において重要なエリアではない場合は、エラーを無視しても問題ありません。
問題を修正するには、StopsOnStreets フィーチャを手動で移動し、道路沿いの正しいポイントにスナップし、StopConnectors フィーチャを編集して接続します。 NULL ジオメトリを修正する方法として一番簡単なのは、「ジオメトリの置換」編集ツールを使用することです。 交通機関ラインから切断された場合は、Stops フィーチャを移動してはなりません。 また、StopsOnStreets を編集する前に道路データを編集し、欠落している道路や車道を追加する方法もあります。
編集する代わりに、[検索距離] 値を大きくして、[公共交通機関データ モデルを道路へ接続 (Connect Public Transit Data Model To Streets)] ツールを再実行できます。
注意:
問題が非常に広範囲にわたる場合、または他の構築エラーが発生している場合は、時間をかけて道路フィーチャクラスを編集するか、まったく別の道路フィーチャクラスを使用してください。
到達圏解析の実行
このセクションでは到達圏を作成します。到達圏とは、前のセクションで作成したネットワーク データセットを使用し、指定時刻に出発地点を出てから 30 分以内に公共交通機関と徒歩で到達できるエリアのことです。
到達圏レイヤーの作成と構成
「到達圏レイヤー」は、到達圏解析の設定と実行に必要な構造およびプロパティを提供します。 このレイヤーには、解析後の結果も含まれます。
- [解析] タブの [ワークフロー] グループで、[ネットワーク解析] > [到達圏] の順にクリックします。
[到達圏] レイヤーが [コンテンツ] ウィンドウに追加されます。 このレイヤーには、解析の入力と出力を含む複数のサブレイヤーが含まれます。
- [コンテンツ] ウィンドウで、[到達圏] をクリックし、グループ レイヤーを選択します。
[到達圏レイヤー] タブが表示されます。
- [到達圏レイヤー] をクリックし、リボンで使用できる設定を表示します。
これらのコントロールを使用して、生成する到達圏を定義します。
ヒント:
[到達圏レイヤー] タブは、[コンテンツ] ウィンドウで到達圏レイヤーを選択した場合のみ表示されます。 また、複数の到達圏レイヤーが存在する場合は、個別にレイヤーの設定を変更することも、複数の選択したすべてのレイヤーの設定を編集することもできます (それらのレイヤーが同じネットワーク データ ソースを共有している場合)。レイヤーごとに固有のタブがあります。
- [到達圏レイヤー] タブの [移動モード] グループで、[モード] コントロールが [Public transit time] に設定されていることを確認します。
この移動モードは、ネットワーク データセットのデフォルトの移動モードです。 このモードは、公共交通機関と徒歩での移動を表します。
- [到達圏レイヤー] タブの [移動モード] グループで、[カットオフ] の値を [30] に変更します。
これを変更すると、出力到達圏ポリゴンは 30 分以内に到達できるエリアを表すようになります。
- [日時] グループで [到着/出発の日時タイプ] ドロップダウンの値を [曜日] に変更します。
ネットワーク データセットで公共交通機関のスケジュールを使用するには、到達圏解析で時刻を指定する必要があります。 時刻がなければ、すべての交通機関ラインが規制対象として処理されます。これは、「公共交通機関エバリュエーター」が、時刻の指定がなければ移動時間を計算できないからです。
注意:
独自の GTFS データを使用しており、一般的な平日ではなく特定の日付を解析で使用する場合には、[曜日] ではなく [日時] を選択します。
[時刻] と [日付] コントロールを使用できるようになります。
- [日付] 値を任意の曜日に変更します。
注意:
[曜日] ではなく [日時] を指定した場合、[日付] コントロールを GTFS データの calendar.txt ファイルと calendar_dates.txt ファイルの日付範囲内の任意の日付に変更します。
- [時刻] 値は、交通機関サービスが提供されている可能性が高い時刻 (午後 5:15 など) に変更します。
- [出力ジオメトリ] グループで [除外するエッジ ソース] ボタン をクリックし、ドロップダウン メニューを開きます。
LineVariantElements エッジ ソースは、デフォルトでポリゴンの生成から除外されます。 つまり、解析で LineVariantElements フィーチャを通過していても、この到達圏ポリゴンはこのフィーチャ周辺には生成されません。 これは望ましい動作です。 公共交通機関の利用者はストップでしか降車できません。そのため、移動者がストップで降車してから、道路沿いに歩いてそのエリアに到達できる場合を除き、交通機関ラインを囲むエリアは到達圏ポリゴンで到達可能として示してはなりません。
- 変更を加えずに、[除外するエッジ ソース] ドロップダウン メニューを閉じます。
施設の描画
到達圏施設は、解析の始点です。 到達圏ポリゴンは、[到達圏レイヤー] タブの [カットオフ] コントロールで指定した制限時間内に、この施設に到達できるエリアを示します。 このセクションでは、到達圏施設をマップに描画します。
注意:
または、[到達圏レイヤー] タブの [施設のインポート] ボタン をクリックして、既存のポイントを施設としてインポートすることもできます。
- [入力データ] セクションの [フィーチャ作成] ボタンをクリックします。
編集可能なレイヤーの一覧を示す [フィーチャ作成] ウィンドウが表示されます。
- [到達圏: 施設] で [施設] をクリックし、デフォルトの編集テンプレートをアクティブ化します。
- [ポイント] ツール を使用し、市内中心部など公共交通機関ストップが多数存在するマップ上のエリア周辺に施設を作成します。
- [編集] タブで [保存] をクリックし、編集内容を保存します。
到達圏の解析と結果の確認
到達圏レイヤーの作成と構成を終え、施設を追加したら、到達圏を解析できるようになります。 このセクションでは、到達圏を解析し、その結果を確認します。
- [到達圏レイヤー] タブで、[実行] をクリックします。
マップに到達圏ポリゴンが生成されます。 このポリゴンは、移動者が指定時刻に施設を出発してから、公共交通機関と徒歩で 30 分以内に到達できるエリアを表します。 到達圏は、施設からシステム内の公共交通機関ライン沿いに拡がるはずです。
出力される到達圏ポリゴンには、公共交通の停留所や駅の周囲に、接続されていないように見える領域を示すマルチパート フィーチャが含まれることがあります。 これは想定どおりで正しい状態です。 30 分の到達圏を作成する場合、旅行者は列車で 25 分移動した後に駅で降車して 5 分間歩くことが考えられます。または、列車に乗り続けて 28 分後に次の駅で降車すると、徒歩時間は 2 分だけ残されます。 ただし、一般的には列車の方が徒歩よりも速いので、歩行による旅行者が、30 分の移動時間制限を超えずに 2 駅間のすべての領域に到達することはできません。 したがって、各駅周辺の小さな領域には 30 分以内で到達可能ですが、駅間の大部分の領域には到達可能でないので、30 分の到達圏ポリゴンには、到達可能な駅の周辺のこうした接続されていない領域が個別に含まれることになります。
- [到達圏レイヤー] タブの [到着/出発時間] グループで、[時刻] の値を希望時刻に変更します。 たとえば、公共交通機関の本数が少なめの、オフピークの時刻 (午後 2 時など) を選択します。
注意:
[到達圏レイヤー] タブが表示されない場合は、[コンテンツ] ウィンドウで [到達圏] をクリックしてグループ レイヤーを選択します。
- [到達圏レイヤー] タブで、[実行] をクリックします。
到達圏ポリゴンが変更されます。 到達圏は、新たな指定時刻に出発した場合に到達できるエリアを表すようになります。 使用可能な公共交通機関は時間帯によって変わるため、その公共交通機関によって到達できるエリアも変わります。