Justin

Command Palette

Search for a command to run...

返回作品典藏庫
開發中2026ai-data

MetroBikeAtlas:捷運與共享單車都市移動分析平台

整合 TDX 開放資料的捷運×YouBike×城市因子分析儀表板

以台灣捷運與 YouBike 開放資料為核心的端到端資料工程與分析專案。採用 Bronze/Silver/Gold 分層資料湖,串接 TDX、Open-Meteo 與 OpenStreetMap,完成時空對齊、捷運站與單車站空間連結、相關性與分群分析,並以 FastAPI 與互動地圖儀表板呈現決策證據。

已驗證 Demo 錄影 1

由 portfolio quality pass 從既有專案 demo 素材複製。

17 張截圖2 支 Demo 影片

媒體總覽

快速瀏覽這個專案的截圖與錄影展示。

專案連結與 Demo 狀態

專案概覽

## 專案概述 MetroBikeAtlas 是一個以台灣捷運(MRT/軌道)與 YouBike 共享單車開放資料為核心的都市移動分析專案,結合資料工程管線與互動式網頁儀表板。它探討都市結構、可及性、POI 密度與時段行為如何影響捷運客流與單車使用,適用於智慧城市研究、都市規劃與交通政策評估。 ## 架構與資料流 專案採用 Bronze/Silver/Gold 分層資料湖(medallion architecture):Bronze 保存 TDX 原始快照、Silver 完成清洗與時空對齊、Gold 產出站級特徵與分析結果。資料來源串接交通部 TDX、Open-Meteo 天氣與 OpenStreetMap Overpass POI。持續擷取器(collector)內建節流與 429 退避機制,反覆擷取單車即時可用量以累積成時間序列,並可週期性重建 Silver。 ## 分析方法 分析層刻意以 NumPy 從零實作相關性分析、線性迴歸、KMeans 分群與站點相似度,將捷運站依移動與環境特徵分類為功能型態。空間整合支援緩衝半徑與最近 K 站兩種捷運與單車連結方法,時間對齊支援 15 分鐘/小時/日粒度與滾動視窗。當缺乏站級即時客流時,系統以鄰近單車租借變化推導代理指標。 ## 後端與前端 FastAPI 提供 REST 與 Server-Sent Events,端點涵蓋站點時間序列、鄰近單車、相似站點與分析總覽,並支援 demo(免憑證)與 real(讀取 Silver)雙模式。前端為多頁式簡報型儀表板(首頁、洞察、探索、營運、方法說明),以 Leaflet 地圖與 Chart.js 圖表呈現,並在標頭顯示資料新鮮度與建置代碼。 ## 工程品質 專案具備 config 驅動設計、Silver 資料品質契約驗證、Docker 長時運行部署(含 SSE 心跳避免代理斷線)、pytest 測試套件與 Playwright UI 煙霧測試與自動截圖,體現可重現性優先與擷取/處理/分析清楚分層的設計原則。

我的角色

獨立開發者:資料管線、後端 API、分析方法與前端儀表板全端設計實作

問題背景

捷運與共享單車的使用受都市結構、可及性與時段行為強烈影響,但這些資料散落於不同開放平台、時空粒度不一,難以整合成可重現、可驗證的分析證據以支援都市與交通決策。

解決方案

建立 config 驅動、可重現的分層資料湖(Bronze 原始快照、Silver 清洗對齊、Gold 特徵與分析);以節流與 429 處理的 TDX 客戶端持續擷取單車即時資料形成時間序列,並以緩衝區/最近 K 站方法建立捷運與單車空間連結。分析層以 NumPy 自行實作相關性、線性迴歸、KMeans 分群與站點相似度,產出捷運站功能分類。最後以 FastAPI 提供 REST 與 SSE,搭配 Leaflet/Chart.js 多頁式簡報型儀表板。

目前成果

完成可一鍵執行的 Bronze→Silver→Gold 管線、Docker 長時運行部署、SSE 心跳避免代理斷線,並具備 Silver 資料品質契約驗證與 Playwright UI 煙霧測試與截圖;提供站點時間序列、鄰近單車、相似站點等 API,支援 demo 與 real 雙模式。

作品亮點

  • Bronze/Silver/Gold 醫療分層(medallion)資料湖,config 驅動、可重現
  • TDX 持續擷取器具備節流與 429 退避,將即時單車資料累積為時間序列
  • NumPy 手刻相關性、線性迴歸、KMeans 與站點相似度,捷運站功能分類
  • 捷運與單車空間連結支援緩衝半徑與最近 K 站兩種方法及時空對齊
  • FastAPI + Leaflet/Chart.js 多頁式簡報儀表板,含 demo/real 雙模式與資料新鮮度標示
  • Docker 長運行、SSE 心跳、資料品質契約驗證與 Playwright 煙霧測試/自動截圖

技術挑戰

  • 缺乏站級即時客流時,以鄰近單車租借變化推導客流代理指標
  • 多來源(TDX、Open-Meteo、OSM Overpass)時空粒度不一致需統一對齊與驗證
  • 在反向代理/Docker 環境下維持 SSE 連線穩定,需處理代理標頭與心跳

目標使用者

  • 作品集審閱者與面試官
  • 需要快速理解專案目的、技術棧與成熟度的技術讀者

技術亮點

  • 偵測到的主要技術線索:Python, FastAPI, pandas, NumPy, Uvicorn, Leaflet, Chart.js, Docker, SQLite, Playwright
  • 已有 README 作為後續補齊案例研究的依據
  • 已連接公開 GitHub repository,可從作品集追溯原始碼

系統架構

此專案目前由 portfolio catalog pipeline 依 README、Git metadata、package/build 設定與素材線索建立案例頁。正式架構說明仍需依實際 source code 補齊;目前可確認的技術線索包含:Python, FastAPI, pandas, NumPy, Uvicorn, Leaflet, Chart.js, Docker, SQLite, Playwright。

資料流程

目前尚未完成可公開的資料流程說明。若此專案含資料處理、AI pipeline 或後端 API,後續應補上 input、processing、storage、UI/output 的端到端流程。

專案結構

mrt-ubike-analysis/
  README.md              # project documentation, when available
  source files           # implementation reviewed by local audit
  package/build config   # detected capability signals

安裝與執行

This project does not expose a verified runnable web command yet. Review the README/source tree and add exact install, run, test, and build commands before interview use.
No verified build command was detected. Treat the current portfolio page as a case-study placeholder until build steps are reviewed.

後續改進

  • 補齊正式 README、截圖與 demo recording
  • 補上架構圖、資料流程與關鍵技術決策
  • 確認 build/test 狀態並更新 portfolio release report

面試說明重點

  • 先說明此專案目前的成熟度與可展示範圍
  • 聚焦在可驗證的技術棧、程式結構與已完成部分
  • 不要宣稱尚未部署、尚未錄影或尚未測試的能力已完成

後續規劃

  • 導入政策模擬(如新增 YouBike 站點)與多城市比較
  • 整合人口普查與社經資料強化都市因子分析
  • 擴充時間序列分解與更完整的客流模型

相關作品