ヴァル研究所 Advent Calendar 2018 12日目の記事です。
今日は駅すぱあと路線図と駅すぱあとWebサービスを組み合わせて使用する例を紹介しようと思います。
駅すぱあと路線図と駅すぱあとWebサービス
10日目の記事でも駅すぱあと路線図を紹介していますが、今回は駅すぱあとWebサービスの範囲探索(/search/multipleRange)の結果を路線図にマッピングしてみます。
駅すぱあと路線図では、駅コードや運行路線といった、駅すぱあとWebサービスで用いられる概念がそのまま利用できるため、両者を組み合わせて利用すると、より効果が得られます。
駅すぱあとWebサービスの範囲探索API
範囲探索(/search/multipleRange)は、起点となる駅と所要時間の上限値を指定し、到達可能な駅の一覧を取得するAPIです。
昨年のヴァル研究所 Advent Calendarでも範囲探索(/search/multipleRange)について紹介しています。ご興味のある方は併せてご覧いただければと思います。
範囲探索の結果を駅すぱあと路線図にマッピングする
範囲探索の結果を駅すぱあと路線図にどうマッピングしているかは、実際の動作画面を見てもらうのが良いかと思います。
このサンプルでは、東京駅を起点駅に指定し、所要時間の上限値を変化させていった際の到達可能駅をマッピングしています。ごく簡単なサンプルですが、所要時間を大きくすると到達可能な駅が放射状に伸びてゆく傾向が見て取れます。これを応用すると、引っ越しの際の最寄り駅選び等が楽になるかもしれません。
サンプルコード
今回のサンプルも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分以内で到達可能な駅を表示しています。八戸や金沢、姫路あたりまで移動できることが見て取れますね。
まとめ
駅すぱあと路線図と駅すぱあとWebサービスを組み合わせて使用する例を紹介しました。
それぞれ単体のサービスとして利用することももちろん可能ですが、駅すぱあとWebサービスにしかない機能・データを取得して駅すぱあと路線図と組み合わせることで、今回のサンプルのような見せ方も可能になります。ぜひ皆様の環境でもお試しいただければと思います。