GTFS → ネットワーク データセット トランジット ソース (GTFS To Network Dataset Transit Sources) (変換)

サマリー

1 つ以上の GTFS (General Transit Feed Specification) 公共交通機関データセットを、ネットワーク データセットの作成時に使用できる一連のフィーチャクラスとテーブルに変換します。 出力フィーチャクラスとテーブルは、Network AnalystNetwork Analyst 公共交通機関データ モデルで定義されている形式でトランジット ストップ、ライン、およびスケジュールを表します。これらのデータは、ネットワーク データセットの公共交通機関エバリュエーターによる解釈が可能です。

このツールによって生成される公共交通機関データ モデルのフィーチャクラスとテーブルには次のようなものがあります。

  • Stops
  • LineVariantElements
  • Calendars
  • CalendarExceptions
  • Lines
  • LineVariants
  • Runs
  • ScheduleElements
  • Schedules

このツールからの出力は、トランジット対応ネットワーク データセットに必要なすべての入力を準備する [ネットワーク データセット トランジット ソースを道路へ接続 (Connect Network Dataset Transit Sources To Streets)] ツールへの入力として使用できます。 この種のネットワーク データセットを作成する完全なワークフローについては、「公共交通機関データを含むネットワーク データセットの作成および使用」をご参照ください。

使用法

  • すべての入力 GTFS データセットのデータは同一の出力テーブルとフィーチャクラスのセットに結合されます。 一般的に、複数の入力 GTFS データセットを使用する目的は、複数のトランジット サービス プロバイダーが同一の地理的エリアで営業している大都市圏をモデル化することにあります。

  • このツールは、一般的なデータの問題をチェックするために、各入力 GTFS データセットに対して整合チェックを実行します。 問題が見つかった場合、ツールは警告を出力して、そのデータセットの処理をスキップします。 ツールの出力には、正常に処理された入力 GTFS データセットからのデータのみが含まれます。 一部の GTFS データセットが正常に処理され、一部はデータの問題のために処理されなかった場合は、[既存のテーブルへ追加] パラメーターを [True] に設定してツールを再実行することで、データの問題を解決して、修正された GTFS データセットを既存のツールの出力に追加できます。

  • 入力 GTFS データセットごとに、stops.txtroutes.txttrips.txt、および stop_times.txt ファイルが含まれている必要があり、加えて、calendar.txt または calendar_dates.txt ファイルのいずれか、もしくはその両方が含まれている必要があります。 存在している場合、frequencies.txt ファイルが使用されます。

  • GTFS の stop_times.txt ファイルの arrival_time および departure_time フィールドには空白値を使用できますが、Network Analyst 公共交通機関データ モデルでは、正確な時間をネットワーク データセットの公共交通機関エバリュエーターで使用することが求められます。 すべての arrival_time フィールドと departure_time フィールドに対して明示的な値を持たない stop_times.txt ファイルで入力 GTFS データセットの到着時間と出発時間を推定するには、[空白の停止時間を内挿] パラメーターを [True] に設定します。

  • このツールは GTFS の stops.txt ファイルの stop_lat および stop_lon フィールドにある緯度と経度の値を使用して Stops フィーチャクラスを構築します。

  • GTFS の stops.txt ファイルの stop_lat フィールドと stop_lon フィールドは、ストップの緯度と経度を定義します。 ストップの location_type フィールドの値が 3 または 4 である場合、これらのフィールドに NULL を指定できます。 ただし、このツールはストップを表す地理フィーチャを作成するため、緯度や経度を持たないストップはマッピングできません。 したがって、location_type の値が 3 または 4 で、stop_lat または stop_lon が NULL 値のストップはスキップされ、ツールの出力には含まれません。

  • このツールは、交通機関での移動によって直接接続される 2 つのストップ間ごとに直線を作成して LineVariantElements フィーチャを構築します。

    注意:

    LineVariantElements フィーチャは、バスや列車などの公共交通機関の車両が進む実際の地理的経路を表すためのものではなく、交通網内の論理的な接続を表します。 LineVariantElements フィーチャは視覚化のために使用されることを意図していません。 ネットワーク データセットの公共交通機関エバリュエーターでは、公共交通機関のスケジュールを使用して、LineVariantElements フィーチャを通過するのに必要な移動時間を決定します。したがって、このフィーチャの形状および長さは重要ではありません。 必要な場合は、LineVariantElements フィーチャの形状を手動で編集できますが、このフィーチャを分割したり、マージしたりすることはできません。

  • 同じ 2 つのストップ間で複数の GTFS ルートがサービスを提供している場合、サービスを提供している GTFS route_id ごとに 1 つの LineVariantElements フィーチャが作成されます。 たとえば、バス 10 とバス 47 が両方とも同じ 2 つのストップ間を移動し、その中間に他のストップがない場合、このツールは、バス 10 とバス 47 用に 1 つずつ、2 つの LineVariantElements フィーチャを生成します。 これらの 2 つのライン フィーチャは地理的に一致します。

  • 公共交通機関データ モデルでは、特定の名前を持つフィーチャクラスとテーブルが必要とされるため、公共交通機関データ モデルのフィーチャクラスとテーブルのセットは同じジオデータベースに 1 つしか含めることはできません。 ターゲット フィーチャ データセットは、公共交通機関データ モデルのフィーチャクラスを含む既存のフィーチャ データセットが存在するジオデータベースに含めることはできません。

  • ターゲット フィーチャ データセットがエンタープライズ ジオデータベースにある場合は、バージョン対応にはできません。 このツールを実行する前に、フィーチャ データセットのデータをリコンサイルおよびポストし、データのバージョン対応登録を解除してください。

