LoginSignup
3
0

More than 5 years have passed since last update.

駅すぱあとWebサービスの範囲探索APIと駅すぱあと路線図を組み合わせてアプリを作ってみる

Posted at

ヴァル研究所 Advent Calendar 2018 12日目の記事です。
今日は駅すぱあと路線図駅すぱあとWebサービスを組み合わせて使用する例を紹介しようと思います。

駅すぱあと路線図と駅すぱあとWebサービス

10日目の記事でも駅すぱあと路線図を紹介していますが、今回は駅すぱあとWebサービス範囲探索(/search/multipleRange)の結果を路線図にマッピングしてみます。

駅すぱあと路線図では、駅コード運行路線といった、駅すぱあとWebサービスで用いられる概念がそのまま利用できるため、両者を組み合わせて利用すると、より効果が得られます。

駅すぱあとWebサービスの範囲探索API

範囲探索(/search/multipleRange)は、起点となる駅と所要時間の上限値を指定し、到達可能な駅の一覧を取得するAPIです。

昨年のヴァル研究所 Advent Calendarでも範囲探索(/search/multipleRange)について紹介しています。ご興味のある方は併せてご覧いただければと思います。

範囲探索の結果を駅すぱあと路線図にマッピングする

範囲探索の結果を駅すぱあと路線図にどうマッピングしているかは、実際の動作画面を見てもらうのが良いかと思います。

sample.gif

このサンプルでは、東京駅を起点駅に指定し、所要時間の上限値を変化させていった際の到達可能駅をマッピングしています。ごく簡単なサンプルですが、所要時間を大きくすると到達可能な駅が放射状に伸びてゆく傾向が見て取れます。これを応用すると、引っ越しの際の最寄り駅選び等が楽になるかもしれません。

サンプルコード

今回のサンプルもGitHubで公開しています。

アクセスキーの入手

今回のサンプルは、駅すぱあと路線図駅すぱあとWebサービスのアクセスキーが必要になります。
駅すぱあと路線図にはフリープランもございますので、以下よりお申込みいただければと思います。

駅すぱあとWebサービスのアクセスキーは、3日目の記事でご紹介したAmazon SaaSストアからご購入いただくのがおススメです。

サンプルコードを動かしてみる

さっそく環境を構築してみます。路線図のアクセスキーは work_dir/ews_rosenz_and_multipleRange/setup_ews_rosenz.sh で設定してください。
GUIサンプルと同じく、駅すぱあと路線図のアクセスキーを設定作業を setup_ews_rosenz.sh で行っています。

以下のように駅すぱあと路線図のアクセスキーと駅すぱあとWebサービスのアクセスキーを指定してスクリプトを実行すると、サンプルコードにアクセスキーを設定できます。

$ git clone https://github.com/ValLaboratory/advcal.git
$ cd advcal/2018/docker_env/
$
$ # 駅すぱあと路線図と駅すぱあとWebサービスのアクセスキー設定をおこなう
$ ./work_dir/ews_rosenz_and_multipleRange/setup_ews_rosenz.sh <駅すぱあと路線図のアクセスキー> <駅すぱあとWebサービスのアクセスキー>

あとはDockerイメージをビルドしてコンテナを起動します。

$ # Dockerイメージをビルドする。
$ docker-compose build ews_rosenz
$ docker-compose up ews_rosenz

コンテナが起動したら、以下のURLをWebブラウザで開きます。

先ほどのサンプルが表示できるかと思います。以下の例では東京駅から200分以内で到達可能な駅を表示しています。八戸や金沢、姫路あたりまで移動できることが見て取れますね。

img.png

まとめ

駅すぱあと路線図駅すぱあとWebサービスを組み合わせて使用する例を紹介しました。
それぞれ単体のサービスとして利用することももちろん可能ですが、駅すぱあとWebサービスにしかない機能・データを取得して駅すぱあと路線図と組み合わせることで、今回のサンプルのような見せ方も可能になります。ぜひ皆様の環境でもお試しいただければと思います。

3
0
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
3
0