---
# System prepended metadata

title: TPASS X TDX
tags: [小郭老師打工]

---

# TPASS X TDX

## 資料處理
### 第一次資料
* [TPASS](https://hackmd.io/@ORAzzQWQ10/ByEqE_AkA)
* 問題：無真實車站名(以車站序號表示)

### 第二次資料
* MaaS資料、各業者語音代碼經緯度對照表
* TPASS資料的車站序號 與 各業者語音代碼經緯度對照表 的代碼不同，無法匹配
* [第二次資料成果](https://hackmd.io/@ORAzzQWQ10/Bk6X6GZGA)

### 第三次資料
* TPASS、漢程-高雄市77路-票證資料
* 因漢程提供之資料為票證資料，故車站序號不完整(有缺)
* 利用77路資料 與 各業者語音代碼經緯度對照表 merge，串出完整資料可 與 TPASS merge
* 但車站順序有些微不相符

### 第四次資料
* TPASS、TDX資料([TDX網站](https://tdx.transportdata.tw/pricing))
* TDX資料的公車路線站序 與 TPASS車站序號相符
* TDX資料已包含經緯度資料，可成功串出所需完整資料

---

## 利用TDX的資料進行匹配
* TDX資料：高雄市市區公車路線站序歷史資料2024-05-01
* 因市區公車不含"非整數路線"(如'3ADB'路線)故先剔除"非整數路線"
* 非整數路線
    * 資料量: 176452
    * 路線個數: 275 
* 整數路線的TPASS資料
    * 資料量: 479540
    * 路線個數: 542
* TDX資料
    * 路線個數: 323
* 配對失敗(TPASS資料有，但TDX資料無)
    * 路線個數: 201

### 成功匹配經緯度之資料
* 檔案: matched_data.csv
* 資料量: 278806
* 成功配對路線個數: 153


---

## 77路資料比對
> 漢程客運提供之站序資料可能與TPASS、TDX的資料不符
* TPASS的最後站序: 84
    ![image](https://hackmd.io/_uploads/rkJgyJUNR.png =85%x)

* TDX串接後的最後站序: 84
![image](https://hackmd.io/_uploads/BkKzeyLN0.png =85%x)


* 漢程客運提供之最後站序: 81
![image](https://hackmd.io/_uploads/rkUo11LVC.png =85%x)


---
## 方向與站序
> Direction是1代表去, 0代表回
* 之前預設Direction是0代表去, 1代表回
![image](https://hackmd.io/_uploads/BJdZ_NU_0.png)
![image](https://hackmd.io/_uploads/H1n8OELd0.png)
* 發現許多人是從5上車，2下車 -> 若依照原本算法，會在旗山轉運站上車 -> 可能是1代表去, 0代表回
![image](https://hackmd.io/_uploads/rywOO48uR.png =40%x)
* 更正後
![image](https://hackmd.io/_uploads/rJYLqQXqR.png)

---

## 搭乘次數分析
* 每人搭乘次數統計
    * 縱軸：累積人數 / 橫軸：搭乘次數
![image](https://hackmd.io/_uploads/SySAFyLEC.png =85%x)
* 取出前五多的搭乘內碼
    * 檔案：top_five_codes_data.csv

## Kmeans
* 原先使用OD資料分群
    * 可能會造成同個人被分到不同群(因為用票卡資料分群的)
* 改成使用同一內碼分群
    * 票價 -> 取平均票價
    * 搭乘次數 -> 總和
    * weekday次數比例 ->  在weekday的次數 / 搭乘次數
    * work_time次數比例 -> 在work_time的次數 / 搭乘次數

* 測試分幾群比較好 -> 取5群
![image](https://hackmd.io/_uploads/ryYdnPcDC.png =80%x)

![Kmeans_new](https://hackmd.io/_uploads/By70RPcPC.png)


![image](https://hackmd.io/_uploads/B1JmRw5PA.png =80%x)

![image](https://hackmd.io/_uploads/rJOEAPqwR.png =80%x)

![image](https://hackmd.io/_uploads/HyeLCv5wA.png =80%x)

![image](https://hackmd.io/_uploads/ry2DRv9wA.png =80%x)

![image](https://hackmd.io/_uploads/ryxtAPqDC.png =80%x)


---
## Flow Map
*  [QGIS FlowMapper](https://wenlab501.github.io/tutorial/qgis_tutor/advance_mapping/flow_map_2/) 只能使用2.1~2.99版本的QGIS
* [Flowmap.blue](https://www.flowmap.blue/how-to-make-a-flow-map)
* [Visualize OD data with Flowmap.blue](https://medium.com/nerd-for-tech/visualize-od-data-with-flowmap-blue-1f800c70b743)
<iframe width="800" height="600" src="https://www.flowmap.blue/1b2YKgj06k6FixdLbvwv72Gdr3q170oaI_phl14RrZks/embed" frameborder="0" allowfullscreen></iframe>
* 目前上下車資料較多的是(藍色)
![image](https://hackmd.io/_uploads/SJ42ZNX5R.png)

---
## 空間分群
> [flow-clustering](https://github.com/susurrant/flow-clustering)
* 只考慮od起訖站點(不考慮其od的運量)
* 使用參數：alpha = 0.55 (邊界圓尺度係數)、K = 25 (近鄰數)==加註解==
* 分成 2784 群 
* 檔案：`merged_and_reordered_clusters.csv`
* 前五多==路線==的群：
    * 6 (1654)、16 (1335)、53 (1127)、13 (1102)、68 (1000)
* 前五多==運量==的群：
    * 16 (13610)、6 (13213)、27 (11464)、2 (10890)、68 (10270)

### 分析第6群
> [QGIS FlowMapper](https://wenlab501.github.io/tutorial/qgis_tutor/advance_mapping/flow_map_2/)
* GREEN nodes gaining flows (incoming>outgoing)
* RED nodes losing flows (incoming<outgoing)

![image](https://hackmd.io/_uploads/H1-CYNEnC.png)
![image](https://hackmd.io/_uploads/HJTsT4N30.png =50%x)![image](https://hackmd.io/_uploads/rk5QqEE3A.png =50%x)


:::warning
若需將此群畫成一個起訖點，該怎麼決定起訖點的位子?
依權重選計算座標值? 選定較中間的一個站牌點位?
:::


---

## Top 30 SCluster 分析
> 檔案：`top_30_clusters_data.csv`

### Weekday/ weekend
![image](https://hackmd.io/_uploads/BkcrjBVhA.png)
![image](https://hackmd.io/_uploads/SyvZPsbTR.png)

### Work time
![image](https://hackmd.io/_uploads/H1F8jS4nC.png)
![image](https://hackmd.io/_uploads/BkgQ8i-6C.png)

### Price (distance)
![image](https://hackmd.io/_uploads/H1HvorEnA.png)
![image](https://hackmd.io/_uploads/S1SP9s-a0.png)
* 41：塔仔腳 -> 中華路口(溪洲醫院) , 高鐵左營站 -> 旗山轉運站
* 48：竹崎(高雄科大.燕巢) -> 三民公園(博愛路口)
* 82：崙仔頂(福安) -> 叢仔坑


### 選取代表點位製作FlowMap
* 代表點位選取規則
    * 先將同一群的票卡資料依權重(搭乘次數)加權平均，計算加權質心的經緯度
    * 選取與加權質心的經緯度最鄰近的座標點
* 前五大路線的代表點位
    * 民族國中側門 -> 民族陸橋 (第16群)
    * 憲政路口 -> 大昌二路(建工路口) (6)
    * 大樂民族店 -> 三民高中(明誠一路) (27)
    * 台鋁新村 -> 前鎮站 (2)
    * 高雄高商(五褔二路) -> 新聞報 (68)





![image](https://hackmd.io/_uploads/Bk8W3tbpA.png)

![image](https://hackmd.io/_uploads/r1TU5tZ60.png =50%x)![image](https://hackmd.io/_uploads/S14jcYZ6R.png =50%x)



