公共交通機関データを使用したネットワーク データセットの作成と使用

Standard または Advancedのライセンスで利用可能。

Network Analyst のライセンスで利用可能。

バスや地下鉄などの公共交通機関は、職場や学校、買い物、医療機関、娯楽などへのアクセスを市民に提供します。ArcGIS Network Analyst エクステンション を使用し、次のような質問に答えることができます。

  • 公共交通機関を使用することで、重要な目的地に便利にアクセスできるか。
  • 公共交通機関は、その利用者に利便性を提供しているか。
  • 顧客、患者、従業員が公共交通機関を利用することを想定する場合、新しい施設はどこに建設するべきか。
公共交通機関が重要な移動手段となっている、密集した都市圏の分析には、公共共通機関のスケジュール データを組み込むことができます。

このチュートリアルでは、公共交通機関対応のネットワーク データセットを、GTFS 公共交通機関データと道路中心線から作成します。このネットワーク データセットをもとに、出発点から公共交通機関と徒歩により、制限時間内に到達できるエリアを示す到達圏を作成します。

このチュートリアルでは、独自の GTFS データと道路中心線を使用することも、あるいはシンシナティ都市部のサンプル データを使用することもできます。独自のデータを使用する場合、道路中心線は GTFS データと同じ地理的エリアを網羅するはずです。

完成したネットワーク データセットは、サンプルとしてチュートリアル データに含まれています。

データの取得

このチュートリアルのデータは、ダウンロードして使用できます。

  1. データ ダウンロード ページに移動します。
  2. [ダウンロード] ボタンをクリックしてファイルをローカルに保存します。
  3. ダウンロードしたファイルを展開します。

入力データの確認

入力データをまとめ、確認します。

GTFS 公共交通機関データの確認

GTFS は、公共交通データに使用される国際標準形式です。交通ラインおよびストップの位置と交通スケジュールが含まれています。GTFS データセットは CSV テキスト ファイルで構成されており、特定の名前とフィールドが含まれます。GTFS に詳しくない方は、こちらをご参照ください

ネットワーク データセットで GTFS データを使用するには、データを Network Analyst 公共交通機関データ モデルに変換します。その方法については、このチュートリアルで後ほど説明します。まず、潜在的な問題を特定し、解析において適切な決断を下せるよう、GTFS データを確認します。

Network Analyst では、解析日時を使用して、ネットワーク解析に伴う問題を解決できます。通常は、一般的な平日 (水曜日など) や、特定の日付 (2019 年 5 月 22 日など) を選択できます。ただし、GTFS データの構成によっては、一般的な平日を使用できないこともあります。このセクションでは、GTFS データセットの日付の構成を確認し、一般的な平日を使用してネットワーク解析を実行できるか、あるいは特定の日付を使用する必要があるかを判断します。

また、GTFS データセットの stop_times.txt ファイルで、すべての到着時間と出発時間が明示的に含まれているかどうかも確認します。

  1. ディスク上の GTFS データを探します。

    チュートリアル データでは、シンシナティ都市圏の 2 件の GTFS データセットが提供されています。1 つは Southwest Ohio Regional Transit Authority (SORTA)、もう 1 つは Transit Authority of Northern Kentucky (TANK) のデータセットです。これらの GTFS データセットは、[Tutorial] > [PublicTransit] > [GTFS] の展開済みのチュートリアル データ フォルダーに格納されています。[SORTA] フォルダーと [TANK] フォルダーには、テキスト ファイルが含まれています。

    独自の GTFS データを使用する場合は、GTFS テキスト ファイルをディスクで検索します。

  2. 各 GTFS データセットの stop_times.txt ファイルを確認します。

    stop_times.txt ファイルは、公共交通機関が公共交通ストップに止まる正確な時刻を定義します。

    1. テキスト エディターで stop_times.txt ファイルを開きます。
      メモ:

      stop_times.txt ファイルは非常に大きい場合があります。テキスト エディターの最大許容ファイル サイズを超過することもあります。

    2. arrival_time フィールドと departure_time フィールドを確認します。

      GTFS では、これらのフィールドに対して空の値を指定できますが、Network Analyst 公共交通機関データ モデルでは、ストップでのすべての到着時間と出発時間を明確に指定する必要があります。[GTFS → ネットワーク データセット トランジット ソース (GTFS To Network Dataset Transit Sources)] ジオプロセシング ツール (チュートリアルにおいて後述します) では、シンプルなリニア内挿法によって空の到着時間と出発時間を推定できます。データに空の値がある場合は、後からツールの内挿オプションを使用し、GTFS データに空の値を入力してからツールを実行するか、別の GTFS データセットを解析で使用します。

      このチュートリアルで提供される GTFS データセットでは、これらのフィールドに空の値は設定されていません。

    3. stop_times.txt ファイルを閉じます。
  3. 各 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 には両方のファイルがあります。

  4. いずれかのファイルがある各 GTFS データセットの calendar.txt ファイルを確認します。
    1. テキスト エディターで calendar.txt ファイルを開きます。
    2. start_date フィールドと end_date フィールドの日付範囲を確認します。

      これらのフィールドは、GTFS データが有効になる日付範囲を表します。解析で特定の日付を使用する場合は、この日付範囲内である必要があります。

      メモ:

      サンプル データを使用する場合、この日付範囲は過ぎている可能性がありますが、このチュートリアルには影響しません。

    3. 重複しない日付範囲の有無、つまり、日付範囲が別の行の日付範囲とまったく重複しない行があるかどうか確認します。

      これは、複数の交通機関のデータを 1 つのファイルにマージしたり、複数の季節 (秋と冬など) のサービスを同じファイルに集約したりした場合に発生します。

      重複しない日付範囲がある場合は、一般的な平日ではなく、特定の日付を解析に使用する必要があります。一般的な平日には、日付範囲を考慮しないサービスが含まれます。そのため、この場合は、重複しない日付範囲のサービスをすべて同じ解析に含める必要があります。同一データセット内に、秋のサービスと冬のサービスを含めている交通機関の場合、秋のサービスと冬のサービスの両方が解析に含まれるため、提供されるサービスが 2 回カウントされることになります。

      このチュートリアルで提供される GTFS データセットには、重複しない日付範囲はありません。

    4. 平日のフィールド (mondaytuesday など) を確認します。

      これらのフィールドは、特定の公共交通機関サービスが運行される曜日と日付範囲を定義します。値が 1 であればその曜日には運行し、値が 0 であればその曜日には運行しません。

      すべての平日のフィールドのすべての行が 0 に設定されている場合は、交通機関が calendar_dates.txt ファイルを使用し、サービスを運行する特定の日付を指定している可能性があります。その場合は、一般的な平日ではなく、特定の日付を解析で使用します。このデータセットに calendar_dates.txt ファイルがない場合は、実質的にサービスが提供されていないことを意味するため、GTFS データセットは無効です。

      このチュートリアルで提供される GTFS データセットの平日フィールドでは、1 と 0 が混在しています。つまり、一般的な平日の定期サービスを定義しています。

    5. calendar.txt ファイルを閉じます。

