立霧溪水化:從 20m DTM 萃取「絕對連通」潛勢溪流的技術長征

最近在進行 2026 台灣河流探索:立霧溪 的計畫中,遇到了一個困難問題:「官方的河道路網在深山峽谷裡不夠用。」 為了在 Google My Maps 上能有精確的導航,我決定啟動一場「數位成河」的挑戰——從 203 張 DTM 網格中,重新模擬出立霧溪的水脈靈魂。

這是一場關於環境韌性、演算法優化與「繞過限制」的戰鬥。

1. 數據獵取:在 40 萬顆網格間尋寶

這場比賽的第一關是數據獲取。內政部地政司提供了高品質的 20m DTM (數值地形模型)。但下載下來後,是數百個碎片化的 .grd 檔案。

技術筆記:千萬別試圖用 Python 逐一讀取。直接調用 gdal_merge.py 進行物理合併,並強制使用 EPSG:3826 (TWD97/TM2) 座標定錨,這是台灣所有官方地形資產的生命線。

2. 演算法的七次轉生:從「碎虛線」到「大河模型」

剛開始模擬時,我們遇到了經典的碎裂問題。D8 演算法在極端陡峭的太魯閣峽谷中,會因為數位噪聲產生無數的「鬍渣」支流,這在手機地圖上簡直是一場視覺災難。

經歷了七個版本的迭代,我們總結出的 「大河模擬黃金標準 (V7)」 是:

  • [V1-V3] 拓樸追蹤:將離散點串成線,確立了河流的連通性基礎。
  • [V5-V6] 40m 重採樣:在寬廣河谷(如天祥河床),20m 的解析度反而太精細,小石頭會擋住流路。將解析度降階到 40m,反而能「看透」大河深槽的路徑。
  • [V7] Priority-Flood Routing:這是最關鍵的突破。我們在填補地表窪地的同時,就「強行鎖定」每一格往海洋的唯一洩水路徑。這解決了平原河床「0 坡度」導致的斷流悲劇。

3. 爆破 2000 個物件的「透明牆」

當我們興奮地把幾千條河道支流匯入 Google My Maps 時,遇到了著名的 「2000 項目限制牆」。Google 說:「你的地圖太豐富了,我裝不下。」

這時,我們應用了 「物件原子化 (The Atomizer Pattern)」: 我們將 5,306 段官方河道網格,透過 KML 的 MultiGeometry 標籤,全部釘死在 同一個物件元件 裡。對 Google 來說,它只是一個「稍微大一點的物件」,而非幾千個物件。

結果:不僅成功匯入,而且渲染速度從「轉圈圈 30 秒」變成了「秒開」。

4. 行動端的小螢幕哲學

這場技術長征最終產出了一份 146KB 的 .kmz 封印檔案

  • 🌊 絕對連通水脈 (藍色實線)
  • 〰️ 官方底圖對照 (灰色虛線)
  • 📐 流域邊界範圍 (座標精確校準)

當我在 Google Maps 上看著這些線條完美地貼合在大理石峽谷底部時,那種「數位對合」的純粹感動是無法言喻的。

哈爸心得:在探索大地的路上,AI 就像是我的工程兵部隊。我們不但在開路,我們還在建設通往大地的數位橋樑。


Generated by Antigravity Operation Journal.
探索計畫主文:立霧溪探索計畫:生命之刃