Chapter 3 公車運輸資料
公車係包含公路客運(一般公路客運、國道公路客運)與市區客運。後續的函式中皆須設定縣市之參數(county=
),請參照TDX_County
表格,縣市名稱與其相對應之代碼臚列如表3.1。另請注意,若欲回傳公路客運之資料,county=
之參數請設定為「Intercity
」。公車運輸資料中提供路線站點、路線線型、班表、站間旅行時間等資料。
縣市名稱 | 縣市代碼 | 縣市名稱 | 縣市代碼 |
---|---|---|---|
臺北市 | Taipei | 雲林縣 | YunlinCounty |
新北市 | NewTaipei | 嘉義縣 | ChiayiCounty |
桃園市 | Taoyuan | 嘉義市 | Chiayi |
臺中市 | Taichung | 屏東縣 | PingtungCounty |
臺南市 | Tainan | 宜蘭縣 | YilanCounty |
高雄市 | Kaohsiung | 花蓮縣 | HualienCounty |
基隆市 | Keelung | 臺東縣 | TaitungCounty |
新竹市 | Hsinchu | 金門縣 | KinmenCounty |
新竹縣 | HsinchuCounty | 澎湖縣 | PenghuCounty |
苗栗縣 | MiaoliCounty | 連江縣 | LienchiangCounty |
彰化縣 | ChanghuaCounty | 公路客運 | Intercity |
南投縣 | NantouCounty |
3.1 公車路線站點資料
◎ 資料概述
回傳結果為公車路線站點的屬性資料,欄位包括(子)路線名稱、(子)路線代碼、方向、站點名稱、站點代碼、站序、經緯度等資料。關於路線(RouteUID、SubRouteUID)、站點(StopUID、StationID)之定義請詳見公共運輸車站站點編碼作業規範與公車API靜態資料使用注意事項。
◎ 函式參數
參數 | 必選填 | 功能 | 參數設定值 |
---|---|---|---|
access_token=
|
必填參數 | [Access Token] | 1.6.3 Access Token 取得方式 |
county=
|
縣市代碼 |
請參照TDX_County 表格,若為公路客運,請填入Intercity
|
|
dtype=
|
選填參數 | 回傳的資料型態 |
text :純文字形式,其資料型態屬data.frame [預設值]
|
sf :地理資料形式,其資料型態屬sf
|
|||
out=
|
匯出資料之路徑 |
FALSE :不匯出資料至本機 [預設值]
|
|
若回傳的資料型態為「text 」:路徑必須含有.csv 或.txt
|
|||
若回傳的資料型態為「sf 」:路徑必須含有.shp
|
◎ 程式碼撰寫範例
1. 回傳宜蘭縣市區公車路線站點資料(純文字)
## 177 Routes
## #---YilanCounty Stop of Route Downloaded---#
2. 回傳新竹市市區公車路線站點資料(地理資料)
# 介接新竹市公車路線站點資料,並匯出地理資料
Hsinchu_bus_station=Bus_StopOfRoute(access_token, "Hsinchu", dtype="sf", out="./Hsinchu_bus_station.shp")
## 54 Routes
## #---Hsinchu Stop of Route Downloaded---#
# Hsinchu_bus_station依路線合併所有點資料
Hsinchu_bus_station_agg=group_by(Hsinchu_bus_station, RouteName)%>%
summarise()
# 地圖繪製
ggplot()+
geom_sf(data=Hsinchu_bus_station_agg, aes(color=RouteName))+
geom_sf_text_repel(data=Hsinchu_bus_station_agg, aes(label=RouteName, color=RouteName))
NOTE
以上程式碼中先行利用 group_by() %>% summarise()
合併地理資料,可參考 Spatial Analysis with R (Chia Jung, Yeh) 5.2 章節 Attribute Aggregation
R 語言中「地圖上文字標記」之方法,請參考 Spatial Analysis with R (Chia Jung, Yeh) 3.3 章節 Labels on Map
3.2 公車路線資料
◎ 資料概述
回傳結果為公車路線的屬性文字資料,欄位包括(子)路線名稱、(子)路線代碼、方向、公車路線類別、起訖站牌等。
公車方向的代碼路線屬性的代碼如表3.3所示:
方向代碼 | 方向意義 | 路線屬性代碼 | 路線屬性意義 |
---|---|---|---|
0 | outbound | 11 | 市區公車 |
1 | inbound | 12 | 一般公路客運 |
2 | loop | 13 | 國道客運 |
255 | unknown | 14 | 接駁車 |
◎ 函式參數
參數 | 必選填 | 功能 | 參數設定值 |
---|---|---|---|
access_token=
|
必填參數 | [Access Token] | 1.6.3 Access Token 取得方式 |
county=
|
縣市代碼 |
請參照TDX_County 表格,若為公路客運,請填入Intercity
|
|
out=
|
選填參數 | 匯出資料之路徑 |
FALSE :不匯出資料至本機 [預設值]
|
若回傳的資料型態為「text 」:路徑必須含有.csv 或.txt
|
|||
若回傳的資料型態為「sf 」:路徑必須含有.shp
|
◎ 程式碼撰寫範例
回傳一般公路客運路線資料
## 537 Routes
3.3 公車路線線型資料
◎ 資料概述
回傳結果為公車路線的屬性與空間資料,欄位包括(子)路線名稱、(子)路線代碼、方向、空間資料。
◎ 函式參數
參數 | 必選填 | 功能 | 參數設定值 |
---|---|---|---|
access_token=
|
必填參數 | [Access Token] | 1.6.3 Access Token 取得方式 |
county=
|
縣市代碼 |
請參照TDX_County 表格,若為公路客運,請填入Intercity
|
|
dtype=
|
選填參數 | 回傳的資料型態 |
text :純文字形式,其資料型態屬data.frame [預設值]
|
sf :地理資料形式,其資料型態屬sf
|
|||
out=
|
匯出資料之路徑 |
FALSE :不匯出資料至本機 [預設值]
|
|
若回傳的資料型態為「text 」:路徑必須含有.csv 或.txt
|
|||
若回傳的資料型態為「sf 」:路徑必須含有.shp
|
◎ 程式碼撰寫範例
回傳新竹市市區公車路線資料(地理資料)
## #---Hsinchu Bus Shape Downloaded---#
# 地圖繪製
ggplot()+
geom_sf(data=Hsinchu_bus_station, aes(color=RouteName))+
geom_sf(data=Hsinchu_bus_shape, aes(color=RouteName))
NOTE
R 語言中「地圖疊圖」之方法,請參考 Spatial Analysis with R (Chia Jung, Yeh) 3.7.1 小節 Map Overlay
3.4 公車班表資料
◎ 資料概述
在 TDX 平臺中,公車班表的記錄方式有兩種,一為「時刻表格式」,另一為發車「班距格式」。時刻表格式係指依據各路線的發車時間記錄班次,故有確切的時間點資料,而回傳結果之欄位含括(子)路線名稱、(子)路線代碼、方向、站點名稱、各星期是否營運、始發站代碼與站名、始發站發車時間。班距格式的回傳結果雷同,然未有確切的發車時間點,僅包含各時段發車的班距資料,如「07:00 至 09:00 每 5 分鐘一班公車」。時刻表格式為大部分公車資料的記錄方式,惟部分縣市因某些時段為彈性發車,故採班距與時刻表格式混合使用,尤以臺北市的公車班表資料紀錄方式較為複雜。在本函式中逕將時刻表與班距格式合併處理,使用者無需再撰寫額外程式碼進行分類。
回傳資料的部分欄位資訊整理如表3.6所示。
欄位名稱 | 意義 | 說明 |
---|---|---|
TripID | 班表順序 | 班表順序是依據發車時間順序排列 [應用於時刻表格式] |
Sunday | 星期日是否營運 | 星期日若有營運,記錄為1,否則為0(其他亦同) |
Date | 特殊營運日期 | 如:特殊節日日期 [應用於時刻表格式] |
ServiceStatus | 特殊營運日期營運狀態 | 營運狀態包含:停駛或照常營運 [應用於時刻表格式] |
ArrivalTime | 公車抵達時間 | [應用於時刻表格式] |
DepartureTime | 公車出發時間 | [應用於時刻表格式] |
StartTime | 班距紀錄起始時間 | [應用於班距格式] |
EndTime | 班距紀錄結束時間 | [應用於班距格式] |
MinHeadwayMins | 最短班距 | [應用於班距格式] |
MaxHeadwayMins | 最長班距 | [應用於班距格式] |
◎ 函式參數
參數 | 必選填 | 功能 | 參數設定值 |
---|---|---|---|
access_token=
|
必填參數 | [Access Token] | 1.6.3 Access Token 取得方式 |
county=
|
縣市代碼 |
請參照TDX_County 表格,若為公路客運,請填入Intercity
|
|
out=
|
選填參數 | 匯出資料之路徑 |
FALSE :不匯出資料至本機 [預設值]
|
若欲輸出此結果,路徑中必須含有.csv 或.txt
|
◎ 程式碼撰寫範例
回傳新竹市市區公車班表資料
## #---Hsinchu Bus Schedule Downloaded---#
3.5 公車站間旅行時間資料
◎ 資料概述
公車站間旅行時間函式回傳指定公車子路線中,任兩相鄰站牌間的旅行時間。此一資料是透過歷史資料取得平均值,而由於不同星期、不同時間段(尖離峰)的旅行時間應有所不同,故部分縣市的資料會細緻記錄各星期逐小時的站間旅行時間,如臺北市。在回傳資料表中包含以下欄位:路線代碼(RouteID)、子路線代碼(SubRouteID)、星期(Weekday: 0~6,0表示星期日)、起始時間(StartHour)、結束時間(EndHour)、站間旅行時間(RunTime)。其中起始時間與結束時間分別表示該旅行時間值所對應的時間區間,在部分縣市的資料中可能長達數小時,而紀錄較為細緻者通常是一小時之間隔,惟若該時間區間中未有任何公車行駛,則記錄為「-1」。
在本函式中必須設定欲回傳的公車路線代碼之參數(routeid
),可透過Bus_Route()
函式取得之。此外,路線代碼參數可為一文字或一組向量,亦即可回傳一個或多個公車路線的站間旅行時間資料。
◎ 函式參數
參數 | 必選填 | 功能 | 參數設定值 |
---|---|---|---|
access_token=
|
必填參數 | [Access Token] | 1.6.3 Access Token 取得方式 |
county=
|
縣市代碼 |
請參照TDX_County 表格,若為公路客運,請填入Intercity
|
|
routeid
|
路線代碼 |
須確保該路線位於所設定縣市中,可利用Bus_Route() 查詢
|
|
out=
|
選填參數 | 匯出資料之路徑 |
FALSE :不匯出資料至本機 [預設值]
|
若欲輸出此結果,路徑中必須含有.csv 或.txt
|
◎ 程式碼撰寫範例
1. 回傳新竹市路線代碼 0020 公車(2路)的站間旅行時間
## Total: 1 Routes
2. 回傳桃園市站間旅行時間
可搭配Bus_Route()
函式取得指定縣市的公車路線代碼。
## 366 Routes
# 擷取RouteID之為一值(將重複代碼去除)
Taoyuan_bus_route=unique(Taoyuan_bus_route$RouteID)
# 介接桃園市前五條公車路線旅行時間
Taoyuan_bus_traveltime=Bus_TravelTime(access_token, "Taoyuan", Taoyuan_bus_route[1:5])
## Total: 5 Routes