道路データの確認

歩行者は、交通ストップに徒歩移動し、交通機関を利用し、目的地まで徒歩で向かいます。そのため、ネットワーク データセットには、公共交通機関のストップやラインだけでなく道路も含める必要があります。ネットワーク データセットで使用する道路データは高品質であり、かつ、歩行者が道路を通行できるかどうかを示す属性も含む必要があります。

  1. ArcGIS Pro を開いて、マップで新しいプロジェクトを作成します。
  2. マップに道路データを追加します。

    提供される道路データは、[Tutorial] > [PublicTransit] > [StreetData.gdb] > [Streets] の展開済みチュートリアル データ フォルダーに格納されています。

  3. 道路レイヤーの属性テーブルを開き、データのフィールドと値に慣れておきます。
  4. RestrictPedestrians フィールドを検索します。

    このフィールドは、歩行者が道路セグメントを移動できるかどうかを示します。値「N」は、歩行者の通行が制限されていない (つまり移動可能である) ことを意味します。値「Y」は、歩行者が制限されている (つまり移動できない) ことを意味します。このフィールドをネットワーク データセットで使用すると、高速道路など歩行者の通行が禁止されている道路で、歩行者の移動を防ぐための規制属性を構築することができます。

    独自のデータを使用する場合は、RestrictPedestrians というテキスト フィールドを追加する必要があります。このテキスト フィールドがなければ、後ほどネットワーク データセットを作成するために使用するテンプレートが動作しなくなります。フィールドを作成後、N 値と Y 値を適宜入力します。また、フィールド値は Null にしてもかまいません。Null 値に設定した道路は、制限なし (つまり「N」と同じ) としてネットワーク データセットで解釈されます。

  5. ROAD_CLASS フィールドを検索します。

    このフィールドは道路のタイプを示し、歩行ルートを構成するためにネットワーク データセットで使用されます。設定可能な値は、「ルート案内の設定」で定義されています。

    独自のデータを使用する場合は、ROAD_CLASS という short integer フィールドを追加する必要があります。このテキスト フィールドがなければ、後ほどネットワーク データセットを作成するために使用するテンプレートが動作しなくなります。フィールドを作成後、適切な道路クラス値を設定します。また、このフィールド値は Null にしてもかまいません。その場合、ネットワーク データセットは、ルート案内を生成する際にデフォルトの動作を使用します。

  6. 属性テーブルを閉じます。
  7. [マップ操作] ツール [マップ操作] ツール を使用し、マップの道路データを確認します。いくつかの道路フィーチャをクリックし、その開始点と終了点、他のフィーチャとどのように交差するかを確認します。

    交点で、別のフィーチャに分かれる道路データもあります。他の道路データセットには連続した道路フィーチャが含まれています。これらの道路フィーチャは他のフィーチャと交差しても分割されませんが、交点に頂点を持ちます。道路データがどのように構築されるかを確認しておいてください。この方法は、後のネットワーク データセットの接続性ポリシーの構成方法を左右します。

    提供されている道路データは、すべての交点で別のフィーチャに分かれています。

  8. 道路データをマップから削除します。

ネットワーク データセットのソース フィーチャクラスとテーブルの準備

ネットワーク データセットで使用するフィーチャクラスとテーブルを作成し、準備します。GTFS データを、Network Analyst 公共交通機関データ モデルを構成する一連のフィーチャクラスとテーブルに変換し、ネットワーク データセットで使用する道路の中心線を準備します。

ファイル ジオデータベースとフィーチャ データセットの作成

後ほど、ファイル ジオデータベースのフィーチャ データセットにネットワーク データセットを作成します。このセクションでは、ファイル ジオデータベースとフィーチャ データセットを作成します。

  1. ファイル ジオデータベースを作成します。パソコン上の任意の場所に保存します。
  2. 任意の空間参照を使用し、新しいジオデータベースにフィーチャ データセットを作成します。

