🚆

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

に公開

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

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

この駅すぱあと APIを利用しやすくするSDKを開発しはじめました。SDKはPythonで作っており、CLIやWebサービスなどから利用できます。

今回は、スタンダードプランで提供されている駅簡易情報取得APIに対応したので、その使い方を解説します。

必要な情報

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

注意点

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

インストール

インストールは pip コマンドで行います。

pip install ekispert

初期化

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

from ekispert.client import Ekispert

client = Ekispert("YOUR_API_KEY")

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

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

query = client.stationLightQuery()
query.name = '東京'
# 都道府県
query.prefectureCodes = [13, 14]
query.types = ['bus']
query.communityBus = 'except'

検索条件は 駅簡易情報 - 駅すぱあと API Documents 駅データ・経路検索のWebAPI にあるものを指定できます。

検索の実行

検索条件を設定したら、検索処理を実行します。結果は Point クラスの配列になります。

points = query.execute()

エラーだった場合

エラーは例外処理で取得できます。

try:
  points = query.execute()
except Exception as e:
  print(e)

成功した場合

処理が成功した場合、 station (駅情報) と prefecture (都道府県) プロパティなどが入っています。

points[0].station.name # '東京'
points[0].prefecture.name # '東京都'
points[0].prefecture.code # 13

ソースコード

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

EkispertAPIMania/python-sdk

まとめ

駅情報の取得は、経路探索の基本になります。まだ一部の機能しか実装されていませんが、これから徐々に機能を追加していきます。ぜひお試しください。

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

EkispertAPIMania/python-sdk

Discussion