パラメーター

ラベル説明データ タイプ
入力 GTFS フォルダー

有効な GTFS データを含む 1 つ以上のフォルダー。 フォルダーごとに、GTFS の stops.txtroutes.txttrips.txt、および stop_times.txt ファイルが含まれている必要があり、加えて、calendar.txt または calendar_dates.txt ファイルのいずれか、もしくはその両方が含まれている必要があります。

Folder
ターゲット フィーチャ データセット

交通機関に対応したネットワーク データセットが作成されるフィーチャ データセットです。 このツールによって作成される Stops および LineVariantElements フィーチャクラスがこのフィーチャ データセットに配置され、このツールによって作成される出力テーブルがこのフィーチャ データセットの親ジオデータベースに配置されます。

このフィーチャ データセットはファイル ジオデータベースまたはエンタープライズ ジオデータベースのいずれかに含まれ、任意の空間参照を使用できます。 ターゲット フィーチャ データセットがエンタープライズ ジオデータベースにある場合は、バージョン対応にはできません。 ターゲット フィーチャ データセットは、公共交通機関データ モデルのフィーチャクラスを含む既存のフィーチャ データセットが存在するジオデータベースに含めることはできません。

Feature Dataset
空白の停止時間を内挿
(オプション)

公共交通機関データ モデル テーブルを作成するときに、GTFS の stop_times.txt ファイルの arrival_time フィールドと departure_time フィールドの空白値を内挿するかどうかを指定します。

  • オン - 単純なリニア内挿法を使用して空白値を内挿します。 元の GTFS データは変更されません。 元のデータに空白値がない場合、内挿は実行されません。
  • オフ - 空白値は内挿されません。 入力 GTFS データに空白値が見つかった場合、ツールは警告を出力して、GTFS データセットを処理しません。 これがデフォルトです。
Boolean
既存のテーブルに追加
(オプション)

入力 GTFS データセットを、ターゲット フィーチャ データセットとその親ジオデータベース内にある既存の公共交通機関データ モデルのフィーチャクラスおよびテーブルに追加するかどうかを指定します。

