4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

東京公共交通オープンデータチャレンジのバスAPIまとめ

4
Last updated at Posted at 2018-08-30

東京公共交通オープンデータチャレンジ

この度、第2回 東京公共交通オープンデータチャレンジ というオープンデータを用いたコンテストに参加することになりました。

そこで、複数人でやる上で各APIが何を表しているのかが少々分かりづらく、毎回長い仕様から探しだすのも手間かと思ったので、メモがてら記録したものを、バスAPIのものに限りますが投稿します。簡単にまとめて、かつ確実性も薄いところがあるので、詳しい情報は仕様書を読んでください。

APIの種類

バスについては、6種類のAPIが用意されていました。

  • Bus:バスの運行情報
  • BusstopPole:バス停(標柱)の情報
  • BusroutePattern:路線の系統情報
  • BusstopPoleTimetable:時刻表
  • BusroutePatternFara:運賃情報
  • BusTimetable:ある一つのバスがそれぞれの停留所に止まる時間(時刻表)

ではそれぞれを詳しく説明していきます。

Bus:バスの運行情報

この運行情報とは、バス1つ1つ、それぞれのバスのリアルタイムの運行情報のことを意味しています。

名前 説明
@.id データの固有識別ID
dc:date データ生成日付
odpt:note 路線、方面:直前の停留所
owl:sameAs バスのID
odpt:busroute 路線のID
opdt:operator 運営会社
odpt:frequency データの更新頻度
odpt:toBusstoppole 次の停留所のID
odpt:toBusstopPattern バス車両の運行系統のID
odpt:fromBusstopPole 直前の停留所名
odpt:fromBusstopPoleTime 直前の停留所についた(通過した)時間
odpt:startingBusstopPole 始発駅のID
odpt:terminalBusstopPole 終着駅のID

やはり注目するのは前後の停留所名や、直前の停留所についた時間でしょうか。

BusstopPole:バス停(標柱)の情報

それぞれのバス停に関する情報です。

名前 説明
@.id バス停(標柱)のID
dc:date データ生成日付
geo:lat 停留所の緯度
dc:title バス停の名前
geo:long バス停の経度
odpt:kana バス停のかなよみ
odpt:note バス停の名前:バス停の番号(?)
ug:region 地物情報
owl:sameAs バス停のID
odpt:operator 運営会社ID
odpt:busLocationURL 各路線のリンク
odpt:busroutePatttern 運行中の系統(?)
odpt:busstopPoleNumbre 停留所番号1
odpt:busstopPoleTimetable 停留所の時刻表分類(?)

バス停のかなり細かな緯度経度が分かるため、バス停を何かに用いる場合は必須と思われます。
また、ここで初めて出てきた ug:region ですが、何度か出てきたものの、多くが値の入ってない状態でした。

BusroutePattern:路線の系統情報

バスの運行系統や、実際にどの駅にどういう順番で止まるかなどの情報があります。

名前 説明
@.id 運行系統のID
dc:date データ生成日付
dc:title バス系統
odpt:kana バス路線名称のよみがな
odpt:note 系統、区間
odpt:region 地物情報
owl:sameAs 運行系統ID
odpt:pattern 系統パターン
odpt:busroute 系統ID
odpt:direction 方向
odpt:busstopPoleOrder 下記表参照

〇〇行、渋〇 といった、情報が入っており、
また odpt:busstopPoleOrder の中がさらにリストとなっていて、

名前 説明
odpt:note 停留所名
odpt:index 止まる順番
odpt:busstopPole 路線ID(運営会社,停留所)

これらの情報がリストとしてありました。
odpt:index は0から始まっているため、このインデックス0が始発駅だと思われます。

BusstopPoleTimetable:時刻表

私たちが日常生活で見る、停留所などに貼ってある時刻表が情報として記されています。