GTFS からの交通ストップ、ライン、スケジュールの作成

このセクションでは、[GTFS → ネットワーク データセット トランジット ソース (GTFS To Network Dataset Transit Sources)] ジオプロセシング ツールを使用し、GTFS データをネットワーク データセットで使用するための一連のフィーチャクラスとテーブルに変換します。

  1. [ジオプロセシング] ウィンドウで [GTFS → ネットワーク データセット トランジット ソース (GTFS To Network Dataset Transit Sources)] ツールを開きます。

    このツールは、公共交通 (GTFS) ツールセットの変換ツールボックスか、ツール検索バーから検索できます。

  2. [入力 GTFS フォルダー] パラメーターでは、GTFS テキスト ファイルを含む 1 つ以上のフォルダーを選択します。チュートリアル用に提供されたデータを使用する場合は、SORTA フォルダーと TANK フォルダーの両方を選択します。

    すべての入力 GTFS データセットのデータは、同じ出力テーブルとフィーチャクラスのセットに集約されます。これは、同じ地理エリアで複数の公共交通機関が運行している都市圏で便利です。SORTA データセットはオハイオ州シンシナティ中心部を網羅し、TANK データセットはシンシナティ都市圏から川の南部、ケンタッキー州までのエリアを網羅します。

  3. [ターゲット フィーチャ データセット] パラメーターでは、先ほど作成したフィーチャ データセットを選択します。
  4. 独自の GTFS データを使用しており、stop_times.txt ファイルの arrival_time フィールドと departure_time フィールドに空の値がある場合には、[空白の停止時間を内挿] チェックボックスをオンにします。
  5. ツールを実行します。

    サンプル データを使用する場合、ツールはエラーや警告なく正常に終了し、いくつかのフィーチャクラスとテーブルがマップ コンテンツに追加されるはずです。独自の GTFS データを使用する場合は、ツール メッセージでエラーや警告が発生していないことと、GTFS データをネットワーク データセットで適切に使用できるかどうかを確認します。ツールはデータ整合チェックを実施しますが、場合によっては GTFS データセットにデータの問題が発生していることがあります。その場合は、データをネットワーク データセットで使用する前に問題を解決しておく必要があります。

  6. マップと [コンテンツ] の出力を確認します。

    2 つのフィーチャクラス (StopsLineVariantElements)、および複数のテーブルが表示されます。テーブルは、公共交通機関のスケジュールを表します。Stops フィーチャクラスは、交通ストップの場所を表します。LineVariantElements フィーチャクラスは、交通ライン セグメントを表します。

    [GTFS → ネットワーク データセット トランジット ソース (GTFS To Network Dataset Transit Sources)] ツールのマップへの出力

    マップの交通路線は道路に沿っておらず、交通網の一般的な視覚的表現とは異なります。LineVariantElements フィーチャは、バスや列車などの公共交通機関の車両が進む実際の地理的経路を表すためのものではなく、交通網内の論理接続を表現します。ネットワーク データセットの公共交通機関エバリュエーターでは、公共交通機関のスケジュールを使用して、LineVariantElements フィーチャを通過するのに必要な移動時間を決定します。したがって、このフィーチャの形状および長さは重要ではありません。これらのフィーチャクラスとテーブルの詳細については、「Network Analyst 公共交通機関データ モデル」ドキュメントをご参照ください。

    提供されているシンシナティのデータを使用する場合は、LineVariantElements フィーチャクラスにはいくつかの長い直線が含まれていることがわかります。これらの直線は、市中心部から郊外まで、途中停車せずに接続する直行ルートを表します。

フィーチャ データセットへの道路フィーチャクラスのコピー

道路はネットワーク データセットに含まれるため、ネットワーク データセットを作成するフィーチャ データセットに道路フィーチャクラスを配置する必要があります。

  1. 先ほど作成した道路フィーチャクラスやフィーチャ データセットに異なる空間参照がある場合は、[投影変換 (Project)] ツールを使用し、道路をフィーチャ データセットの空間参照に投影します。異なる空間参照がない場合は、道路フィーチャクラスをフィーチャ データセットにコピーするだけでかまいません。

    独自のデータを使用する場合は、提供されているネットワーク データセット テンプレートに対応できるよう、フィーチャクラス名を「Streets」に変更します。

交通ストップと道路の接続

