Skip to content

目前公開數據中關於台北市 Youbike 的車輛數據僅提供實時數據,沒辦法知道:「我家旁邊的站點何時會補車?」、「我家旁邊的站點沒車的時段大約是幾點?」的資訊。因此想新增一個專案來累積歷史車輛數之數據。

License

tses89214/youbike-historical-data

Repository files navigation

Youbike 歷史數據資料庫

目前公開數據中關於台北市 Youbike 的車輛數據僅提供實時數據,沒辦法知道:「我家旁邊的站點何時會補車?」、「我家旁邊的站點沒車的時段大約是幾點?」的資訊。因此想新增一個專案來累積歷史車輛數之數據。

系統邏輯

  1. 每十分鐘呼叫一次 API,取得當下的車輛數據,並切分成 sites 和 slots 兩張表:
    • sites 為站點資訊,是一張維度表,儲存站點的基本資訊如地址、編號等。
    • slots 為站點車輛數,是一張事實表,儲存站點的編號、車輛數、更新時間。
  2. 資料會暫存於個人的資料庫中,並於每日凌晨一點(+8)上傳前一天的數據至 Github,放置於 data\ 路徑中。例如 05/02 01:00 會上傳更新時間 = 05/01 的數據。
  3. slots 表基本上每天更新上傳,sites 表僅有數據有更新時才會上傳(例如站點有異動等)。

Schema

sites

站點基本資料。

欄位名稱 資料型態 描述
sno STRING 站點編號
sna STRING 站點中文名稱
sarea STRING 站點所在行政區
latitude DOUBLE 站點緯度
longitude DOUBLE 站點經度
ar STRING 站點地址
sareaen STRING 站點行政區(英文)
aren STRING 站點地址(英文)
act STRING 全站禁用狀態(0:禁用中、1:啟用中)

slots

站點車輛數量的資訊。

欄位名稱 資料型態 描述
sno STRING 站點編號
total INT 總停車格數
available_rent_bikes INT 可借車輛數量
available_return_bikes INT 可還車輛數量(空位)
infoTime DATETIME 資料更新時間

Note

  • 請注意有些情況下 total != available_rent_bikes + available_return_bikes,可能站點上面有停止服務的車輛等等。
  • 蒐集過程中發現不是所有站點都會上傳數據,有些站點最新的更新數據是過去好幾個月的。如果找不到站點的歷史數據,有可能是沒在更新數據的站點。可以自行呼叫 API 確認一下。
  • 其實 API 裡面有提供好幾個時間欄位,分別是站點上傳數據的時間、Youbike DB 接收到數據的時間等。個人認為站點上傳的時間比較有參考價值,因此以 infoTime (站點上傳時間) 為主。

Reference

About

目前公開數據中關於台北市 Youbike 的車輛數據僅提供實時數據,沒辦法知道:「我家旁邊的站點何時會補車?」、「我家旁邊的站點沒車的時段大約是幾點?」的資訊。因此想新增一個專案來累積歷史車輛數之數據。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published