hi, hikaru

『駅すぱあと』でお馴染みヴァル研究所で、テクニカルエバンジェリストとして働いている丸山が綴るブログです。

複数の駅から範囲探索可能になりました! #駅すぱあとwebサービス

こんにちは。 駅すぱあとwebサービスの範囲探索APIが生まれ変わり、起点に複数の駅が指定できるようになりました。

f:id:hiiiiiiihikaru:20171213134324p:plain

駅すぱあとwebサービスとは

国内初の乗換案内ソフト駅すぱあとがもつ様々な情報をWebAPIで提供しているサービスです。

ekiworld.net

経路探索はもちろん、駅データや時刻表などの情報を取得できます。 無料で使えるフリープランを用意しており、企業にかぎらず個人でも利用できます。

あ、最近 facebookページ を立ち上げて、駅すぱあとwebサービスの最新情報をお知らせしています。 このページが良いと思ったら"いいね!"を押してください。よろしくお願いします!

範囲探索とは

駅すぱあとwebサービスには、"範囲探索"という名の機能が存在します。 どんな機能なのかと言うと、指定した駅から〇分で行ける駅のリストを取得できるものです。 不動産サイトで、"通勤・通学時間から探す!"っていう項目がありますよね。あれの裏で動いているイメージです。

何ができるようになったの?

範囲探索APIの新版がリリースされ、複数駅を起点に指定することができるようになりました。 これにより、ユーザ側の実装負担とAPIコール数を減らすことが可能になりました。

デモサイト 駅すぱあと路線図 | 駅すぱあとWebサービス範囲探索との連携 を用意していますので、ぜひ触ってみてください。

もう少し具体的に説明すると

例えば、 池袋駅新宿駅と東京駅の3つの駅から20分で行ける駅を列挙したい! と思ったとするじゃないですか。

今まで(範囲探索API(旧版))だったら、

  1. 起点駅指定のパラメータに池袋を指定してAPIコール→池袋から20分で行ける駅リストを取得
  2. 起点駅指定のパラメータに新宿を指定してAPIコール→新宿から20分で行ける駅リストを取得
  3. 起点駅指定のパラメータに東京を指定してAPIコール→東京から20分で行ける駅リストを取得
  4. 3つのリストから論理積をとる

これから(範囲探索API(新版))は

  1. 起点駅指定のパラメータに池袋、新宿、東京を指定してAPIコール→3つの駅から20分で行ける駅リストを取得

4つあった手順が、1つにまとまりました!! この比較から、APIのコール数と、ユーザ側の実装負担が減ることがわかります。

もちろん、範囲探索API(新版)は、起点駅が1つの場合でも使えるので、起点駅が1つか複数かで処理を分ける必要はありません。

ちなみに、範囲探索API(新版)から求められる結果は、論理積(AND)であり、論理和(OR)には対応しておりません。 論理和を求めたい場合は、起点としたい駅の数だけAPIコールする必要があります。

f:id:hiiiiiiihikaru:20170823140443p:plain

デモサイト 駅すぱあと路線図 | 駅すぱあとWebサービス範囲探索との連携 で確認すると、池袋駅新宿駅、東京駅から20分で行ける駅は、駒込駅、田端駅、市ケ谷駅飯田橋駅御茶ノ水駅の4つしかないということがわかります。

旧版との違い

新版と旧版て似たような機能なの?使い分けとかあるの?どっち使えばいいの?と疑問があると思うので、以下に比較表を作ってみました。

API 概要 備考
範囲探索API(旧版) 昔からある機能。起点駅は一つまでしか指定できない。 非推奨
範囲探索API(新版) リリースほやほやの新機能。
旧版でできることは全てまかないつつ、起点駅を複数指定することができる。

これから開発を始める人は、迷わず新版の範囲探索APIを選びましょう。 もちろん、旧版が今後使えなくなるなんてことはありませんので、旧版で実装されている方はご安心ください。 すでに旧版を利用して実装している方で、複数指定できるように新版にリプレイスしたい場合は、リクエスト方法やレスポンス内容が異なっているのでご留意ください。

まとめ

駅すぱあとwebサービスの範囲探索APIが生まれ変わったよ、というお話でした。 このブログ読んでたら使ってみたくなった、という方、こちらからweb上でお申し込みができますので、お気軽に触ってみてください。 ではでは。