ネットワーク データセットで、移動者が道路沿いを歩行し、ストップ (ストップ以外の場所ではない) で交通車両に乗降して交通網を利用し、最後のストップから目的地まで徒歩で向かえるようにします。そのため、道路、交通ストップ、交通ラインの間に、適切にコントロールされた接続を確保する必要があります。このセクションでは、[ネットワーク データセット トランジット ソースを道路へ接続 (Connect Network Dataset Transit Sources To Streets)] ツールを使用して、そのような接続を作成します。このツールは、交通ストップのコピーを道路にスナップし、各ストップの元の場所と、そのストップを道路にスナップした位置を接続する直線を生成します。これらのコネクタは、道路と交通ラインとの間の移動をモデル化するために、ネットワーク データセットで使用されます。

  1. [ジオプロセシング] ウィンドウで [ネットワーク データセット トランジット ソースを道路へ接続 (Connect Network Dataset Transit Sources To Streets)] ツールを開きます。このツールは、公共交通 (GTFS) ツールセットの変換ツールボックスか、ツール検索バーから検索できます。
  2. [ターゲット フィーチャ データセット] パラメーターで、このチュートリアルを通して使用してきたものと同じフィーチャ データセットを選択します。
  3. [入力道路フィーチャ] パラメーターで、フィーチャ データセットの道路フィーチャクラスを選択します。
  4. [検索距離] パラメーターで、デフォルトをそのまま使用するか、任意の値を入力します。

    検索範囲外のストップは道路フィーチャにスナップされないため、道路に接続されません。検索範囲を狭めると、遠く離れた道路にストップが不正にスナップされなくなりますが、必要な場合にストップをスナップできない可能性が高くなります。検索範囲を広げると、スナップされる可能性のあるストップの数が増えますが、道路データを編集して修正する必要のあるエラーが発生することがあります。

  5. [式] パラメーターで、交通ストップが歩行者専用道路にスナップされないように条件式を追加します。式の設定を使用し、式を構築します。フィールドを RestrictPedestrians に、Where 句を [と等しくない] に、値を Y に設定します。あるいは、SQL エディターを使用して RestrictPedestrians <> 'Y' を記述します。

    前述のとおり、RestrictPedestrians フィールドで値を Y に設定すると、道路は歩行者専用になります。このステップで作成される条件式では、公共交通機関のストップは規制道路にはスナップされません。これにより、歩行者がすべての交通ストップにアクセスできるようになります。

  6. ツールを実行します。

    サンプル データを使用する場合、ツールはエラーや警告なく正常に終了し、マップにはフィーチャクラスが追加されます。独自のデータを使用する場合は、ツール メッセージでエラーや警告を検証し、すべてが正常に動作していることを確認します。

  7. マップと [コンテンツ] の出力を確認します。

    2 つの新しいフィーチャクラス、StopsOnStreetsStopConnectors がマップに追加されます。道路フィーチャクラスがまだマップに追加されていなかった場合は、マップに追加されることもあります。

  8. いずれかの公共交通機関のストップの周辺エリアを拡大し、確認します。

    Stops フィーチャ、その StopConnectors フィーチャと道路を接続する短い直線セグメント (Stops フィーチャ)、道路と StopsOnStreets ライン フィーチャの交点にある StopConnectors フィーチャが表示されます。このようなフィーチャの組み合わせによって、ネットワーク データセットの道路と公共交通ラインとの間に、適切にコントロールされた接続を定義できるようになります。これらのフィーチャクラスの詳細については、「Network Analyst 公共交通機関データ モデル」のドキュメントをご参照ください。

    道路に接続された交通ライン

    メモ:

    Stops フィーチャクラスに親ステーションやステーションの入口が含まれる場合は、やや複雑な接続構造になります。このような場合の接続ルールについて詳しくは、[ネットワーク データセット トランジット ソースを道路へ接続 (Connect Network Dataset Transit Sources To Streets)] ツールのドキュメントをご参照ください。

ネットワーク データセットの作成

このセクションでは、提供されたネットワーク データセット テンプレートを使用し、ネットワーク データセットを作成します。提供されたテンプレートでは、最も重要な設定がすでに構成されているので、適切な構造を持つネットワーク データセットを使用できます。後ほど、これらの設定の一部を確認します。そのときに、それぞれのニーズやデータに合わせて設定を変更することができます。

テンプレートからネットワーク データセットを作成

提供された XML テンプレートを使用すると、特定のスキーマを持つネットワーク データセットを自動的に作成できます。

  1. [テンプレートからネットワーク データセットを作成 (Create Network Dataset From Template)] ツールを開きます。

    このツールは、ネットワーク データセット ツールセットの [Network Analyst ツール] ツールボックスか、ツールの検索バーを使用して探すことができます。

  2. [ネットワーク データセット テンプレート] パラメーターについては、[Tutorial] > [PublicTransit] > [TransitNetworkTemplate.xml] の展開済みチュートリアル データ フォルダーに格納されている、XML テンプレート ファイルを選択します。
    メモ:

    提供されているチュートリアル データではなく、自分のデータを使用する場合でも、道路名を「Streets」に変更し、RestrictPedestrians フィールドと ROAD_CLASS フィールドを追加するチュートリアルの手順を実施していれば、このネットワーク ネットワーク テンプレートは使用できるはずです。

  3. [出力フィーチャ データセット] パラメーターでは、このチュートリアルを通して使用してきたものと同じフィーチャ データセットを選択します。

    ネットワーク データセットは、このフィーチャ データセットに作成されます。

  4. ツールを実行します。

    ネットワーク データセットがフィーチャ データセットに作成されます。

    メモ:

    [カタログ] ウィンドウのフィーチャ データセットを更新すると、新しく作成したネットワーク データセットが表示されます。

ネットワーク データセットのプロパティの確認

