在處理台灣水利地理資訊時,常會發現政府公開的「中央管河川」圖資(如 RIVERL.shp)或河川代碼表,往往只記錄到一定規模以上的河川。很多在地人熟知的區域排水、野溪或深山源頭(如濁水溪上游的霧社溪)並不在名冊上。
這篇筆記記錄了我在 WalkGIS 專案中,如何運用 AI 助理與網路資源,像拼圖一樣將這些「隱藏版」溪流補回資料庫的過程,並將其標準化為可重複執行的 Task。
1. 發現缺漏 (The Gap)
在整理「濁水溪」圖資時,我對照了目前的 GIS 圖資與網路搜尋結果,發現幾個明顯的斷層:
- 深山源頭缺失:地圖上有畫出濁水溪,但官方 CSV 名冊卻沒有列出其源頭「霧社溪」。
- 知名支流不見:如「萬大溪」、「丹大溪」雖然在 CSV 名冊上有名字,但因為不是主要治理河段,在部分公開 SHP 圖資中完全沒有線條。
- 在地小溪隱形:如「益則坑溪」、「栗棲溪」,是當地的戲水秘境或土石流潛勢溪流,但在中央級的資料中找不到。
這些「缺漏」對於一般用途可能無傷大雅,但對於要進行深度走讀(River Walk)的我們來說,少了它們就像拼圖少了一塊。
2. 補完策略 (The Strategy)
我的目標是建立一份「完整的流域戶口名簿」。即使手上暫時沒有這些溪流的精確 GIS 線條,也要先把它們的名字及**輩分關係(注入哪條河)**記錄下來。
步驟 A:查找「隱藏版」名單
透過網路搜尋(Google Search / Wikipedia / 縣市政府水利規劃報告),找出那些屬於濁水溪流域但未被登錄的河川。例如這次我新發現了:
- 霧社溪
- 栗棲溪
- 獅尾堀溪
- 益則坑溪…等
步驟 B:確認「輩分關係」 (Topology)
這是最關鍵的一步。在 GIS 資料庫中,我們不只要知道這條溪叫什麼,更要知道它從哪裡來、往哪裡去。也就是確認它是直接注入濁水溪(第一層),還是先注入其他支流(第二層)。
我使用了以下工具來進行「親緣鑑定」:
- OpenStreetMap (OSM):使用 Overpass Turbo 查詢,如果運氣好(如霧社溪),Relation 中會直接標註
destination=濁水溪。 - 地方政府報告:例如從「南投縣管區域排水規劃」中,確認了「獅尾堀溪」是濁水溪左岸的支流。
- 地理推斷:如「益則坑溪」位於水里鄉民和村,該村緊鄰濁水溪,推測直接注入主流可能性大。
步驟 C:修訂 CSV 結構
為了將新發現納入系統,我在 河川代碼主從.csv 中手動增補資料。為了不與官方 6 碼數字衝突,我設計了一套「非官方編碼規則」:
| 欄位 | 填寫規則 | 範例 (霧社溪) |
|---|---|---|
| river_id | 流域ID_流水號 | 1510_1 |
| river_name | 中文名稱 | 霧社溪 |
| in_id | 注入對象 ID (Parent) | 151000 (濁水溪) |
| river_link | 全路徑 (用於計算層級) | 0@151000@1510_1 |
如果暫時查不到注入點(如松柏坑溪),in_id 則先留白,保留未來考證空間。
3. 成果與意義
經過這番補強,我的資料庫(CSV)現在比官方公開的圖資更為詳盡。
- 層級計算正確:現在程式可以正確判斷「霧社溪」與陳有蘭溪同屬「一級支流」,在視覺化時賦予正確的顏色。
- 標準化流程:我已將此流程轉化為 Task 文件 (
enrich-river-hierarchy.md),未來在處理曾文溪、大甲溪等其他流域時,可以直接套用。 - 公私協力架構:這證明了我們可以在不更動原始圖資的情況下,透過外掛的 CSV 結構表,靈活地納入在地知識(Local Knowledge)。
這套方法不僅適用於 GIS 專家,也適合任何對家鄉河流有興趣的文史工作者。只要有一份 Excel,你也可以開始為家鄉的「隱形溪流」建立戶口名簿。
下載
AI 協作聲明: 本文內容由筆者與 AI 助手 Antigravity 共同撰寫。AI 協助整理了補完策略的邏輯架構,並將筆者的實作經驗轉化為系統化的 Task 文件。