2026年1月18日 星期日

用 umap 製作二手捐贈平台地圖

umap 「編輯圖層」 介面 又是一篇中興大學通識課要用的講義。 對長期讀者來說, umap 的部分是重播; 不過 gemini 的部分可以參考。

一、 建立捐贈地圖

最終成果會長這樣: 2026二手捐贈平台

  1. 確認你已在 開放街圖 註冊帳號。
  2. 在 gemini 當中下提示詞: 「請製作一個 csv 表格, 列出這篇文章中提到的所有接受捐贈物資單位名稱及地址: https://www.storm.mg/article/11092959#wholePage」 應該有24筆資料。
  3. 接著下提示詞: 「請用 google maps 為上表有實體地址的每一列查出經緯度, 並為上表加上這兩個欄位。」 注意它的 "運轉中使用工具" 符號會變成 google maps。
  4. 補充說明: 分兩個步驟做, 這就是 (你幫 LLM 規畫) chain of thought 的例子。 每個步驟只是重複執行相同的動作, 即使是快捷版 (flash) 也不會出錯。 你可以試著另開一個問答, 用單一提示詞要它一口氣完成, 可能會發現它做不完整。
  5. 把 csv 內容剪貼到 geany 裡, 並且把標題列改成英文、 存檔成 donation.csv:
    name,addr,latitude,longitude
    伊甸基金會,台北市松山區八德路三段199巷1弄4號B1,25.048737,121.552084
    台灣展翅協會,台北市中山區民權東路二段26號4樓之5,25.062829,121.528318
    ...
    
  6. umap 點選 "login", 選用 osm 帳號登入。
  7. 右下角可以選語言。
  8. 點 「建立地圖」。
  9. 右側編輯功能面版上, 點選 「匯入資料」 ("上傳" 箭頭)。
  10. 點選瀏覽、 選取剛剛建立的 donation.csv。 不必動 「選擇格式」, 它會自動偵測到 csv。 「選擇圖層」一般就用預設的「匯入至新圖層」。 最後按「匯入資料」。
  11. 改一下圖層名稱、 填一些 「描述」。
  12. 點 「形狀屬性」, 選取你喜歡的圖示與顏色。
  13. 點 「互動選項」。
    1. 「彈出內文範本」 這樣填: (可填任意文字、 可以採用 markdown 語法、 可以提及 csv 檔的欄位名稱)
          #{name}
          {addr}
          
    2. 「顯示標籤」 選 「滑動過去時」
    3. 「標籤可點擊」 選 「on」
  14. 右側編輯功能面版上, 點選 "改變地圖磚圖層" 的圖示, 選 OpenStreetMap。 這會採用台灣國網中心的伺服器, 比較快。
  15. 右側編輯功能面版上, 點選 "兩箭頭指向同一個點" 的圖示。 調整地圖, 把它調到你喜歡的縮放比例與位置。 按下 「使用目前中心與縮放大小」。
  16. 如果想回去修改圖示與顏色, 可以點編輯功能面版上的 「管理圖層」、 點選剛剛建立的那個圖層右側的 「編輯」 ("筆" 圖示)。
  17. 按右上角 「儲存」。
  18. 把你的地圖的網址分享給同學, 請他瀏覽、 互動。

二、 地圖資訊轉檔練習

瀏覽 「國有器官」 放映地點 地圖, 或是在 umap 上任選一張你喜歡的地圖也可以, 但是只能有 "點" 的圖徵 (map feature), 不能有 "線" 或 "面" 的圖徵。

  1. 左側面版點選 「分享與下載」。
  2. 點選 「geojson」 格式、 存檔時命名為 so.geojson
  3. 在命令列上執行: jq . so.geojson | less 用上下箭頭及 PageUp、 PageDown 瀏覽。 按 "q" 離開。
  4. 把 so.geojson 的一小段貼給 gemini 看, 叫它幫你下一個 zq 指令或 jq 指令, 把資料轉成 csv 檔, 希望得到類似這樣的輸出:
    雲林 鵝媽媽鵝童樂園(大禮堂),雲林縣鬥六市嘉新路222號,23.680854,120.552337
    ...
    
  5. 執行指令。 如果輸出內含雙引號, 可以在指令後面加上這一小段去除引號: | perl -pe 's/"//g'
  6. 剪貼輸出、 手動加上欄位名稱、 存檔。
  7. 建立一張新的地圖、 上傳 csv 檔、 改成你喜歡的樣子。

當然, 把 umap 吐出來的資料再丟回給 umap 去讀, 本來就很單純, 不會遇到問題。 而且 umap 本來就可以讀寫許多不同的檔案格式, 這裡其實並不需要轉檔。 但是若需要在不同的軟體之間傳遞資料時, 「軟體匯出 (export) 開放的檔案格式」 的能力, 以及你善用 LLM + linux 命令列轉檔的能力, 就變得非常重要。 這就是老師一直說的: 背後欠缺商業推力、 甚至也一直被主流資訊教育所忽略的有用技術。 學習那些 「能夠吐出開放檔案格式」 的軟體, 才不會 誤上賊船下不來, 才可以發揮 (不同軟體之間) 「組合的力量」, 才是真正最有效率的 電腦學習長線投資

沒有留言:

張貼留言

因為垃圾留言太多,現在改為審核後才發佈,請耐心等候一兩天。