ネットワーク データセットは作成されましたが、その仕組みを理解したり、ニーズに適しているかどうかを判断したりするには、プロパティを確認する必要があります。このセクションでは、ネットワーク データセットの接続性ポリシーと移動属性を確認します。

  1. マップにネットワーク データセットがある場合は、ネットワーク データセットを削除します。

    ネットワーク データセットがマップにあると、編集できないネットワーク データセット プロパティがあります。

  2. ネットワーク データセット プロパティのダイアログ ボックスを表示します
  3. ネットワーク データセットの接続性ポリシーを確認します。

    ネットワーク データセットの接続性ポリシーは、公共交通ラインと道路との間で不正な移動が行われないように構成されます。道路と公共交通ラインとの間で移動するには、指定した公共交通ストップを使用する必要があります。したがって、道路と公共交通ラインは、別々の接続性グループに属します。

    ネットワークデータセットの接続性グループとポリシーの詳細

    1. ネットワークデータセット プロパティ ダイアログ ボックスで [ソースの設定] > [グループ接続性] を選択します。

      [グループ接続性] タブが開きます。

      [グループ接続性] タブには、フィーチャクラスと、その接続性ポリシーおよびグループがリストされます。

    2. フィーチャ タイプのリストを確認します。

      交通ライン (LineVariantElements)、道路、およびコネクタ フィーチャ (StopConnectors) は、エッジ ソースとしてネットワークに含まれます。交通ストップ (Stops) と、道路にスナップしたストップのコピー (StopsOnStreets) は、ジャンクション ソースとしてネットワークに含まれます。

    3. 接続性グループを確認します。

      ネットワーク データセットには 3 つの接続性グループがあります。道路は最初のグループ、コネクタ ラインは 2 つ目のグループ、そして交通ラインは 3 つ目のグループです。StopsOnStreets フィーチャクラスは最初のグループと 2 つ目のグループに含まれ、移動者が道路とコネクタ ラインとの間を移動する方法を指定します。Stops フィーチャクラスは 2 つ目のグループと 3 つ目のグループに含まれ、コネクタ ラインから交通ラインに移動する方法を指定します。

    4. エッジ ソースの接続性ポリシーを確認します。

      3 つのエッジ ソースはいずれも [端点] の接続性を持ちます。つまり、ライン フィーチャは、端点が一致する場合にのみ、ネットワークで接続されているものとして見なされます。他のポイントと接したり、他のポイントで重複したりする場合は、接続しているものとして見なされません。

      LineVariantElementsStopConnectors は、常に [端点] の接続性を使用する必要があります。

      このチュートリアルの前半でマップの道路データを確認して、交点で別のフィーチャに分割されるか、あるいは他の道路と何回か交差する、連続した長い道路フィーチャがあるかを判断しました。道路データがすべての交点で分割される場合は、[端点] の接続性が適切な選択肢です。ただし、データが連続した長い道路フィーチャを持つ場合は、ここで Streets の接続性ポリシーを [頂点] に変更します。

      提供された道路データはすべての交点で別のフィーチャに分割されるため、Streets の接続性ポリシーは [端点] のままにしておきます。

    5. ジャンクション ソースの接続性ポリシーを確認します。

      Stops のジャンクション ソースの接続性ポリシーは [優先] です。つまり、交通ストップは、接続先のエッジ ソースの接続性ポリシーに従います。

      StopsOnStreets のジャンクション ソースの接続性ポリシーは [オーバーライド] です。つまり、これらのジャンクションは、接続先であるエッジ ソースの接続性ポリシーを上書きします。この場合、StopsOnStreets 接続性ポリシーが [端点] であっても、Streets フィーチャはジャンクションで Streets フィーチャに接続します。これが重要なのは、ネットワークの接続性を確保するために、道路フィーチャを交通ストップの位置で分割する必要がないからです。

      ジャンクション ソース接続性ポリシーは、そのままにしておきます。

  4. ネットワーク データセットのコスト属性を確認します。

    コスト属性は、ネットワークのエッジに沿って移動する際のコスト、またはインピーダンスを測定するために使用されます。たとえば、コスト属性によって、道路セグメントに沿って徒歩移動したり、交通ラインに沿って移動したりする際の所要時間を定義できます。

    コスト属性の詳細

    1. ネットワーク データセット プロパティ ダイアログ ボックスで [移動属性] > [コスト] を選択します。
    2. ダイアログ ボックス上部に表示される、コスト属性のリストを確認します。

      ネットワーク データセットには、[PublicTransitTime][WalkTime][Length] の 3 つのコスト属性があります。

    3. [PublicTransitTime] コスト属性を選択します。

      [PublicTransitTime] コスト属性のプロパティがダイアログ ボックスの下部に表示されます。

    4. [エバリュエーター] セクションを確認します。

      エバリュエーターは、ネットワークの特定のエッジ、ジャンクション、ターンを通過する際のコストを導く計算を定義します。各エッジ、ジャンクション、ターン ソースは、異なるタイプのエバリュエーターを使用できます。たとえば、歩行者が道路沿いを移動する時間や、交通ライン沿いを移動する時間を計算するために、異なるエバリュエーターを使用することができます。

      ネットワークで使用されるエバリュエーターの種類の詳細

      LineVariantElements エッジ ソースは、[公共交通機関] エバリュエーターを使用します。このエバリュエーターは、スケジュールされた公共交通サービスに基づいて、公共交通機関のライン セグメントに沿って移動時間を計算します。返される移動時間には、スケジュールされた次の移動が開始するまでの待ち時間と、公共交通ライン セグメントの端から端への移動時間が含まれます。

      公共交通機関エバリュエーターの詳細

      StopConnectors エッジ ソースは、値を「0」に設定した [定数] エバリュエーターを使用します。つまり、歩行者が StopConnectors フィーチャを使用して、道路と交通ラインとの間を移動する場合は、移動時間は発生しません。[ネットワーク データセット トランジット ソースを道路へ接続 (Connect Network Dataset Transit Sources To Streets)] ツールで作成した StopConnectors フィーチャは、実際の地理的経路ではなく、ネットワークの接続性を制御する論理接続を表すため、移動時間を発生させないのは理にかなっています。しかし、大きな駅を通過する経路をモデル化したり、交通ストップにおける通常の乗降に伴う遅れについて情報がある場合には、エバリュエーターのタイプや値を変更することができます。

      Streets エッジ ソースは [関数] エバリュエーターを使用し、[WalkTime] コスト属性向けに計算された道路沿いの歩行時間に等しい移動時間を設定します。[WalkTime] 属性は、道路の長さと、構成可能な歩行速度パラメーターをもとに、歩行時間を計算します。

      メモ:

      [WalkTime] コスト属性のエバリュエーターを確認するには、ダイアログ ボックスの上側で選択します。そうすると、ダイアログ ボックスの下側に [WalkTime] 属性のプロパティが表示されます。

    5. ダイアログ ボックスの [パラメーター] セクションを確認します。必要に応じ、クリックして展開します。

      [PublicTransitTime] コスト属性は複数の属性パラメーターで構成されており、公共交通機関エバリュエーターの動作をさらに細かくコントロールできます。

      公共交通機関エバリュエーターでサポートされているパラメーターの詳細

  5. ネットワーク データセットの規制属性を確認します。

    規制属性は、特定の状況下において、ネットワークの指定部分を移動できないようにするために使用されます。たとえば、規制属性を使用して、高速道路など歩行者の通行が禁じられている道路を定義します。

    規制の属性に関する詳細

    1. ネットワーク データセット プロパティ ダイアログ ボックスで[移動属性] > [規制] を選択します。
    2. ダイアログ ボックスの上側に表示される規制属性のリストを確認します。

      ネットワーク データセットには、[PedestrianRestriction][WheelchairRestriction] の 2 種類の規制があります。

    3. [PedestrianRestriction] を選択します。

      この規制は、歩行者の通行が禁じられている道路で、歩行者が徒歩移動できないようにするものです。

      [PedestrianRestriction] プロパティが、ダイアログ ボックスの下側に表示されます。

    4. [エバリュエーター] セクションを確認します。

      Streets エッジ ソースでは、特定のエッジの規制状態は、RestrictPedestrians フィールドの値に基づいて決定されます。フィールド値が「Y」であれば、道路は規制対象です。そうでなければ、歩行者の通行は許可されています。

      他のエッジ ソースやジャンクション ソースは、この規制に対する動作は何も定義しません。他のフィーチャでの歩行者の通行は常に許可されています。

    5. ダイアログ ボックスの上側の規制属性のリストから [WheelchairRestriction] を選択します。

      この規制は、車椅子の利用者が、車椅子対応ではない場所を通行できないようにするものです。

      [WheelchairRestriction] プロパティが、ダイアログ ボックスの下側のセクションに表示されます。

    6. [エバリュエーター] セクションを確認します。

      StopConnectors エッジ ソースの場合、特定のエッジの規制状態は、公共交通機関データ モデルが定義したルールに従って設定された GWheelchairBoarding フィールドの値に基づいて決定されます。これにより、車椅子利用者が、車椅子対応ではないストップで車両に乗降することを防ぐことができます。

      他のエッジ ソースやジャンクション ソースは、この規制に対する動作は何も定義しません。このような他のフィーチャでは、車椅子の利用は常に許可されています。車椅子の利用可否に関する情報が道路に含まれる場合は、Streets エッジ ソースのエバリュエーターを構成して、この規制にその情報を組み込むことができます。

      メモ:

      交通ラインの車椅子利用の可否は、[PublicTransitTime] コスト属性の [Traveling with a wheelchair] パラメーターを使用して別途処理されます。このパラメーターが True に設定されている場合、公共交通機関エバリュエーターは、移動時間を決定する計算において、車椅子で利用できない交通サービスを使用しません。規制の代わりに、コスト属性のパラメーターが使用されます。これは、交通ラインでの車椅子の利用可否は、ラインそのものではなく車両によって左右されることが多いからです。

  6. ネットワーク データセットの移動モードを確認します。

    移動モードは、コスト属性や規制属性など、解析に適用できるネットワーク データセット設定のコレクションを表します。移動モードは、通常、徒歩や交通機関の利用など、特定の移動手段を表します。

    移動モードの詳細

    1. ネットワーク データセット プロパティ ダイアログ ボックスで [移動属性] > [移動モード] を選択します。
    2. ダイアログ ボックスの上側にあるドロップダウン リストで、移動モードのリストを確認します。

      ネットワーク データセットには、[Public transit time][Public transit time with wheelchair] の 2 つの移動モードがあります。

    3. リストから [Public transit time] を選択します。

      この移動モードは、道路を歩行で通行し、公共交通機関を利用する歩行者の移動時間を表します。

      ダイアログ ボックスの下側に、[公共交通機関の移動時間] プロパティが表示されます。

    4. [コスト] セクションで [インピーダンス] プロパティを確認します。

      [PublicTransitTime] コスト属性は、移動モードのインピーダンス属性として選択されています。つまり、解析において移動モードが使用される場合、この属性を使用して移動時間の計算を行います。

    5. [コスト] セクションで [コスト パラメーター] セクションを確認します。

      コスト属性に関連付けられたコスト パラメーターが表示されます。リスト内に表示される属性を選択すると、関連するパラメーターを展開し、その値を確認できます。歩行速度をここで設定します。

    6. [規制] セクションで、解析でこの移動モードを使用するときに適用される規制のリストを確認します。

      この移動モードは車椅子の利用者を想定したモデルではないため、[PedestrianRestriction] はオンですが [WheelchairRestriction] はオフです。

    7. ダイアログ上部の移動モードのリストから [Public transit time with wheelchair] を選択します。

      この移動モードは、道路や公共交通ラインを使用した場合の、車椅子利用者の移動時間を表します。

      [車椅子による公共交通機関の移動時間] プロパティが、ダイアログ ボックスの下側に表示されます。

    8. [コスト] セクションで [コスト パラメーター] セクションを確認します。
    9. ボックスの中から [PublicTransitTime] を選択し、コスト属性に関連付けられた属性パラメーターを展開します。

      この移動モードでは、[車椅子での移動] パラメーター値は True に設定されており、デフォルト値を上書きします。

    10. [規制] セクションで、解析でこの移動モードを使用するときに適用される規制のリストを確認します。

      この移動モードでは、[PedestrianRestriction][WheelchairRestriction] の両方がオンになっています。

  7. ネットワーク データセット プロパティを閉じます。

