0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

駅すぱあと GAS SDKを使って駅情報を取得する

Posted at

本記事はヴァル研究所の支援として作成された記事です

駅すぱあとはAPIを公開しており、駅情報や経路探索などをAPI経由で行えます。メソッドはすべてGETメソッドで、情報取得系のみです。レスポンスはJSONまたはXMLで返ってきます。

この駅すぱあと APIを利用しやすくするSDKを開発しはじめました。SDKはGAS(Google Apps Script)で作っており、GoogleドキュメントやGoogleスプレッドシートで利用できます。

今回は、駅情報取得APIの使い方を解説します。

なお、同様の操作はVBA SDKやPython SDKでも利用できます。

駅すぱあと VBA SDKを使って駅情報を取得する
駅すぱあと Python SDKを使って駅情報を取得する

必要な情報

SDKを利用する際にはAPIキーが必要です。無料トライアルがあるので、こちらから取得してください。

注意点

  • SDKは非公式です。公式サポートへの問い合わせはご遠慮ください

インストール

インストールは ライブラリID を指定して行います。

1lJW_-jvxWQbOHq-TUe1Dab3picc8nx5gZHb8vvxSqe43HkP9hNMjF-d8

デフォルトでは Ekispert がIDです。以下はそれに沿って記述します。

初期化

先ほど取得したAPIキーを使ってSDKを初期化します。

const client = new Ekispert.Client('YOUR_API_KEY');

駅の情報の検索条件の設定

駅の情報の検索には StationQuery を使います。このオブジェクトを取得し、検索条件を設定します。

const query = client.stationQuery();
query.name = '東京';
query.prefectureCodes = [13];
query.railName = 'JR中央線快速'

検索条件は 駅情報 - 駅すぱあと API(旧:駅すぱあとWebサービス) Documents 駅データ・経路検索のWebAPI にあるものを指定できます。

検索の実行

検索条件を設定したら、検索処理を実行します。結果は Point クラスの配列や往復の種類を表す要素、データの全件数、データ開始位置のオフセット値になります。検索がうまくいったかどうかは、 try-catch で判定します。

try {
  const { points, max, offset, roundTripType } = query.execute();
  points.forEach(point => console.log(point.station.name));
} catch (e) {
  console.log(e.code);
  console.log(e.message);
}

返却値の内容は以下の通りです。なお、検索条件によって返却される情報は異なります。

変数名 意味
points Pointクラスの配列
max データの全件数
offset データ開始位置のオフセット値
roundTripType 往復の種類を表す要素

成功した場合

処理が成功した場合、 points の中にポイント情報が入っています。各ポイントには station (駅情報) と prefecture (都道府県) プロパティなどがあります。

console.log(points[0].station.code) # 22828
console.log(points[0].prefecture.name) # 東京都

ソースコード

SDKのコードは以下のリポジトリにて公開しています。ライセンスはMIT Licenseです。

EkispertAPIMania/gas-sdk

まとめ

駅情報の取得は、経路探索の基本になります。Googleスプレッドシートと組み合わせれば、経費精算などで役立つシステムが素早く開発できます。ぜひ活用してください。

何か不具合があれば、Issueにて連絡いただければ対応します。

EkispertAPIMania/gas-sdk

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?