Edited at

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

More than 1 year has passed since last update.


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

この度、第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とは限らず、同名の停留所との判別をするための番号です。