[GIS筆記] SHP 轉檔的亂碼陷阱:從「百年舊堤」案例看編碼偵測的重要性
在將既有的 GIS 開放資料(如 QGIS 專案中的 Shapefile)整合進 WalkGIS 系統時,最常遇到的挑戰往往不是座標轉換,而是文字編碼(Encoding)。 最近在處理「濁水溪流域情報地圖」中的「百年舊堤」圖層時,我遇到了一個經典的亂碼案例。這篇文章將紀錄問題的成因、誤判的過程,以及最終的正確解法,作為未來處理 GIS 舊資料的參考。 ...
在將既有的 GIS 開放資料(如 QGIS 專案中的 Shapefile)整合進 WalkGIS 系統時,最常遇到的挑戰往往不是座標轉換,而是文字編碼(Encoding)。 最近在處理「濁水溪流域情報地圖」中的「百年舊堤」圖層時,我遇到了一個經典的亂碼案例。這篇文章將紀錄問題的成因、誤判的過程,以及最終的正確解法,作為未來處理 GIS 舊資料的參考。 ...
最近在研究 LASS 社群維護的 「流域情報開放地圖」 QGIS 專案,這是一個集結了政府開放資料與民間調適計畫成果的龐大資料庫。 資料雖豐富,但若只想專注於特定流域(例如:濁水溪),要從全台的圖資中「萃取」並「整理」出有結構的資料,手動操作相當繁瑣。這次我嘗試透過 AI 助理 Antigravity 來協助處理,發現這是一個非常高效的工作流,特別是針對舊式 Shapefile 資料結構的梳理。 ...
整理 WalkGIS 專案從 2025/12/13 發想至今的完整演進歷程。透過 Mermaid 圖表與詳細里程碑表格,記錄了這個專案如何從單純的「散步地圖概念」,經由 Agentic AI 的輔助,一路進化為去中心化協議 (V2),並最終整合至軍規 ATAK 系統的技術路徑。
當手上只有一張靜態的工程示意圖,卻想在地圖上畫出真實的管線路徑時,該怎麼辦?本文記錄了我如何引導 AI Agent,透過「座標錨定」與「關鍵點推估」,將圖片中的線條轉化為標準的 WKT (Well-Known Text) 格式,成功在 WalkGIS 上重現大安大甲溪聯通管的地下網絡。
在構建「WalkGIS —— 全台散步地圖」專案的過程中,我與 AI Agent (Antigravity) 進行了一場深度的架構辯論。核心問題在於:當我們希望 AI 能像人類一樣理解地圖時,傳統的 GIS 資料庫還是最好的選擇嗎? ...
哈爸實驗室:技術與應用生態全景圖# 這張圖展示了「哈爸筆記」作為核心技術引擎,如何支撐並孵化出「2026 台灣河流探索」這個實踐場域。 graph TD %% === 定義可視化樣式 (Styles) === %% 核心技術區 (Core) - 藍/綠色系 classDef C_Mind fill:#e1f5fe,stroke:#01579b,stroke-width:2px; classDef C_Infra fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px; classDef C_AI fill:#fff3e0,stroke:#ef6c00,stroke-width:2px; classDef C_Comm fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px; %% 應用場景區 (River) - 大地色/深色系 classDef R_Vision fill:#4285F4,stroke:#0d47a1,stroke-width:2px,color:white; classDef R_Content fill:#F9A825,stroke:#f57f17,stroke-width:2px,color:black; classDef R_Tech fill:#2E7D32,stroke:#1b5e20,stroke-width:2px,color:white; classDef R_Meta fill:#607D8B,stroke:#263238,stroke-width:2px,color:white; %% === Core Domain: 哈爸筆記技術堆疊 === subgraph CoreDomain [🛠️ Core Tech: 哈爸筆記技術堆疊] direction TB subgraph C_Phase1 [GenAI 思維模組] Expert(複製專家思維):::C_Mind V2B(Voice-to-Blog 自動化):::C_Mind Insight(GAI 年會洞察):::C_Mind Insight --> Expert --> V2B end subgraph C_Phase2 [雲端基礎建設] GCP(GCP 成本優化):::C_Infra Zeabur(Zeabur 部署 n8n):::C_Infra CloudAI(AI 雲端管理):::C_Infra CloudAI --> GCP --> Zeabur end subgraph C_Phase3 [Agentic AI 實作] BotDebug(Discord Bot):::C_AI Agent(打造 Agentic AI):::C_AI Tool_SQL(SQL 資料庫工具):::C_AI Zeabur --> |提供算力| BotDebug --> Agent --> Tool_SQL end subgraph C_Phase4 [社群擴散] HabaLab(哈爸實驗室 Discord):::C_Comm Event(機械系 50 週年):::C_Comm Agent --> |賦能| HabaLab HabaLab --> Event end end %% === Application Domain: 河流探索計畫 === subgraph AppDomain [🌊 Field App: 2026 台灣河流探索] direction TB subgraph R_Phase1 [願景與方法] Method1(數位河流學):::R_Vision Infra(個人文章網站):::R_Meta end subgraph R_Phase3 [實地探索] Trip1(大甲溪車宿攻略):::R_Content Trip2(后里/高美指南):::R_Content Trip1 --> Trip2 end subgraph R_Phase4 [GIS與數據深化] Data1(Shapefile 轉 KML):::R_Tech Data2(River Buffer 萃取):::R_Tech Schema(SQL Schema 設計):::R_Tech Data1 --> Data2 --> Schema end subgraph R_Phase5 [工具賦能] Tool_Fab(Fabric + Gemini CLI):::R_Tech end end %% === 跨域整合連接 (The Merger) === %% 1. 基礎設施共用 V2B ==> |內容發布| Infra Infra ==> |載體| Trip1 %% 2. 技術賦能 (Agentic AI -> GIS Tech) Agent -.-> |技術指導| Tool_Fab Tool_Fab -.-> |自動化處理| Data1 %% 3. 社群匯流 HabaLab ==> |探索基地| Method1 Method1 --> |指導| Trip1 %% 4. 資料庫整合 Tool_SQL -.-> |Schema 參考| Schema
散步地圖資料庫 Schema 設計 (AI 友善版)# 導言# 本文件旨在闡述為「大甲溪散步地圖」專案設計的 SQLite 資料庫 Schema。此設計特別考量了 GenAI 協作 (Agentic Workflow) 的需求,選擇使用標準的 WKT (Well-Known Text) 格式來處理地理空間資料,取代依賴性較高的 SpatiaLite 二進位格式。這確保了從資料蒐集、AI 處理到 QGIS 呈現的過程中,資料具有最高的可讀性與移植性。 ...
什麼是「散步地圖」?# 在我們進行河流探索時,地圖不僅是導航的工具,更是一種「策展」的媒介。 散步地圖的核心概念,是透過地圖串聯更多的協力與情報,並利用群眾的移動軌跡描繪出有意義的資訊。這與我們強調的公私協力、開放資料精神不謀而合。 ...