台北捷運時刻表解析程式

最近寫了一個程式,是把台北捷運所公佈的 PDF 時刻表轉換為 JSON。之前 Ronny Wang 也有寫,不過我額外處理了區間車/不同終點站的問題。光是為了多處理這個問題,就得額外花不少功夫(因為底線是無法直接看出來是對應到哪一班車的)。

這次用的是我之前從沒寫過的 Python,一來想說順便學一下,二來是他有正好符合我需求的 PDF Parser Library。不過期間也是踩了不少陷阱,了解了 Python 在某些地方設計與之前慣用語言的不同之處,也算是有所收穫了。

https://github.com/ericyu/TaipeiMetroTimeTable

https://github.com/ericyu/TaipeiMetroTimeTableParser

 

台北捷運新站名編號

目前台北捷運公佈的新站名編號對照表:

1 號線 文湖線

BR01 動物園
BR02 木柵
BR03 萬芳社區
BR04 萬芳醫院
BR05 辛亥
BR06 麟光
BR07 六張犁
BR08 科技大樓
BR09 大安
BR10 忠孝復興
BR11 南京復興
BR12 中山國中
BR13 松山機場
BR14 大直
BR15 劍南路
BR16 西湖
BR17 港墘
BR18 文德
BR19 內湖
BR20 大湖公園
BR21 葫洲
BR22 東湖
BR23 南港軟體園區
BR24 南港展覽館

2 號線 淡水信義線

R02 象山
R03 台北101/世貿
R04 信義安和
R05 大安
R06 大安森林公園
R07 東門
R08 中正紀念堂
R09 台大醫院
R10 台北車站
R11 中山
R12 雙連
R13 民權西路
R14 圓山
R15 劍潭
R16 士林
R17 芝山
R18 明德
R19 石牌
R20 唭哩岸
R21 奇岩
R22 北投
R22A 新北投
R23 復興崗
R24 忠義
R25 關渡
R26 竹圍
R27 紅樹林
R28 淡水

3 號線 松山新店線

G01 新店
G02 新店區公所
G03 七張
G03A 小碧潭
G04 大坪林
G05 景美
G06 萬隆
G07 公館
G08 台電大樓
G09 古亭
G10 中正紀念堂
G11 小南門
G12 西門
G13 北門
G14 中山
G15 松江南京
G16 南京復興
G17 台北小巨蛋
G18 南京三民
G19 松山

4 號線 中和新蘆線

O01 南勢角
O02 景安
O03 永安市場
O04 頂溪
O05 古亭
O06 東門
O07 忠孝新生
O08 松江南京
O09 行天宮
O10 中山國小
O11 民權西路
O12 大橋頭
O13 台北橋
O14 菜寮
O15 三重
O16 先嗇宮
O17 頭前庄
O18 新莊
O19 輔大
O20 丹鳳
O21 迴龍
O50 三重國小
O51 三和國中
O52 徐匯中學
O53 三民高中
O54 蘆洲

5 號線 板南線

BL01 頂埔
BL02 永寧
BL03 土城
BL04 海山
BL05 亞東醫院
BL06 府中
BL07 板橋
BL08 新埔
BL09 江子翠
BL10 龍山寺
BL11 西門
BL12 台北車站
BL13 善導寺
BL14 忠孝新生
BL15 忠孝復興
BL16 忠孝敦化
BL17 國父紀念館
BL18 市政府
BL19 永春
BL20 後山埤
BL21 昆陽
BL22 南港
BL23 南港展覽館

台北捷運印章位置攻略

蓋完了全部的章,過程中也順便記錄印章擺放的位置。為了方便,以出口作為指引(因為出口的指標很清楚)。除了少數在站內或站內碰得到的,大部分都在站外。擺放的位置通常是在比較大的那個詢問處附近。有的就在詢問處旁邊,也有的放在文宣架上面,有時候要找一下。

轉乘站(支線除外)都有兩個章,其他站基本上就一個。比較特別的是芝山站也有兩個章,而且出口 2 的還是在站內。
繼續閱讀 →

台北捷運蓋章記錄

為了記錄自己蓋章的進度,於是寫了這樣一個網頁 http://ericyu.org/TaipeiMetro/ 可以產生下面那樣的圖,還可以使用網址儲存資料,譬如下圖對應的連結是 http://ericyu.org/TaipeiMetro/#_vv__7__-p_3X_73fw8。這樣可以自己儲存,或是分享給其他人。

產生的圖檔是 PNG 格式,背景是透明的。所產生的圖檔在保留右下角網址的情況下,可自行添加文字,作為非商業用途使用(譬如用在自己的 blog,貼在 Facebook 等)。 其他利用請先聯絡我(SVG 版權所有)。

這是我截至今天為止蓋完的車站,全部蓋完以後,會再發一篇列出各車站印章位置。
TaipeiMetroStamp

使用到的新玩意兒(對我來說)有:

  • HTML5
  • HTML5 History API
  • Bootstrap
  • SVG 操作及繪製至 Canvas
  • 將 Canvas 變成可下載的圖檔

順帶一提,路線的顏色都是按照捷運公司指定的色碼的哦(參一參二),而路線圖的 SVG 是用 Inkscape 從頭開始畫出來的,最後再用 SVG Cleaner 簡化。