ターゲット フィーチャ データセットとその親ジオデータベースに既存の公共交通機関データ モデルのフィーチャクラスおよびテーブルが含まれていない場合、このパラメーターは非表示になります。

  • オン - データが既存のフィーチャクラスおよびテーブルに追加されます。
  • オフ - 既存のフィーチャクラスおよびテーブルが上書きされます。 これがデフォルトです。
Boolean

派生した出力

ラベル説明データ タイプ
更新されたターゲット フィーチャ データセット

新しいフィーチャクラスが追加されたフィーチャ データセット。

Feature Dataset
出力ストップ

Network Analyst 公共交通機関データ モデルの Stops フィーチャクラス。

Feature Class
出力ライン バリアント エレメント

Network Analyst 公共交通機関データ モデルの LineVariantElements フィーチャクラス。

Feature Class
出力カレンダー

Network Analyst 公共交通機関データ モデルの Calendars テーブル。

Table
出力カレンダー例外

Network Analyst 公共交通機関データ モデルの CalendarExceptions テーブル。

Table
出力ライン

Network Analyst 公共交通機関データ モデルの Lines テーブル。

Table
出力ライン バリアント

Network Analyst 公共交通機関データ モデルの LineVariants テーブル。

Table
出力実行

Network Analyst 公共交通機関データ モデルの Runs テーブル。

Table
出力スケジュール エレメント

Network Analyst 公共交通機関データ モデルの ScheduleElements テーブル。

Table
出力スケジュール

Network Analyst 公共交通機関データ モデルの Schedules テーブル。

Table

arcpy.conversion.GTFSToNetworkDatasetTransitSources(in_gtfs_folders, target_feature_dataset, {interpolate}, {append})
名前説明データ タイプ
in_gtfs_folders
[in_gtfs_folders,...]

有効な GTFS データを含む 1 つ以上のフォルダー。 フォルダーごとに、GTFS の stops.txtroutes.txttrips.txt、および stop_times.txt ファイルが含まれている必要があり、加えて、calendar.txt または calendar_dates.txt ファイルのいずれか、もしくはその両方が含まれている必要があります。

Folder
target_feature_dataset

交通機関に対応したネットワーク データセットが作成されるフィーチャ データセットです。 このツールによって作成される Stops および LineVariantElements フィーチャクラスがこのフィーチャ データセットに配置され、このツールによって作成される出力テーブルがこのフィーチャ データセットの親ジオデータベースに配置されます。

このフィーチャ データセットはファイル ジオデータベースまたはエンタープライズ ジオデータベースのいずれかに含まれ、任意の空間参照を使用できます。 ターゲット フィーチャ データセットがエンタープライズ ジオデータベースにある場合は、バージョン対応にはできません。 ターゲット フィーチャ データセットは、公共交通機関データ モデルのフィーチャクラスを含む既存のフィーチャ データセットが存在するジオデータベースに含めることはできません。

Feature Dataset
interpolate
(オプション)

公共交通機関データ モデル テーブルを作成するときに、GTFS の stop_times.txt ファイルの arrival_time フィールドと departure_time フィールドの空白値を内挿するかどうかを指定します。

  • INTERPOLATE単純なリニア内挿法を使用して空白値を内挿します。 元の GTFS データは変更されません。 元のデータに空白値がない場合、内挿は実行されません。
  • NO_INTERPOLATE空白値は内挿されません。 入力 GTFS データに空白値が見つかった場合、ツールは警告を出力して、GTFS データセットを処理しません。 これがデフォルトです。
Boolean
append
(オプション)

入力 GTFS データセットを、ターゲット フィーチャ データセットとその親ジオデータベース内にある既存の公共交通機関データ モデルのフィーチャクラスおよびテーブルに追加するかどうかを指定します。

  • APPENDデータが既存のフィーチャクラスおよびテーブルに追加されます。
  • NO_APPEND既存のフィーチャクラスおよびテーブルが上書きされます。 これがデフォルトです。
Boolean

派生した出力

名前説明データ タイプ
updated_target_feature_dataset

