第11期 成果発表会『東京公共交通オープンデータチャレンジ！』
2021年10月08日
先端IT活用推進コンソーシアム
クラウド・テクノロジー活用部会
キヤノンＩＴソリューションズ株式会社 上村準也
Copyright © 2021 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

はじまり• 朝、出勤前に気になること…
• バスや電車はちゃんと動いている？乗れる？
• 運行情報をつぶやくTwitterアカウントをフォローしたり…
• 機械可読な仕組みを用意すべき（空気を読む家への接続）• 東京公共交通オープンデータチャレンジhttps://tokyochallenge.odpt.org/• エントリーすれば、運行情報をAPIで取得できる！
• 2022年1月31日までは利用できそう• このAPIに詳しくなっても、あまり得はない（すみません！）です
が、現実のデータを扱うのは、勉強になるはず

Copyright © 2021 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

2

作ってみた（１）• 自家製サーバをVPSで稼働情報をServer-Sent Eventsでプッシュ通知

Copyright © 2021 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

3

作ってみた（１）Copyright © 2021 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

4

東京公共交通オープンデータチャレンジ API仕様• JSONで結果を返すシンプルなREST API• エントリーするとAPIキーを取得でき、パラメータに付加• 細かくはJSON-LD形式ということになるが、あまり気にしない（RDF的な活用は難しいかも）• 動的データの更新頻度は結構高い• 静的データには年単位、数か月、数日• 次頁以降はAPIヘルプをイメージで貼ったもの（エントリーしないと見れないので、説明のため引用）

Copyright © 2021 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

5

バス

Copyright © 2021 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

6

バス

Copyright © 2021 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

7

バス

Copyright © 2021 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

8

情報がありません…

Copyright © 2021 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

9

情報がありません…
• 複数の運行業者の情報が均されている• 現時点では、西武バス
都営バスは混雑度の情報が無い

Copyright © 2021 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

10バス停を調べてからバスを

バスにはリアルタイムの座標情報があるが直接検索はできない

Copyright © 2021 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

11

作ってみた（２）Copyright © 2021 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

12東京公共交通オープンデータチャレンジ API仕様• 運行会社はrequired• 発生路線はoptional

Copyright © 2021 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

13

運行情報の実際• 平常時も文言バラバラ• trainInformationStatus は平常時に省略される約束で判別• 前頁の「発生路線がない」パ
ターンは割と頻繁に発生する（複数路線に関わる場合など）• 運行会社の持つ路線の数で文言に傾向ができる「東京臨海高速鉄道」だと「遅れがでています」だけに
Copyright © 2021 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

14

Alexaスキルを作ってみた• フラッシュブリーフィングスキル• https://developer.amazon.com/jaJP/docs/alexa/flashbriefing/understand-the-flash-briefing-skillapi.html• 「ニュースを聞かせて」で呼び出されることが決まっている• ユーザはジャンル、コンテンツの１つとして選択する• フラッシュブリーフィングスキルのフィード• https://developer.amazon.com/jaJP/docs/alexa/flashbriefing/flash-briefing-skill-api-feedreference.html• バックエンドとしてRSSフィードまたは規定の形式のJSONを返す
URLを用意すればOK
Copyright © 2021 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

15作ってみた（３）• 自家製サーバをVPSで稼働
Amazonからのアクセスに対してフィードを提供

Copyright © 2021 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

16ユーザ側の設定ベータテスタとして自分を指名、設定画面に現れる

Copyright © 2021 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

17

開発者コンソール

Copyright © 2021 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

18

ブリーフィングスキルのフィード

Copyright © 2021 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

19

デモ

Copyright © 2021 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

20

おわりに• オープンデータチャレンジAPI開発者の苦労が偲ばれる• 情報の定義をきちんとまとめるだけでも大変そう• 動的＆静的どちらも、単純に情報量が多い• スマホアプリなどを作り始めたら、どんな負荷になるのか• 作ったAlexaスキルはとても実用的で気に入っている• 週に1回くらいしか出勤がないが…

• https://github.com/adzuki-dev/tokyochallenge-java• https://github.com/uemuraj/tokyochallenge-odpt

Copyright © 2021 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

21

最新情報はありがとうございました
こちらをご参照ください
http://aitc.jp

https://www.facebook.com/aitc.jp
ハルミン
AITC非公式イメージキャラクター
Copyright © 2021 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.