名前 説明
@.id バス停(標柱)の時刻表のID
dc:date データ生成日付
dc:title バスの種類
owl:sameAs バス停(標柱)時刻表のID
odpt:busroute 路線のID
odpt:calendar 曜日
operator 運営会社
odpt:busstopPole 路線の始発駅
odpt:busDirection 方面のID
odpt:busstopPoleTimetableObject 下記表参照

時刻表は、平日・土曜日・休日の3種類あるため、 odpt:calendar にその情報が入っています。
また、 odpt:busstopPole というのは、その時刻表が対応している路線の始発駅を示すID、その下は終着駅を示すIDです。

そして odpt:busstopPoleTimetableObject の中身はこちらです。

名前 説明
odpt:isMidnitht 深夜バス
odpt:isNonStepBus ノンステップバス
odpt:departuerTime 出発時刻
odpt:destinationSign 方面(終着駅)
odpt:destinationBussstopPole バス停(標柱)ID
このうち、上二つは真偽値で記されていて、その出発時刻のバスが深夜バスか否か、ノンステップバスか否かが分かります。
これらが、そのバス停の朝1から終バスまで、順番にリストで入っています。

BusroutePatternFara:運賃情報

それぞれのバスの運賃についての情報です

名前 説明
@.id ID
dc:date データ生成日付
owl:sameAs 路線情報ID(運営会社、乗車駅、降車駅)
odpt:operator 運営会社
odpt:ticketFare 料金
odpt:toBusstopPole 降車バス停標柱
odpt:childTicketFare 子供料金
odpt:fromBusroutePattern 乗車バス停標柱
odpt:toBusstopPattern 降車系統パターン
odpt:toBusstopPoleOrder 停留所(標柱)通過順
odpt:fromBusstoppoleOrder 乗車系統パターン
odpt:fromBusstopPoleorder 乗車停留所の系統パターン内の停留所(標柱)通過順
どこでバスにのり、どこでバスを降りたか。そしてその場合の料金が入っています。
また、 odpt:toBusstopPoleOrder については恐らくとしか言えませんが、降車停留所が始発駅から何駅目か。を表しているのではないかと思います。乗車の方も同じです。

また、このAPIを実際にたたいた時、なぜか運営会社がJRバス関東の情報しか確認できませんでした。偶々見たデータがその会社しかなかったのか。JSONの上の方にJRバス関東が表示される傾向があったのか。理由はわかりません。

BusTimetable:ある一つのバスがそれぞれの停留所に止まる時間(時刻表)

バスが始発駅から終着駅まで、どのような時間にそれぞれの停留所に到着するかが情報としてあります。

名前 説明
@.id バス時刻表のID
dc:date データ生成日付
dc:title 系統
opdt:note 路線(系統:始発駅:曜日:時間)
owl:sameAs 時刻表ID
odpt:busroute 路線のID
odpt:calendar 曜日
opdt:operator 運営会社
opdt:busroutePattern 系統のID
opdt:busTimetableObject 下記表参照

時刻表なので、平日・土曜・休日の区別をつけるためのものが odpt:calendar かと思われます。
また今までと同様に opdt:busTimetableObject の中は、

名前 説明
opdt:index 停留所の順番(1から)
opdt:busstopPole 路線ID
opdt:departureTime 出発時間
opdt:destinationSing 方面

となっています。これは、インデックスが1から始発駅が順番に並んでいて、各停留所にバスが止まる順番に並んでいて、それぞれ出発時刻も記してあります。一駅ごとにある電車が到着する時間を確認すれば、それと同じ値になっていることが分かると思います。

まとめ

あくまで、自分たちが分かりやすいように記録したものなので、間違いがあったり、分かりずらい表現があるかもしれませんので、そういうときはAPI仕様書をご確認ください。

また、一部何を表しているのか(API仕様書を読んでも)分かりずらかったり、どうしてその順番に並んでいる?と思うような場所もあり、そのような声は第1回のときからあったようなので、主にAPI仕様書がもう少し詳しく書かれるようになることを願っています。

  1. odpt:busstopPoleNumbre ですが、これはその停留所そのもののIDとは限らず、同名の停留所との判別をするための番号です。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?