[哈爸筆記] 讓 AI 擁有地理動向的靈魂:智慧行車導遊兩日開發實錄

最近兩天,我跟我的 AI 夥伴 (Antigravity) 泡在 Travel-Advisor-HUD 這個專案裡。目標很單純:讓我的行車助理不再只是「唸出路名」,而是像個真正懂我的「私人導遊」。 在兩天的密集對話中,我們經歷了幾次關鍵的「卡關」與「破繭而出」,這幾個點我覺得是開發地理感知型 AI (Geographic AI) 最迷人的地方。 🚀 什麼是 Travel Advisor HUD? 這是一個跨裝置的行車助理系統:由 Mac 負責背景運算與大腦邏輯,iPad 則作為沈浸式視覺看板 (HUD)。它能感知你的位置、速度與航向,並結合你過去在 WalkGIS 筆記中的內容,由 Gemini 生成具備人文厚度的即時導覽。 🧩 關鍵卡關與突破 1. 沉重的 Geopandas 與「資料主權」的執念 一開始,我們想用 Python 的 Geopandas 來處理鄉鎮邊界 (SHP) 的空間對位。但在路測邏輯中,Geopandas 顯得過於笨重,且我有一個堅持:「資料主權」。 我不想為了讓 AI 讀數據,就把我珍貴的 walkgis.db (私有筆記) 或內政部的圖資檔案搬來搬去、轉檔轉去。 突破點:我們轉向了 SpatiaLite (SQLite 的空間外掛)。 心得:透過 ATTACH DATABASE 直接掛載原始 DB,並用 VirtualShape 虛擬映射 SHP 檔案。資料「原地不動」,但查詢卻是極速的 SQL 指令。這讓「資料主權」與「運算效能」在這一層完美的對位了。 2. 從「歡迎」到「盤點」的內容層次 原先的導覽很死板:進入新縣市就唸一段 Wiki 簡介。但開車的人真正需要的是:「這裡有沒有我以前記過的東西?」 卡關:AI 雖然強筆強大,但如果你不給它具體的「本地上下文」,它只會說些漂亮但空泛的廢話。 突破點:「行政區點位盤點 (Township Inventory)」機制。 心得:在跨越邊界的瞬間,系統自動在背景先發動一次空間點名,把該鄉鎮內所有關於我的私有筆記 POI 抓出來,做成摘要餵給 Gemini。當 AI 說出:「歡迎來到橫山,這裡有您之前筆記過的內灣車站喔…」時,那種「它真的懂我」的導覽感才算真正建立。 3. Hammerspoon 的定時器與動態設定 Hammerspoon 雖然穩定,但預設的定時器是靜態的。如果我在開車中想調整檢查頻率(比如從 5 分鐘改成 1 分鐘),以往我得停下車,打開 Mac、改代碼、Reload Config。 ...

2026-03-11 · 1 min · 145 words · Wuulong

從地名到建構 HGIS 的數位鏈金術 (6):Layer 2 知識中樞的誕生與《台灣歷史知識地圖》開源釋出

