本記事はヴァル研究所の支援として作成された記事です
駅すぱあとは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');
駅簡易情報検索条件の設定
駅簡易情報検索は StationLightQuery を使います。このオブジェクトを取得し、検索条件を設定します。
const query = client.stationLightQuery()
query.name = '東京'
// 都道府県
query.prefectureCodes = [13, 14]
query.types = ['bus']
query.communityBus = 'except'
検索条件は 駅簡易情報 - 駅すぱあと API Documents 駅データ・経路検索のWebAPI にあるものを指定できます。
検索の実行
検索条件を設定したら、検索処理を実行します。結果は Point クラスの配列になります。
const points = query.execute();
エラーだった場合
エラーは例外処理で取得できます。
try {
const points = query.execute();
} catch (e) {
console.log(e.code);
console.log(e.message);
}
成功した場合
処理が成功した場合、 station (駅情報) と prefecture (都道府県) プロパティなどが入っています。
console.log(points[0].station.name); // '東京'
console.log(points[0].prefecture.name); // '東京都'
console.log(points[0].prefecture.code); // 13
ソースコード
SDKのコードは以下のリポジトリにて公開しています。ライセンスはMIT Licenseです。
まとめ
駅情報の取得は、経路探索の基本になります。まだ一部の機能しか実装されていませんが、これから徐々に機能を追加していきます。ぜひお試しください。
何か不具合があれば、Issueにて連絡いただければ対応します。