WalkGIS 實戰:ATAK 碎裂軌跡合併與 Google My Maps 輕量化指南

在進行長距離的河川探索(如大甲溪、濁水溪)時,我們依賴 ATAK (Android Team Awareness Kit) 作為主要的軌跡記錄工具。然而,在實際作業中遇到了一個痛點: ATAK 為了效能或訊號不穩,常會將一整天的行程自動切分成多個軌跡檔案 (GPX/KML)。 這造成兩個後續應用的問題: 管理困難:一天產生 3-4 個檔案,Day 4 就有三個 GPX (01:31, 04:47, 06:12)。 Data Package 限制:ATAK 的 Data Package 雖然好用,但主要針對靜態圖層 (Points, Shapes),對於「動態軌跡」的打包支援較弱,往往需要手動匯出 GPX。 Google My Maps 拒收:當我們想把這些高精度的原始軌跡整合到 Google My Maps 分享時,會因為點數過多 (Over 2000 points) 而導致上傳失敗或顯示不全。 🛠️ 解決方案:Python 自動化合併與抽稀 為了不僅將檔案「接起來」,還要能「瘦身」給 Google 吃,我開發了一個 Python 腳本來處理這個標準作業程序。 步驟一:處理 Namespace 陷阱 ATAK 輸出的 GPX 檔案,其 XML Namespace 有時會帶有尾端斜線(.../GPX/1/1/),這會導致標準的 Python xml.etree.ElementTree 解析失敗。 解法:寫一個 Helper Function strip_ns(),不管 Namespace 長怎樣,只認標籤名稱(如 trkpt),這樣最穩健。 ...

2026-01-09 · 1 min · 184 words · Wuulong

WalkGIS 實戰:如何製作「有廁所的便利商店」地圖 (Google My Maps + ATAK)

在規劃「2026 台灣河流探索」的過程中,除了路線本身的挑戰,最實際的問題往往是:「哪裡可以補給?」以及更重要的——「哪裡有廁所?」。 雖然 Google Maps 很強大,但要一眼在地圖上看出「哪一家超商有廁所」並不容易。於是,我決定自己動手做一張專屬的地圖,並將其整合到我的主力導航工具 Google My Maps 與 ATAK 中。 🚀 任務目標 取得全台灣便利商店的資料。 篩選出標記為「有廁所」的店家。 製作成 Google My Maps 可以吃的 KML 檔。 打包成 ATAK 可以用的 Data Package。 🛠️ Step 1: 資料來源 - OpenStreetMap (OSM) 相較於政府資料只有地址,OpenStreetMap (OSM) 社群維護的資料包含了更多屬性(如廁所、ATM、品牌)。我使用 Overpass API 來抓取資料。 Python 抓取腳本 (核心邏輯) 我們不需要下載整個台灣的圖資,只需針對 shop=convenience 進行查詢: overpass_query = """ [out:json][timeout:60]; area["name:en"="Taiwan"]->.searchArea; ( node["shop"="convenience"](area.searchArea); way["shop"="convenience"](area.searchArea); ); out center; """ 這段腳本會抓下全台約 13,000+ 筆超商資料。 🧹 Step 2: 現實的殘酷 - 資料篩選 抓下來後,我原本期待能有滿滿的廁所清單,結果進行統計後發現: Total Stores: 13,000+ Toilets = Yes: ~550 Toilets = No: ~150 Toilets = Unknown: 12,000+ 顯然 OSM 上關於廁所的標記還很不普及(填寫率不到 5%)。但換個角度想,這 550 間 是經過熱心網友確認「一定有」廁所的精華名單,對於急需的人來說,這就是最可靠的綠洲。 ...

2026-01-09 · 2 min · 221 words · Wuulong

實驗紀錄:取得河川流域 Shapefile 圖資並轉換為 KML 匯入 Google My Maps

本實驗記錄了從政府開放資料平台取得水利署河川流域 Shapefile 資料,並將其中「大甲溪」流域資料篩選後,使用 GDAL/ogr2ogr 工具轉換為 Google My Maps 支援的 KML 格式的完整過程。

2025-12-13 · 1 min · 184 words · Wuulong