在先前的系列中,我們完成了從原始文本(Layer 0)到結構實體(Layer 1)的跨越。透過 Python 腳本,我們讓幾十萬字的《臺灣通史》變成了資料庫中清晰的人名、地名與座標。 但在數位考古的最後一哩路,我們面臨了一個更終極的挑戰:AI 該如何「理解」歷史的動態邏輯,而不僅僅是搜尋關鍵字? 這就是今天我們要分享的壓軸戰役——Layer 2:知識中樞 (Knowledge Atlas) 的建構,以及本專案正式對外開源的里程碑。 從「搜尋」進化到「理解」:何謂 Layer 2? 如果 Layer 1 是史料中的「單點實體」,那麼 Layer 2 就是將這些點連成線、織成網的「邏輯圖譜」。 當我問 AI:「為什麼清代的新竹會發展出如此發達的水利系統?」傳統的 RAG 頂多能幫我找到幾段描述。但擁有 Layer 2 知識中樞的 AI,能直接調用我們今日建立的五大專題模型: 水利開發模型 (Eco_System):結構化全台 226 處埤圳,整合開鑿者與水源脈絡。 產業貿易模型 (Economy):分析「南糖北茶」的經濟地理骨架。 官職權力模型 (Gov_Structure):釐清三代政權演變與行政邊界。 衝突因果模型 (Conflict_Logic):建模民變、械鬥與海防轉向的底層邏輯。 地名演進矩陣 (Toponym_Ref):建立「古社名 -> 舊地名 -> 現代區劃」的跨時空映射。 這意味著,現在的 AI 助理(如 Antigravity)已經不只是在陪我翻古書,它更像是一位**「數位歷史策展人」**。 數位鏈金術的成果:taiwan-history-atlas 正式釋出 為了讓這份努力產出的數位資產不只是鎖在我的硬碟裡,今天我們做了一個重要的決定:將今日建構的所有腳本、資料庫 Schema 與核心 Layer 2 知識資產,正式獨立封裝並在 GitHub 上開源。 🔗 Repo 連結: https://github.com/wuulong/taiwan-history-atlas 這個版本不僅僅是一個資料集。它包含了: taiwan_history.db:具備三層架構的核心資料庫。 全套 AI 建模腳本:讓你可以複製這套方法論去處理其他的歷史志書。 AI 導航指引:教導如何引導 GPT/Claude 等 Agentic AI 使用這座歷史大腦的方法論。 授權:公眾領域貢獻 (CC0) 我們決定採用 CC0 1.0 通用公眾領域貢獻宣告 釋出這個專案。 ...

2026-02-22 · 1 min · 97 words · Wuulong

WalkGIS V0.1 釋出:如果地圖是一本可讀的故事書

我們很高興宣布 WalkGIS Project V0.1 正式釋出! 🎉 這是一個實驗性的專案,旨在探索如何讓「地圖資料」不僅是冷冰冰的座標,而是能被人類與 AI 共同閱讀、協作的「散步故事」。 🚀 什麼是 WalkGIS? WalkGIS 是一個輕量級的 GIS (地理資訊系統) 資料庫。不同於傳統地圖,它使用 WKT 文字格式 儲存座標,並用 Mermaid 流程圖 來描述路線。這意味著: 你可以直接讀懂它:打開資料庫,你看到的不是亂碼,而是 POINT(...) 和清晰的文字描述。 AI 可以幫你導覽:未來的 AI 助理可以直接讀取這些資料,為你規劃行程。 🗺️ V0.1 首發路線:后豐鐵馬道 & 東豐綠廊精華遊 作為 V0.1 的展示,我們建構了台中最經典的 「后豐鐵馬道 & 東豐自行車綠廊」 大環線地圖。 這張地圖收錄了 24 個精選景點,從后里馬場出發,穿越百年的九號隧道與花樑鋼橋,一路延伸至東勢客家文化園區。 原圖 數位化的路線拓樸 看看我們如何用程式碼畫出這條路線的邏輯: graph LR; %% 子圖:后豐鐵馬道 subgraph Houfeng ["后豐鐵馬道 (4.5km)"] direction TB H1(1. 后里馬場) --> HA(樟樹平台); HA --> H2(2. 夫妻樹); H2 --> H3(3. 九號隧道); H3 --> H4(4. 花樑鋼橋); H4 --> HB(鐵道之鄉酒莊); HB -.-> HC(榮町雜貨店); end %% 子圖:東豐綠廊 (前段) subgraph Dongfeng_Start ["東豐綠廊-起點段"] D7(7. 豐原大道) --> Junction{綠廊交接處}; HB --> Junction; Junction --> D5(5. 朴口車站); D5 --> HE(200days冰店); HE --> D6(6. 豐榮水利碑); end %% 子圖:石岡精華段 subgraph Shigang ["石岡精華段"] D6 --> D9(9. 石岡水壩); D9 -.-> D10(10. 石岡斷層月台); D9 --> D11(11. 0蛋月台); D11 --> D12(12. 九房3D彩繪村); D12 --> D13(13. 石岡旅服中心); D13 --> D14(14. 情人木橋); D14 -.-> D15(15. 土牛客家館); end %% 子圖:東勢段 subgraph Dongshi ["東勢終點段"] D14 --> D16(16. 梅子車站); D16 --> D17(17. 梅子百年芒果樹); D17 --> D18(18. 梅子鐵橋); D18 --> D19(19. 東勢客家園區); end %% 周邊景點 D8(8. 公老坪) -.-> D7; %% 樣式設定 classDef spot fill:#fff,stroke:#333,stroke-width:2px; classDef highlight fill:#fcf,stroke:#f00,stroke-width:2px; class H1,H3,H4,D9,D11,D19 highlight; class Junction fill:#ff9,stroke:#333,stroke-width:2px,shape:rhombus; mermaid.live 顯示 📂 如何取得與使用? WalkGIS V0.1 目前已整合於本部落格的專案庫中: events/notes/wuulong-notes-blog/walkgis_prj/ ...

