|
4 | 4 |
|
5 | 5 | - **中文化處理**:將國內外地理名稱轉換為符合臺灣用語的繁體中文。
|
6 | 6 | - **行政區優化**:解決臺灣直轄市與省轄縣市僅顯示地區名稱的問題。
|
| 7 | +- **提升臺灣資料準確性**:利用**中華民國國土測繪中心 (NLSC)** 的官方圖資處理臺灣地區的地理名稱與邊界資料,確保數據來源的權威性。 |
7 | 8 |
|
8 | 9 | > [!WARNING]
|
9 | 10 | > **重要更新通知**
|
|
24 | 25 | - [Immich 反向地理編碼 - 臺灣特化](#immich-反向地理編碼---臺灣特化)
|
25 | 26 | - [使用前後對比](#使用前後對比)
|
26 | 27 | - [目錄](#目錄)
|
| 28 | + - [資料來源](#資料來源) |
27 | 29 | - [使用方式](#使用方式)
|
28 | 30 | - [整合式部署(推薦,方便後續更新)](#整合式部署推薦方便後續更新)
|
29 | 31 | - [手動部署](#手動部署)
|
|
36 | 38 | - [致謝](#致謝)
|
37 | 39 | - [授權條款](#授權條款)
|
38 | 40 |
|
| 41 | +## 資料來源 |
| 42 | + |
| 43 | +本專案使用的地理數據主要來自以下來源: |
| 44 | + |
| 45 | +1. **GeoNames** ([geonames.org](https://www.geonames.org/)): 作為全球地理位置的基礎數據庫。 |
| 46 | +2. **中華民國國土測繪中心 (NLSC)**: |
| 47 | + - 來源: [國土測繪中心開放資料平台](https://whgis-nlsc.moi.gov.tw/Opendata/Files.aspx) |
| 48 | + - 資料集: 村(里)界 (TWD97經緯度), 版本 1131128 (或更新版本) |
| 49 | + - 用途: 作為臺灣地區村里界線及行政區名稱的主要數據源,確保資料的準確性與權威性。 |
| 50 | +3. **LocationIQ**: 用於處理非臺灣地區的反向地理編碼請求,校準行政區劃層級。 |
| 51 | +4. **中華民國經濟部國際貿易署 & 中華民國外交部**: 作為部分國家/地區中文譯名的參考來源。 |
| 52 | + |
39 | 53 | > **NOTE**:
|
40 |
| -> 由於 Immich 的反向地理解析功能基於 GeoNames 資料庫,並採用最近距離原則匹配地名,部分結果可能無法完全精確,或與預期不同。 |
| 54 | +> 由於 Immich 的反向地理解析功能基於其載入的資料庫(本專案主要依賴 GeoNames 和 NLSC 資料),並採用最近距離原則匹配地名,部分結果可能無法完全精確,或與預期不同。 |
41 | 55 |
|
42 | 56 | ## 使用方式
|
43 | 57 |
|
|
132 | 146 |
|
133 | 147 | ## 臺灣特化邏輯
|
134 | 148 |
|
135 |
| -1. **中文化**:優先使用符合臺灣用語習慣的繁體中文進行地理名稱翻譯。名稱主要參考中華民國經濟部國際貿易署 API ([連結](https://publicinfo.trade.gov.tw/cuswebo/FSC3080I/GetFSC3080I_Form3)) 及中華民國外交部各國中英文名稱對照表 ([連結](https://www.mofa.gov.tw/OpenDataForm.aspx?s=B2865E8BFD0D9905)),並在比對後選用臺灣辨識度較高的名稱。 |
136 |
| - |
137 |
| -2. **行政區調整**:因臺灣已將省級行政區虛級化,將 Immich 的行政區邏輯調整如下: |
138 |
| - - 一級行政區:包含 22 個直轄市及省轄縣市(如臺北市、高雄市)。 |
139 |
| - |
140 |
| - - 二級行政區:包含各縣市的次級區域(如新北市的板橋區)。 |
| 149 | +本專案針對臺灣地區的地理資訊處理,採用了更精確且符合在地需求的特化邏輯: |
141 | 150 |
|
| 151 | +1. **以國土測繪中心 (NLSC) 資料為核心**: |
| 152 | + * 臺灣的行政區邊界與名稱,主要基於 **國土測繪中心 (NLSC) 發布的村(里)界圖資**。這確保了地理資訊的**準確性**。 |
| 153 | + * 透過處理 NLSC 的村里資料,我們能將地理座標反向解析準確至村里,藉此提供更精確的鄉鎮市區及縣市層級。 |
| 154 | + |
| 155 | +2. **行政區劃層級定義**: |
| 156 | + * **一級行政區 (Admin1)**: 對應臺灣的 **22 個直轄市及省轄縣市** (例如:臺北市、基隆市、彰化縣)。 |
| 157 | + * **二級行政區 (Admin2)**: 對應各縣市下的 **鄉、鎮、市、區** (例如:新北市的板橋區、彰化縣的彰化市)。 |
| 158 | + * **三級行政區 (Admin3)**: 對應 NLSC 資料中的 **村、里**。 |
| 159 | + * **四級行政區 (Admin4)**: 目前未使用。 |
| 160 | + |
| 161 | +3. **中文名稱處理**: |
| 162 | + * 臺灣境內的地理名稱 (縣市、鄉鎮市區、村里) **直接採用 NLSC 圖資提供的官方名稱**。 |
| 163 | + * 非臺灣地區的地理名稱主要參考 **GeoNames** 資料庫,其中國家名稱的翻譯則採用**中華民國經濟部國際貿易署**及**中華民國外交部**提供的官方譯名,以確保符合臺灣用語習慣的繁體中文名稱。 |
| 164 | + |
| 165 | +透過上述邏輯,本專案旨在提供更貼近臺灣實際情況、更為精確的反向地理編碼結果。 |
| 166 | + |
142 | 167 | ## 更新地理資料
|
143 | 168 |
|
144 | 169 | ### 整合式部署
|
|
156 | 181 | 1. **安裝依賴**
|
157 | 182 | 執行以下指令安裝所需 Python 依賴:
|
158 | 183 |
|
159 |
| - ```bash |
| 184 | + ```bash |
160 | 185 | pip install -r requirements.txt
|
161 |
| - ``` |
| 186 | + ``` |
162 | 187 |
|
163 |
| - 或手動安裝以下套件: |
| 188 | + 或手動安裝以下套件: |
164 | 189 |
|
165 | 190 | | Package | Version |
|
166 | 191 | | -------- | --------- |
|
| 192 | + | loguru | 0.7.3 | |
167 | 193 | | opencc | 1.1.9 |
|
| 194 | + | polars | 1.27.1 | |
| 195 | + | regex | 2024.11.6 | |
168 | 196 | | requests | 2.32.3 |
|
169 | 197 | | tqdm | 4.67.1 |
|
170 |
| - | polars | 1.26.0 | |
171 |
| - | regex | 2024.11.6 | |
172 |
| - | loguru | 0.7.3 | |
173 |
| - |
| 198 | + |
174 | 199 | 2. 至 [LocationIQ](https://locationiq.com/) 註冊帳號,並取得 API Key。
|
175 | 200 |
|
176 | 201 | 3. **執行`main.py`**
|
|
0 commit comments