ネットワーク データセットの構築

ネットワーク データセットを解析で使用するには、構築する必要があります。

  1. [ネットワークの構築 (Build Network)] ツールを開きます。

    このツールは、ネットワーク データセット ツールセットの [Network Analyst ツール] ツールボックスか、ツールの検索バーを使用して探すことができます。

  2. 新しいネットワーク データセットを選択し、ツールを実行します。

    構築エラーが発生したことを示す、警告メッセージが表示されることがあります。

  3. 構築エラーが発生した場合は、メッセージ テキストに表示される構築エラー メッセージ ファイルを開き、構築エラーを確認します。

    構築エラーは、ネットワーク データセットの問題や潜在的な問題を示します。中には重大なエラーもあり、その場合は、解決しなければネットワーク データセットが機能しません。軽度のエラーは無視してもかまいません。ネットワーク データセット構築エラーの詳細

    最も発生の可能性が高い構築エラーは、StopConnectors フィーチャに空のジオメトリがあることを示すものです。たとえば、一般的なメッセージは [SourceName: StopConnectors、ObjectID: 232、ジオメトリが空です] です。このエラーは通常、Stops フィーチャが近隣の道路に正常にスナップしなかったため、いずれかの StopsOnStreets フィーチャと関連する StopsOnStreets フィーチャが空間的に一致している場合に起こります。したがって、生成されたコネクタ ラインに長さがない状態になります。

    このような構築エラーが発生した場合は、影響を受ける StopConnectors フィーチャを確認します。関連する Stops フィーチャと StopsOnStreets フィーチャは、StopConnectorsStopID フィールドを使用して見つけることができます。このフィールドは、StopsStopsOnStreetsID フィールドを参照します。このエラーの原因として最も考えられるのが、ストップが [ネットワーク データセット トランジット ソースを道路へ接続 (Connect Network Dataset Transit Sources To Streets)] ツールで使用した [検索距離] よりも、最寄りの道路からの距離が遠いことです。ストップは間違った場所にあるか (その場合は、元の GTFS データに誤りがあります)、ストップが配置されている道路や車道の一部が道路データに存在しない可能性があります。

    エラーが数件しかなく、解析において重要なエリアではない場合は、エラーを無視しても問題ありません。

    問題を修正するには、StopsOnStreets フィーチャを手動で移動し、道路沿いの正しいポイントにスナップし、StopConnectors フィーチャを編集して接続します。Null ジオメトリを修正する方法として一番簡単なのは、[ジオメトリの置換 (Replace Geometry)] 編集ツールを使用することです。交通ラインから切断された場合は、Stops フィーチャを移動してはなりません。また、StopsOnStreets を編集する前に道路データを編集し、欠落している道路や車道を追加する方法もあります。

    編集する代わりに、[検索距離] 値を大きくして、[ネットワーク データセット トランジット ソースを道路へ接続 (Connect Network Dataset Transit Sources To Streets)] ツールを再実行できます。

    メモ:

    問題が非常に広範囲にわたる場合、または他の構築エラーが発生している場合は、時間をかけて道路フィーチャクラスを編集するか、まったく別の道路フィーチャクラスを使用してください。