2025-12-29 · 2 min · 268 words · Wuulong

社區 GIS 圖層分類學:通用型分類架構參考

社區 GIS 圖層分類範例與資料類型 在進行社區地圖繪製或 GIS 資料庫建置時,一個完善的圖層分類架構能幫助我們更有系統地收集與管理資料。以下是整理出的通用型 layer_type (主分類) 和 layer_subtype (次分類) 建議列表,您可以參考這些架構來填充 layers 表格,作為散步地圖的分類依據。 主分類 (layer_type) 建議 我們將社區 GIS 的資料維度劃分為以下 9 大類: 基礎地理圖層 (Foundation Geography) 社區特色與人文圖層 (Community & Culture) 生活機能圖層 (Daily Life & Amenities) 自然生態與景觀圖層 (Nature & Landscape) 議題導向圖層 (Issue-Oriented) 安全與防災圖層 (Safety & Disaster) 交通與路網圖層 (Transportation & Network) 發展與規劃圖層 (Development & Planning) 參與式資訊圖層 (Participatory Information) 次分類 (layer_subtype) 詳細列表 根據不同的 layer_type,以下是 layer_subtype 的詳細範例列表。您可以根據實際的專案需求(如大甲溪散步地圖)進行增減和調整。 1. 基礎地理圖層 (Foundation Geography) 這類圖層構成地圖的骨架,通常來自政府開放資料。 行政區界線:村里界、鄉鎮市區界、社里範圍 水系:河流、湖泊、水圳、滯洪池 地形:等高線、山坡地、坡向 土地利用:住宅區、商業區、農業區、工業區、公共設施用地 建物與地標:建築物、重要地標、門牌、POI (興趣點) 歷史影像:歷史航照圖、古地圖疊圖 2. 社區特色與人文圖層 (Community & Culture) 這類圖層展現地方的靈魂與記憶。 ...

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

專案計畫:大甲溪散步地圖資料建構 (Data Collection Plan)

把理論帶進現場:大甲溪地圖建構計畫 承襲先前整理的[〈散步地圖的概念與應用〉]({< relref “20251213_walking_map_concept.md” >}),我們決定利用這次 2026 年 1 月的大甲溪探險,進行實地的資料蒐集與圖層建構。 這份文件是我們的「行前任務簡報」。 1. 核心目標 (Objectives) 我們不只是去露營,我們要把**「看不見的資訊」**帶回來。 建構基礎圖層:繪製出一份適合車泊族與生態愛好者的大甲溪中下游導覽圖。 驗證方法論:測試使用手機 GPS 與協作工具進行現場製圖的可行性。 2. 預計蒐集的圖層 (Target Layers) 我們將目光聚焦在以下四個維度: 🟦 水文與親水層 (Blue Layer) 親水點:哪裡可以安全下到水邊?(河床路徑入口) 阻隔點:哪裡被高聳的水泥堤防阻斷,無法接近水面? 流況觀察:高美濕地潮汐變化的最高/最低水位線(目測或詢問當地人)。 🟩 生態與景觀層 (Green Layer) 植被帶:后里環保公園的樹林分佈(尋找遮蔭處)。 生物熱點:高美濕地招潮蟹最密集的區域。 景觀點:拍攝夕陽、大橋的最佳攝影點。 🟫 用路人與車泊層 (Grey Layer - Utility) 這是對我們社群最有價值的資訊: 泊點:平坦、安靜、合法的停車位置。 水源/廁所:公廁位置、開放時間、是否有水龍頭。 補給點:最近的便利商店或全聯。 🟧 風險與負面層 (Risk Layer) 危險因子:野狗群聚地、路面破碎區、易淹水區。 環境髒亂:垃圾堆積熱點 (LNT 觀察)。 3. 執行工具與分工 (Execution) 工具箱 (Toolkit) 軌跡記錄 (Tracks): 工具:Relive / Strava / Garmin 手錶。 任務:全程開啟記錄,特別是「如何開進河床」的那段路徑。 點位標記 (Waypoints): 工具:Google Maps (打星號) / 拍照 (Geo-tagging)。 技巧:看到重要的東西,先拍照,回家再從照片的 EXIF 抓座標,這樣最快且不打斷遊興。 語音筆記: 利用手機錄音,快速口述當下的觀察(例如:「這裡土質太軟,二驅車不要下來」)。 協作分工 (Team) Wuulong (我):負責整體軌跡記錄、車泊點技術評估(地質、坡度)。 夥伴 (明光/企鵝):負責標記美食點、廁所清潔度、生態觀察。 4. 預期產出 (Deliverables) 回程後,我們將產出: ...

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

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

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

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

