ヴァル研究所 Advent Calendar 2017 20日目の記事です。
今日はちょっとポエミーな話をしつつ、公共交通向けAPIへの新しい取り組み(まだβ版だけど!)についてご紹介できればと思います。
経路探索だけでなくゲームでも使われている駅すぱあとWebサービス
ヴァル研究所では駅すぱあとWebサービスを通じて、駅すぱあとの機能をWebAPIとして提供しています。
お客様の利用事例としては、公共交通機関を利用した移動時の経路探索、定期券や会社での交通費精算から、ゲームアプリでの利用という、ちょっと意外な事例もあります。
お客様からの問い合わせの中には、「なるほど、こういう活用方法もあるのか!たしかにこれができたら便利かも!」とこちらが逆に気づかされることもあり、WebAPIでサービスを提供することは新鮮に思えることが多いです(逆にどう使われるのかが想像しきれず悩むこともあります...)。
もっとWebAPIを活用して世界を便利にしたい!
WebAPIによるオープンデータの活用
駅すぱあとWebサービスを活用することで、駅の情報や時刻表といったデータを取得・利用できますが、公共交通に関連するデータはさまざまな種類があり、全てをカバーしきれているわけではありません。
公共交通に関連するデータとしてホットな話題として、オープンデータが挙げられます。地方自治体の中には、駐輪場や地域のリアルタイムな交通情報といったデータをオープンデータとして公開しているところもあり、これらのデータをWebAPIとして活用できたら、世界はもっと便利になるのでは...! と思ってしまうのです。
世界をWebAPIで便利にしてみよう!(まだβ版だけど)
こういった公共交通に関するオープンデータを活用する試みとして、ValAPIsというサービスを作ろうとしています。まだβ版なので不安定なところはありますが、弊社のエヴァンジェリストがあちこちの技術系LT等で折に触れてValAPIsの紹介をしておりますので、ValAPIsや「こんなデータあるけどAPI化したいんだよねー」といった、ご興味のある方はぜひお話を聞かせてもらえればと思います。
(WebAPI談義をしたい、というのもあります...)
ValAPIs、どんなAPIを提供しているの?
で、どんなAPIを提供しているの?という話ですが、まだβ版、まだβ版なので、以下の2つのAPIに留まっています...。
(とはいえ、API事態は日々改善を続けています!)
実際にValAPIsのAPIを呼んでみる
例として、駐輪場APIを呼んでみましょう。リクエストパラメータに name=秋葉原
と指定すると、「秋葉原」という名称を含んだ駐輪場のみを抽出できます。また、 fields
パラメータに必要なフィールドのみを指定してレスポンスを取得することができます(指定可能なフィールド名は駐輪場API(ドキュメント)をご参照ください)。
$ curl -s 'http://valapis.jp/v1/bicycle_parkings?name=秋葉原&fields=code,name,latitude,longitude,neighborStations.name' | jq .
{
"resultSet": {
...
"dataSet": {
"max": 1478,
"offset": 1,
"bicycleParkings": [
{
"code": 1,
"name": "秋葉原駅東口第1自転車駐車場",
"neighborStations": [
{
"name": "秋葉原駅前/都営バス"
},
{
"name": "秋葉原駅(高速・連絡バス)"
},
...
"latitude": 35.699715,
"longitude": 139.773078
}
]
}
}
}
駅すぱあとの駅情報と連携してもっと便利に活用しよう
実は駅すぱあとの駅情報を活用しているので、駐輪場データ自体はオープンデータだけど、駐輪場の最寄り駅情報も一度に取得可能という、地味に便利な利用も可能なのです。
開発者としては「(まだβ版だけど)これ便利かも...」と思うこともあるのですが、どんな活用方法があるのか想像しきれていません。LTやハンズオンのようなイベントを通じて、ValAPIsを広く知ってもらう過程で活用方法やアイデアが見えてくるはず、と考えています。
まとめ
ValAPIsという、公共交通に関する新しいAPIサービスについて紹介させていただきました。12/1の記事で紹介した、地図への情報マッピングの内容と駐輪場APIを活用するだけでも便利なアプリが作成できそうなので、いずれはハンズオン等の題材と絡めて紹介できればと考えています。