駅すぱあと Python SDKを使って駅情報を取得する
本記事はヴァル研究所の支援として作成された記事です
駅すぱあとはAPIを公開しており、駅情報や経路探索などをAPI経由で行えます。メソッドはすべてGETメソッドで、情報取得系のみです。レスポンスはJSONまたはXMLで返ってきます。
この駅すぱあと APIを利用しやすくするSDKを開発しはじめました。SDKはPythonで作っており、ローカルやサーバーサイドで実行できます。
今回は、駅情報取得APIの使い方を解説します。
なお、駅すぱあと APIを使ってExcel VBAでもSDKを作っています。
「駅すぱあと API」をExcel VBAから利用して、経費精算用に経路探索を行う
駅すぱあと VBA SDKを使って駅情報を取得する
必要な情報
SDKを利用する際にはAPIキーが必要です。無料トライアルがあるので、こちらから取得してください。
注意点
- SDKは非公式です。公式サポートへの問い合わせはご遠慮ください
インストール
インストールは pip
コマンドを利用してください。
pip install ekispert
初期化
先ほど取得したAPIキーを使ってSDKを初期化します。
from ekispert.client import Ekispert
client = Ekispert('YOUR_API_KEY')
駅の情報の検索条件の設定
駅の情報の検索には StationLightQuery
を使います。このオブジェクトを取得し、検索条件を設定します。
query = client.stationQuery()
query.name = '東京'
# 都道府県を指定する場合(複数可)
query.prefectureCodes = [13]
# 交通種別を指定する場合(複数可)
query.types = ['bus']
検索条件は 駅簡易情報 - 駅すぱあと API Documents 駅データ・経路検索のWebAPI にあるものを指定できます。
検索の実行
検索条件を設定したら、検索処理を実行します。結果は Point
クラスの配列になります。検索がうまくいったかどうかは、 try-except で判定します。
try:
points = query.find()
except Exception as e:
print(e)
成功した場合
処理が成功した場合、 points
の中にポイント情報が入っています。各ポイントには station
(駅情報) と prefecture
(都道府県) プロパティなどがあります。
print(points[0].station.code) # 22828
print(points[0].prefecture.name) # 東京都
ソースコード
SDKのコードは以下のリポジトリにて公開しています。ライセンスはMIT Licenseです。
また、パッケージは以下にて公開しています。
まとめ
駅情報の取得は、経路探索の基本になります。まだ経路探索はできませんが、これから徐々に機能を追加していきます。ぜひお試しください。
何か不具合があれば、Issueにて連絡いただければ対応します。
Discussion