數位河流學:結合 GenAI、開放資料與流域治理的深度探索指南

為什麼我們要重新學習「看見」河流? 在開始這趟旅程之前,我想分享的不只是一份旅遊攻略,而是一套**「重新認識環境」的方法論**。 過去我們對河流的認識,往往停留在「觀光景點」的單點思維。但在投入流域治理與推動公私協力 (Public-Private Partnership) 的過程中,我發現若要真正守護一條河流,我們必須先「看懂」它——看懂它的流向、它的前世今生,以及它如何孕育文明又充滿風險。 這篇文章記錄了我如何運用當代的數位工具——生成式 AI (GenAI) 與 開放資料 (Open Data),來輔助傳統的戶外探索,建構出一套名為「數位河流學」的探索心法。 1. GenAI:你的數位超級嚮導 🤖 在規劃大甲溪與頭前溪的旅程時,我並非漫無目的地搜尋,而是將 LLM (大型語言模型) 視為一位博學的在地嚮導。 賦能探索的三個層次: 廣度掃描 (Breadth): Prompt 技巧:「請列出大甲溪流域從上游到下游的 10 個關鍵地質與人文節點,並說明其彼此的關聯。」 AI 能迅速幫我們串聯起「水庫興建」與「下游農田灌溉」的因果關係,或是「泰雅族遷徙」與「河階台地」的地理關聯。 深度挖掘 (Depth): 針對特定地點(如后里環保公園),詢問其前身(垃圾掩埋場)與復育過程。這讓「車宿」不只是睡一晚,而是見證土地的重生。 角色扮演 (Persona): 讓 AI 扮演「水利工程師」解說石岡水壩的設計,或扮演「歷史學家」講述中部大地震對地貌的影響。 心得:GenAI 不是用來取代我們的雙腳,而是用來武裝我們的大腦,讓我們在踏上旅途前,已經具備了「看見細節」的能力。 2. Open Data 與 GIS:看見肉眼不可見的河流 🗺️ 真實的河流不只在地表流動,更在數據中流動。善用政府的開放資料,能讓我們避開風險,找到秘境。 必備的數位工具箱: KML/GPX 軌跡規劃: 使用 Google Earth 或 GIS 軟體,疊合數值地形模型 (DTM),可以清楚看到河階地、沖積扇的發育過程。我在規劃大甲溪行程時,便是先在 3D 地圖上模擬了視角。 水利署開放資料: 河川水位警戒:露營與溯溪前,務必查詢即時水位與上游雨量。 河川區域線:了解哪裡是行水區(禁止紮營),哪裡是高灘地(可休閒使用),這是合法且安全探索的基礎。 露營場資料集 (Open Data): 透過觀光署的 CSV 資料,篩選合法且安全的車泊點,而非盲目跟隨網紅打卡點。 3. 流域治理:從「旁觀者」到「參與者」 🤝 這趟旅程的核心精神,是希望能將**「流域綜合治理 (Integrated River Basin Management)」** 的概念帶入大眾視野。 ...

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