静的バス情報フォーマット(GTFS-JP)の概要

「GTFS-JP」は「標準的なバス情報フォーマット」における静的データフォーマットであり、国際的に広く利用されている公共交通用データフォーマット「GTFS」を基本に、日本の状況を踏まえて拡張されたものです。GTFS-JPはGTFSとも互換性があるため、Googleマップをはじめとした海外の事業者へも情報提供を行うことが可能になっています。

GTFS(General Transit Feed Specification)とは

公共交通機関の時刻表とその地理的情報に使用される共通形式を定義したもので、当初はGoogle社向けのフォーマットとして作成されていました。現在はオープン化され、誰もが使用できるものとなっています。 零細事業者の利用も視野に、テキストエディタや表計算ソフトでの閲覧が容易なCSV形式を採用し、仕様がオープン化されていることから、北米・欧州を中心に海外で幅広くデータが整備されています。Googleマップなどの海外の経路検索サービスにおいても利用されています。

なお、本版のGTFS-JPは、平成29年1月時点のGoogle社の日本語版GTFSリファレンスに基づいています。ただし、それ以降のバージョンのGTFSフォーマットの利用を妨げるものではありません。

GTFSを基本とした理由

GTFSを「標準的なバス情報フォーマット」の静的データフォーマットの基本とした理由は下記等があります。

  1. 一般的なテキストエディタや表計算ソフトで編集可能なCSV形式なため、バス事業者においても扱いやすい
  2. データ項目やデータ形式が経路検索に利用可能なことが確認されている
  3. データ項目等を定義するレファレンスが早期に整備可能である
  4. Googleマップ等の経路検索サービスやライブラリ等が早期に利用可能である

フォーマットの構成

GTFS-JPは、17のCSVファイルで構成されており、CSVファイル間の相関関係は図表 1のとおりです。これら17のCSVファイルをzip形式で1つにまとめて、データの受渡を行います。 それぞれの項目の設定方法については、「2. 各項目の設定方法」に詳細を記載しています。

「GTFS-JP」相関図 図表 1 「GTFS-JP」相関図

日本向け拡張仕様について

GTFS-JPでは、日本の事情に合わせてGTFSを拡張しています。

拡張方法

ファイルや項目の追加(日本独自または非標準の採用)、ファイルや項目の必須化、その他既定があります。

GTFSとの互換性

GTFSの仕様違反にはならない範囲で拡張しているため、GTFS用のサービスやツールにおいてGTFS-JPデータを用いた際にエラーになることはほぼありませんが、追加項目や設定方法について警告が表示される場合があります。

命名規則

日本独自の追加については、ファイル名の後ろに「jp」、項目名の前に「jp」を付加しています。

以下に、具体的な拡張事項について記載します。

申請情報の追加(日本独自)

  • ファイル追加 事業者追加情報(agency_jp.txt), 経路追加情報(routes_jp.txt)
  • 項目追加 路線ID(routes.jp_parent_route_id)
  • 理由 運輸行政への届出用データの自動出力を将来的に可能にするため、および複数経路を路線として束ねた時刻表案内等を可能にするため。(初版)

営業所情報の追加(日本独自)

  • ファイル追加 営業所情報(office_jp.txt)
  • 項目追加 営業所ID(routes.jp_office_id)
  • 理由 営業所単位の問い合わせ先を案内可能にするため。(初版)

便情報の追加(日本独自)

  • 項目追加 便情報(trip.jp_trip_desc), 便記号(trip.jp_trip_desc_symbol)
  • 理由 便単位の詳細情報を案内可能にするため。(初版)

翻訳情報の追加(非標準の採用)

  • ファイル追加 翻訳情報(translations.txt, Google乗換案内拡張機能)
  • 理由 ふりがな、外国語案内の必要性が高いため。(初版)

のりば情報の追加(非標準の採用)

  • 項目追加 のりば情報(stops.platform_code, Google乗換案内拡張機能)
  • 理由 停留所名と独立してのりば名を設定可能にするため。(第2版)

運賃の必須化

  • ファイル必須化 運賃属性情報(fare_attributes.txt)、運賃定義情報(fare_rules.txt)
  • 理由 国内の経路検索事業者において運賃は必須情報であるため。(第2版)

よみがなの必須化

  • ファイル必須化 翻訳情報(translations.txt)
  • レコード必須化 よみがな(lang=ja-Hrkt)の設定
  • 理由 国内の経路検索事業者においてよみがなは必須情報であるため。(第2版)

事業者IDの必須化

  • 項目必須化 事業者ID(agency.agency_id, routes.agency_id)
  • 理由 事業者の名称や問い合わせ先等の情報を明確にするため。(初版)

経路を通過停留所別・方向別に分けることを原則化

  • 対象項目 経路ID(route.route_id)
  • 理由 通過経路や方向によって運賃が異なる場合に対応するため。(初版では必須、第2版では原則)

必須項目について

フォーマットを作成する上で、ファイル、項目の必要性について区分を以下のように定義しています。

  • 必須:必ず設定する必要がある項目。GTFS-JPとして新たに必須にした項目も含まれる。
  • 条件付き必須:関連する項目のどちらかは必ず設定するなど、条件付きで必須な項目
  • 任意:充実した情報提供のため可能であれば設定することが望ましい項目

必須および条件付き必須項目について、データ作成が困難なためやむを得ず設定できない場合は、データの対応フォーマットとして非対応項目を明示するようにしてください。(例:GTFS-JP(運賃非対応)」。その場合、経路検索事業者等がデータを取り込めない可能性があるため、取込の条件や代替手段について、データ提供者と利用者で相談するようにしてください。

データ作成にあたっての留意点

ファイル構成

  • 使用するすべてのファイルはコンマ区切りのテキストファイルとして保存。
  • 任意のファイルは省略可能。
  • すべてのファイルをまとめて zip 形式で圧縮。

利用可能文字等

  • 各行の末尾は CRLFまたはLFの改行文字で終わらせ、文字コードはUTF-8で保存。
  • 引用符またはコンマを含むデータは引用符で囲むことが必要。元のデータに引用符がある場合もそれぞれ引用符で囲むことが必要。
例)元のフィールド値: 新宿高速バスターミナル"バスタ新宿",新宿WEバス
→ CSV ファイルのフィールド値: "新宿高速バスターミナル""バスタ新宿"",新宿WEバス
  • データにHTMLタグ、コメント、エスケープシーケンスは使用不可。
  • フィールド名、データの間にある余分なスペースはすべて削除。
  • シフトJISにて環境依存となる文字は、表示側で不具合が生じる、または加工される可能性があるため、なるべく使わないことが望ましい。

フィールド

  • 各ファイルの最初の行はフィールド名(例:[agency_id]や[agency_name]等)とする。
  • すべてのフィールド名で大文字と小文字が区別される。
  • フィールド値にタブ、キャリッジ リターン、改行コードなどは使用不可。
  • フィールドの並び順は任意。
  • 任意項目はフィールドごと省略しても、値を全て空にしてもよい。
  • 独自のファイルやフィールドを定義しても構わない。ただしGTFS-JPとしての拡張との混同を避けるため、ファイル名の後ろに「jp」、項目名の前に「jp」を付けないこと。