到達圏解析の実行

このセクションでは到達圏を作成します。到達圏とは、前のセクションで作成したネットワーク データセットを使用し、指定時刻に出発地点を出てから 30 分以内に公共交通機関と徒歩で到達できるエリアのことです。

到達圏解析の詳細

到達圏レイヤーの作成と構成

到達圏レイヤーは、到達圏解析の設定と実行に必要な構造およびプロパティを提供します。このレイヤーには、解析後の結果も含まれます。

  1. [解析] タブの [ツール] グループで、[ネットワーク解析] > [到達圏] 到達圏 の順にクリックします。

    [到達圏] レイヤーが [コンテンツ] ウィンドウに追加されます。このレイヤーには、解析の入力と出力を格納するいくつかのサブレイヤーが含まれます。

  2. コンテンツ ウィンドウで、[到達圏] をクリックし、グループ レイヤーを選択します。

    ArcGIS Pro の上部にある [Network Analyst] グループに [到達圏] タブが表示されます。

  3. [到達圏] をクリックし、タブのコントロールを表示します。

    到達圏リボン

    これらのコントロールを使用して、生成する到達圏を定義します。

    ヒント:

    [到達圏] タブは、[コンテンツ] ウィンドウで到達圏レイヤーを選択した場合のみ表示されます。また、複数の到達圏レイヤーが存在する場合は、それぞれの到達圏レイヤーが独自のタブを持ちます。

  4. [到達圏] タブの [移動モード] グループで、[モード] コントロールが [Public transit time] に設定されていることを確認します。

    この移動モードは、ネットワーク データセットのデフォルトの移動モードです。このモードは、公共交通機関と徒歩での移動を表します。

  5. [到達圏] タブの [移動モード] グループで、[カットオフ] の値を 30 に変更します。

    これを変更すると、出力到達圏ポリゴンは 30 分以内に到達できるエリアを表すようになります。

    到達圏の [カットオフ] オプションの詳細

  6. [到着/出発時間] グループで [到着-出発日時タイプ] ドロップダウンの値を [曜日] に変更します。

    ネットワーク データセットで公共交通機関のスケジュールを使用するには、到達圏解析で時刻を指定する必要があります。時刻がなければ、すべての交通ラインが規制対象として処理されます。これは、公共交通機関エバリュエーターが、時刻の指定がなければ移動時間を計算できないからです。

    [到着-出発日時タイプ] オプションの詳細

    メモ:

    独自の GTFS データを使用しており、一般的な平日ではなく特定の日付を解析で使用する場合には、[曜日] ではなく [カスタム日時] を選択します。

    [時刻][日付] コントロールを使用できるようになります。

  7. [日付] 値を任意の曜日に変更します。
    メモ:

    [曜日] ではなく [カスタム日時] を指定した場合、[日付] コントロールを GTFS データの calendar.txt ファイルと calendar_dates.txt ファイルの日付範囲内の任意の日付に変更します。

  8. [時刻] 値は、交通サービスが提供されている可能性が高い時刻 (午後 5 時 15 分など) に変更します。
  9. [出力ジオメトリ] グループで [除外するエッジ ソース] ボタン 除外するエッジ ソース をクリックし、ドロップダウン メニューを開きます。

    LineVariantElements エッジ ソースは、デフォルトでポリゴンの生成から除外されます。つまり、解析で LineVariantElements フィーチャを通過していても、この到達圏ポリゴンはこのフィーチャ周辺には生成されません。これは望ましい動作です。公共交通機関の利用者はストップでしか降車できません。そのため、移動者がストップで降車してから、道路沿いに歩いてそのエリアに到達できる場合を除き、交通ラインを囲むエリアは到達圏ポリゴンで到達可能として示してはなりません。

  10. 変更を加えずに、[除外するエッジ ソース] ドロップダウン メニューを閉じます。