新しいフィーチャクラスが追加されたフィーチャ データセット。

Feature Dataset
output_stops

Network Analyst 公共交通機関データ モデルの Stops フィーチャクラス。

Feature Class
output_line_variant_elements

Network Analyst 公共交通機関データ モデルの LineVariantElements フィーチャクラス。

Feature Class
output_calendars

Network Analyst 公共交通機関データ モデルの Calendars テーブル。

Table
output_calendar_exceptions

Network Analyst 公共交通機関データ モデルの CalendarExceptions テーブル。

Table
output_lines

Network Analyst 公共交通機関データ モデルの Lines テーブル。

Table
output_line_variants

Network Analyst 公共交通機関データ モデルの LineVariants テーブル。

Table
output_runs

Network Analyst 公共交通機関データ モデルの Runs テーブル。

Table
output_schedule_elements

Network Analyst 公共交通機関データ モデルの ScheduleElements テーブル。

Table
output_schedules

Network Analyst 公共交通機関データ モデルの Schedules テーブル。

Table

コードのサンプル

GTFSToNetworkDatasetTransitSources (GTFS → ネットワーク データセット トランジット ソース) の例 1 (Python ウィンドウ)

次のスクリプトは、Python ウィンドウで GTFSToNetworkDatasetTransitSources ツールを使用する方法を示しています。

fd_path = r"E:\TransitAnalysis\TransitNetwork.gdb\TransitNetwork"
arcpy.conversion.GTFSToNetworkDatasetTransitSources([r"E:\GTFS\Agency1", r"E:\GTFS\Agency2"], fd_path)
GTFSToNetworkDatasetTransitSources (GTFS → ネットワーク データセット トランジット ソース) の例 2 (スタンドアロン スクリプト)

次のスタンドアロン Python スクリプトは、GTFSToNetworkDatasetTransitSources および ConnectNetworkDatasetTransitSourcesToStreets ツールを併用してトランジット対応ネットワーク データセットを作成する方法を示しています。

import os
import arcpy
arcpy.CheckOutExtension("network")

gtfs_folders = [
    r"E:\GTFS\Agency1",
    r"E:\GTFS\Agency2"
]
streets_orig = r"E:\Data\StreetData.gdb\Streets"

working_folder = r"E:\TransitAnalysis"
nd_template = os.path.join(working_folder, "TransitNetworkTemplate.xml")
gdb_name = "TransitNetwork.gdb"
out_gdb = os.path.join(working_folder, gdb_name)
fd_name = "TransitNetwork"
fd_path = os.path.join(out_gdb, fd_name)
streets = os.path.join(fd_path, "Streets")
nd_name = "TransitNetwork_ND"
nd_path = os.path.join(fd_path, nd_name)

# Create a file geodatabase and feature dataset to store the network dataset
arcpy.management.CreateFileGDB(working_folder, gdb_name)
arcpy.management.CreateFeatureDataset(out_gdb, fd_name, arcpy.SpatialReference(4326))

# Copy the streets data into the feature dataset so it can be used by the network dataset
# If the original streets are not in the same spatial reference as the feature dataset, you might
# need to use the Project tool instead of Copy.
arcpy.management.Copy(streets_orig, streets)

# Convert the GTFS dataset into public transit data model tables and feature classes
arcpy.conversion.GTFSToNetworkDatasetTransitSources(gtfs_folders, fd_path)

# Connect the transit stops to the streets and create the rest of the data model feature classes
# Use an expression to connect transit stops only to streets where pedestrians are allowed.
where = "PedestriansAllowed = 1"
arcpy.conversion.ConnectNetworkDatasetTransitSourcesToStreets(fd_path, streets, "100 meters", where)

# Create the network dataset from a template
arcpy.na.CreateNetworkDatasetFromTemplate(nd_template, fd_path)

# Build the network dataset
arcpy.na.BuildNetwork(nd_path)

環境

このツールは、ジオプロセシング環境を使用しません。

ライセンス情報

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

関連トピック