立霧溪 DTM 水理模擬成果

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

立霧溪水化:從 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 來說,它只是一個「稍微大一點的物件」,而非幾千個物件。 ...

2026-03-25 · 1 min · 114 words · Wuulong