GTFS → 公共交通機関データ モデル (GTFS To Public Transit Data Model) (公共交通機関)

サマリー

1 つ以上の「GTFS (General Transit Feed Specification) 公共交通機関データセット」を、「Network Analyst 公共交通機関データ モデル」で定義された形式で交通機関ストップ、ライン、およびスケジュールを表す一連のフィーチャクラスとテーブルに変換します。

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

  • Stops
  • LineVariantElements
  • LVEShapes (オプション)
  • Calendars
  • CalendarExceptions
  • Lines
  • LineVariants
  • Runs
  • ScheduleElements
  • Schedules

このツールから生成された出力を [公共交通機関データ モデルを道路へ接続 (Connect Public Transit Data Model To Streets)] ツールへの入力値として使用し、交通機関に対応したネットワーク データセットに必要なすべての入力値を準備することができます。 この種のネットワーク データセットを作成する完全なワークフローについては、公共交通機関データを使用したネットワーク データセットの作成と使用をご参照ください。

このツールから生成された出力は、[交通機関サービスの頻度を計算 (Calculate Transit Service Frequency)] ツールへの入力値として使用することもできます。

使用法

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

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

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

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

  • このツールは 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 フィーチャの形状を手動で編集できますが、このフィーチャを分割したり、マージしたり、隣接するストップから切断したりすることはできません。

    公共交通機関ラインのカートグラフィック表示では、[shapes.txt から LVEShapes を作成] パラメーターを使用して、LVEShapes フィーチャクラスを shapes.txt ファイルから作成することができます。

  • オプションの LVEShapes フィーチャクラスを生成する場合、このツールの実行時間は長くなります。

  • 同じ 2 つのストップ間で、複数の GTFS ルートか、同一ルートのバリエーションがサービスを提供している場合、サービスを提供しているルートかルート バリエーションごとに 1 つの LineVariantElements フィーチャが作成されます。

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

    同様に、route_id 15 が 2 つの異なる終着ステーションに乗り入れているが、すべての route_id 15 の移動が終着ステーションに関係なく特定の 2 つのストップ間を結ぶ場合、終着ステーションごとに 1 つの LineVariantElements フィーチャが作成されます。この結果、一致する 2 つの LineVariantElements フィーチャが作成されます。 このようなルート バリエーションは、通常、GTFS データセットの異なる shape_id 値に対応します。

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

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

パラメーター

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

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

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

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

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

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

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

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

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

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

  • オン - データが、既存のフィーチャクラスおよびテーブルに追加されます。
  • オフ - データが追加されません。 既存のフィーチャクラスおよびテーブルが上書きされます。 これがデフォルトです。
Boolean
shapes.txt から LVEShapes を作成
(オプション)

GTFS データセット内の shapes.txt ファイルを使用して LVEShapes フィーチャクラスを作成するかどうかを指定します。

LVEShapes フィーチャクラスはネットワーク データセットに基づくルート検索には使用されませんが、[交通機関サービスの頻度を計算 (Calculate Transit Service Frequency)] ツールを使用した出力視覚化の改善に使用することができます。

  • オン - LVEShapes フィーチャクラスが作成されます。
  • オフ - LVEShapes フィーチャクラスは作成されません。 これがデフォルトです。
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
出力 LVEShapes

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

Feature Class

arcpy.transit.GTFSToPublicTransitDataModel(in_gtfs_folders, target_feature_dataset, {interpolate}, {append}, {make_lve_shapes})
名前説明データ タイプ
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

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

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

Feature Dataset
interpolate
(オプション)

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

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

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

  • APPENDデータが、既存のフィーチャクラスおよびテーブルに追加されます。
  • NO_APPENDデータが追加されません。 既存のフィーチャクラスおよびテーブルが上書きされます。 これがデフォルトです。
Boolean
make_lve_shapes
(オプション)

GTFS データセット内の shapes.txt ファイルを使用して LVEShapes フィーチャクラスを作成するかどうかを指定します。

LVEShapes フィーチャクラスはネットワーク データセットに基づくルート検索には使用されませんが、[交通機関サービスの頻度を計算 (Calculate Transit Service Frequency)] ツールを使用した出力視覚化の改善に使用することができます。

  • MAKE_LVESHAPESLVEShapes フィーチャクラスが作成されます。
  • NO_MAKE_LVESHAPESLVEShapes フィーチャクラスは作成されません。 これがデフォルトです。
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
output_lve_shapes

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

Feature Class

コードのサンプル

GTFSToPublicTransitDataModel の例 1 (Python ウィンドウ)

次のスクリプトは、Python ウィンドウでの GTFSToPublicTransitDataModel 関数の使用方法を示しています。

fd_path = r"E:\TransitAnalysis\TransitNetwork.gdb\TransitNetwork"
arcpy.transit.GTFSToPublicTransitDataModel([r"E:\GTFS\Agency1", r"E:\GTFS\Agency2"], fd_path)
GTFSToPublicTransitDataModel の例 2 (スタンドアロン スクリプト)

次のスタンドアロン Python スクリプトは、GTFSToPublicTransitDataModel 関数と ConnectPublicTransitDataModelToStreets 関数を併用して、交通機関に対応したネットワーク データセットを作成する方法を示しています。

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.transit.GTFSToPublicTransitDataModel(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.transit.ConnectPublicTransitDataModelToStreets(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

関連トピック