本記事はヴァル研究所の支援として作成された記事です
駅すぱあとは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です。
まとめ
駅情報の取得は、経路探索の基本になります。Googleスプレッドシートと組み合わせれば、経費精算などで役立つシステムが素早く開発できます。ぜひ活用してください。
何か不具合があれば、Issueにて連絡いただければ対応します。