施設の描画

到達圏施設は、解析の始点です。到達圏ポリゴンは、[到達圏] タブの [カットオフ] コントロールで指定した制限時間内に、この施設に到達できるエリアを示します。このセクションでは、到達圏施設をマップに描画します。

メモ:

または、[到達圏] タブの [施設のインポート] ボタン 施設のインポート をクリックし、[ロケーションの追加 (Add Locations)] ジオプロセシング ツールを使用すると、既存のポイントを施設としてインポートできます。

  1. [編集] タブで [作成] フィーチャ作成 をクリックします。

    編集可能なレイヤーの一覧を示す [フィーチャ作成] ウィンドウが表示されます。

  2. [到達圏: 施設][施設] をクリックし、デフォルトの編集テンプレートをアクティブ化します。
  3. [ポイント] ツール ポイント を使用し、市内中心部など公共交通機関のストップが多数存在するマップ上のエリア周辺に施設を作成します。
  4. [編集] タブで [保存] 編集の保存 をクリックし、編集内容を保存します。

到達圏の解析と結果の確認

到達圏レイヤーの作成と構成を終え、施設を追加したら、到達圏を解析できるようになります。このセクションでは、到達圏を解析し、その結果を確認します。

  1. [到達圏] タブで、[実行] 実行 をクリックします。

    [到達圏] タブの [実行] ボタン

    マップに到達圏ポリゴンが生成されます。このポリゴンは、移動者が指定時刻に施設を出発してから、公共交通機関と徒歩で 30 分以内に到達できるエリアを表します。施設から、システム内の公共交通ラインへと伸びる必要があります。

    出力される到達圏ポリゴンには、公共交通の停留所や駅の周囲に、接続されていないように見える領域を示すマルチパート フィーチャが含まれることがあります。これは想定どおりで正しい状態です。30 分の到達圏を作成する場合、旅行者は列車で 25 分移動した後に駅で降車して 5 分間歩くことが考えられます。または、列車に乗り続けて 28 分後に次の駅で降車すると、徒歩時間は 2 分だけ残されます。ただし、一般的には列車の方が徒歩よりも速いので、歩行による旅行者が、30 分の移動時間制限を超えずに 2 駅間のすべての領域に到達することはできません。したがって、各駅周辺の小さな領域には 30 分以内で到達可能ですが、駅間の大部分の領域には到達可能でないので、30 分の到達圏ポリゴンには、到達可能な駅の周辺のこうした接続されていない領域が個別に含まれることになります。

    5:15 PM の公共交通機関

  2. [到達圏] タブの [到着/出発時間] グループで、[時刻] の値を希望時刻に変更します。たとえば、公共交通機関の本数が少なめの、オフピークの時刻 (午後 2 時など) を選択します。
    メモ:

    [到達圏] タブが表示されない場合は、[コンテンツ] ウィンドウで [到達圏] をクリックしてグループ レイヤーを選択します。

  3. [到達圏] タブで、[実行] 実行 をクリックします。

    到達圏ポリゴンが変更されます。到達圏は、新たな指定時刻に出発した場合に到達できるエリアを表すようになります。使用可能な公共交通機関は時間帯によって変わるため、その公共交通機関によって到達できるエリアも変わります。

    2:00 PM に公共交通機関を利用した場合の到達圏