又是一篇中興大學通識課要用的講義。
對長期讀者來說, umap 的部分是重播; 不過 gemini 的部分可以參考。
2026年1月18日 星期日
2025年7月25日 星期五
告別手動標地點! 共筆維護試算表、地圖自動更新 (不分尺寸版)
想像一個團隊, 每位成員分頭去收集一些 (不涉及隱私或機密、 可以公開的) 地址, 要放到一張共同的地圖上面。 除了地址之外, 還有一些需要經常更動的欄位, 例如各地點的開放時間、 注意事項、 臨時公告等等。 什麼樣的工作流程會比較有效率呢? 我會開一張共筆的試算表, 例如 ethercalc 或是 google sheet, 裡面含有名稱、地址、經緯度、備註以及其他文字資訊等等欄位, 並且分享給所有成員, 然後把這張試算表餵給 umap 吃。 於是每當任何成員修改 [地址經緯度以外的] 其他任何欄位, 地圖瀏覽者只要重新整理網頁, 就會看到最新最及時的資訊。 至於經緯度, 可以透過 TGOS 手動批次更新。 編輯 google 試算表的門檻比編輯地圖低很多, 這樣的安排便於讓任何人都可以參與。 我們拿 台派店家 當例子。 照以下做完之後, 會得到像這樣的成品: 台派店家地圖。
先查看 原始資料的網址, 找出試算表代號 ("/d/" 後面那一長串) 以及分頁代號 ("gid=" 後面的數字)。 在 bash 底下, 先設定變數:
gs_id=15E0sastmidjk4CJlJJZoKZgbp5He5SKaUCbo4eMMlYY gid=418920722
然後 wget -O tai-shops.csv "https://docs.google.com/spreadsheets/d/$gs_id/export?format=csv&gid=$gid"
就把三千多筆資料抓下來啦!
不過, 因為 google 回應時, 會送出 redirect 重新導向下載專用的伺服器,
所以如果用 curl, 必須加上 -L 選項:
curl -L "https://docs.google.com/spreadsheets/d/$gs_id/export?format=csv&id=$gid" > tai-shops.csv
2025年3月11日 星期二
共筆維護試算表、地圖自動更新 - 小尺寸版
想像一個團隊, 每位成員分頭去收集一些 (不涉及隱私或機密、 可以公開的) 地址, 要放到一張共同的地圖上面。 除了地址之外, 還有一些需要經常更動的欄位, 例如各地點的開放時間、 注意事項、 臨時公告等等。 什麼樣的工作流程會比較有效率呢? 我會開一張共筆的試算表, 例如 ethercalc 或是 google sheet, 裡面含有名稱、地址、經緯度、備註以及其他文字資訊等等欄位, 並且分享給所有成員, 然後把這張試算表餵給 umap 吃。 於是每當任何成員修改 [地址經緯度以外的] 其他任何欄位, 地圖瀏覽者只要重新整理網頁, 就會看到最新最及時的資訊。 至於經緯度, 可以透過 TGOS 手動批次更新。 編輯 google 試算表的門檻比編輯地圖低很多, 這樣的安排便於讓任何人都可以參與。
如果你的試算表較大 (超過100列?), 本篇可能不適用。
請跳到第三節見新版連結。
推薦改參考更簡單、 可以處理更大資料檔的另一篇:
共筆維護試算表、地圖自動更新 - 大尺寸版。
至於您現在正在閱讀的這篇 「小尺寸版」, 則只剩歷史價值。
2022年9月5日 星期一
TGOS 批次地址查經緯度 + umap 私房地圖範例: 清冠一號中醫診所地圖
[本來想重寫 TGOS 的教學文, 做這張圖時才發現 umap 已中文化,
介面改了不少, 而且有提供 cluster map 的功能,
就乾脆連 umap 教學也一起重寫。]
接續前一篇
轉碼 big5 除錯記, 已經得到整理過的清冠一號中醫診所地址檔 3.csv。
(仍舊是 utf8 編碼, 但不會讓 iconv 消化不良。)
下一步要轉成 TGOS 規定的格式。
2017年11月3日 星期五
osm pbf 資料庫離線查詢必備指令
想要從 OSM 撈有趣的座標資料, 先前介紹過
Overpass Turbo 等等網頁工具。
如果你需要經常查詢、 需要寫程式查詢、 不想一直連線、
想要撈的資料量較大, 那麼還有另一個選擇: 直接下載 OSM 原始資料庫。
從
國網的映射 可以下載全球資料庫, 目前大約有 60G,
或是從 geofrbrik 可以下載按照國家或區域拆開的個別資料庫,
例如
臺灣 目前大約有 60M。
2016年3月29日 星期二
離線地圖日記之三: 用 osmtracker 記錄、 gpsbabel 編輯軌跡
Osmtracker 可以用來記錄你走過的足跡。 你可以從
f-droid 市集 或從 google 市集下載。
一路上, 你可以照相、 錄音、 記文字筆記。
它所記錄的 gpx 檔可以在 josm 裡面開起來作為私人離線地圖日記,
也可以上傳至 osm 分享給其他圖客。
2016年2月20日 星期六
離線地圖日記之二: JOSM 畫線 (路徑) 眉角
用 josm 繪製地圖, 畫道路或河流時都會用到 way, 也就是一長條折線。 熟悉 舊版 Dr. Geo 甚至已經為新版 Dr. Geo 寫 重力加速度教學文(英文) 的我, 竟然在這裡卡關很久。 原來拆解折線要兩步, 而不是一步! 同理, 合併也是。
2016年2月18日 星期四
離線地圖日記之一: JOSM 新手入門
想要繪製私房地圖嗎? 可以用
umap 雲端地圖。 但如果不想把資料上傳到雲端,
或是經常需要離線繪圖看圖呢? 在手機上, 可以用
osmand 離線地圖 來標示
我的最愛 (點); 但在桌機筆電上面呢?
或是進一步需要繪製路徑 (線) 或區域 (面) 呢?
第一個選項是自架 uamp, 第二個選項是學習
QGIS 或
GRASS 之類的專業地理資訊系統 (GIS),
第三個選項則是採用本文要介紹的 JOSM。
它原本是要讓大家共同參與編輯 OSM 用的離線編輯器;
但對於沒打算參與編輯的 OSM 麻瓜而言,
它也勉強可供離線編輯個人地圖。
事實上圖友已經完成部分的
JOSM 入門教學中文翻譯;
不過我還是想從純用戶 (非貢獻者)
的角度寫一篇任務導向式的教學文。
| 地圖工具 | 可以離線? | 可標示點? | 可標示線與面? | 硬體平臺? |
|---|---|---|---|---|
| OSM 官網 | 所有 | |||
| 現成雲端 umap | 若自架 | v | v | 所有 |
| osmand | v | v | 行動裝置 | |
| josm | 勉強 | v | v | 桌機筆電 |
2015年9月7日 星期一
用向量圖磚 (vector tiles) 自製陽春離線地圖
受到
臺中公車達人 的刺激,
我一直想要寫一個離線版的臺中公車地圖。
最好可以放在手機上。
我只需要大致的街道圖跟街道名稱,
不需要縮放 (zoom) 很多等級, 所以並不需要完整龐大
[而且超出我的人腦跟電腦能力範圍] 的 OSM 的圖資。
後來發現
mapzen vector tile service 提供各種向量圖磚, 完全符合我的需要。
把一二十塊圖磚抓回來之後, 就可以用 d3.js 自製陽春地圖了!
(這篇並不需要寫程式也可以操作一下感受成果;
但最終還是對程式設計師比較有用。)
2015年7月23日 星期四
縣市政府前宣導自由軟體的 「數位路平」 單車活動路線規畫地圖製作步驟
8/10-8/14 有一個
「數位路平--台灣騎跡」 活動 ,
幾位朋友要騎腳踏車從北到南向各縣市政府宣導自由軟體的重要性。
我自己任命為地圖股長, 用 GraphHopper 規畫路線,
再合併其他有用資訊, 製作了
「數位路平--台灣騎跡」 路線規畫地圖。
這一篇正好作為最近幾篇 GIS (地理資訊系統) 轉檔文章的小結與實作練習。
2015年7月13日 星期一
喜歡 (或討厭) 爬坡嗎? GraphHopper 幫你的腳踏車/登山行程規畫路線
GraphHopper 以 OpenStreetMap 為底圖,
提供開車/腳踏車/走路的路線規畫服務。
最有趣的是: 他們的腳踏車路線規畫還包含海拔高度估計。
2015年5月6日 星期三
從 OSM 撈有趣的座標資料: 網站與工具
有時我們可能會需要某類的地圖資訊,
例如霧峰所有的便利商店座標、 全臺灣火車站位置、
或是左營高鐵站附近的鐵道路線座標等等。
你可以選擇
一次下載整個 pbf 資料庫, 再用命令列工具處理。
或者, 如果你要抓的資料量不大、 次數不是很頻繁,
那麼另一個選擇是採用 RESTful API 直接從網站上撈資料。
沒耐性的讀者可以直接跳到第五節 「Overpass Turbo」。
2015年3月18日 星期三
json 轉檔萬用瑞士刀 jq
"jq 是一個輕巧又靈活的命令列 json 處理器。"
jq 之於 json, 就像
regexp 之於純文字檔, 或像是
QueryPath 之於 html/xml 檔, 可以擷取/過濾/篩選/批次編輯 json 檔。。
它的學習難度介於下指令跟寫程式之間。
[2026/9/16] 寫了另一篇更簡潔的 jq 練習: (geo)json 轉檔成 csv
2015年3月17日 星期二
我的私房地圖, OSM 版 (mapbbcode 與 umap)
登入 google 帳號, 就可以建立自己的地圖。
好幾次出國玩, 我都是在 google map 上面標示目的地、
用它來規劃行程。 每一張 「我的地圖」 可以分別選擇公開分享或私密隱藏。
所以社運團體可以拿它來規劃遊行動線、 房仲業者可以用它掌握手中物件位置。
至於經營「注意力經濟」、致力提升流量的網站 -- 例如美食部落客、
連鎖店、 巡迴表演團體、 ... -- 則可以
把自製的地圖內嵌在自己的網站裡。
不過我更有興趣的是 OSM。 前陣子寫完 「網頁內嵌互動地圖」 很簡單 之後一陣子, 才發現原來 OpenStreetMap 開放街圖根本不必寫程式也可以做到, 而且介面比 google maps 清爽簡單。 但不是在 OSM 官網, 而是在衍生網站上。 這裡要介紹的兩個網站都有把程式碼釋放出來 -- 如果你高度重視隱私, 甚至還可以下載程式原始碼、 自己架站。 遇到像是 NSA 監看雲端服務廠商之類的鳥事, 你的風險就比別人更低。
!doctype>2014年8月27日 星期三
在 osmand 裡面管理我的最愛地點 (favorites/my places)
(順便介紹如何將 google maps 所匯出的 kml 檔轉成 osmand 的 「我的最愛」。)
我經常北中南三地跑。 前一次打開
離線地圖 osmand 的時候, 可能是在臺中; 下一次打開卻是在高雄。
手動縮放地圖/手指旅行找到想看的地方,
這當然也可以當作一種具有地理學習意義的休閒娛樂啦;
不過更有效率的方式, 就是從選單找到 「我的最愛」 ("favorites") 功能,
再從地點條列清單裡面找到想去地點的附近,
直接叫 osmand 把地圖聚焦到那個位置。 ("show on map")
設定 「我的最愛」 有幾種方式。
2014年8月25日 星期一
OSM 混搭很簡單:製作你自己的分店/行事曆/造勢活動總覽/... 「網頁內嵌互動地圖」
[2015/3/18: 改推薦
我的私房地圖, OSM 版, 直接滑鼠編輯, 連程式碼都不用寫!]
你的社群/公司/市政府/... 有沒有一些值得用互動地圖呈現的公開資料, 但是以前一直覺得程式設計門檻太高?
- 本連鎖店在哪些地方有分店?
- 本市各個腳踏車租借點還剩幾部車、 幾個空位?
- 哪位參選人或哪個政黨的所有候選人何時在哪裡有官方辦的或支持者辦的造勢活動?
- Cosplay 社群近期將在哪些地方舉辦活動?
- 全臺灣有哪些學校在電腦教室內安裝 linux?
- ...
2014年8月5日 星期二
出國旅遊尋找景點跟廁所超好用的離線地圖 osmand
[2015/2/26 幾乎整個重寫、 重截圖]
你常到處跑, 手機裡卻沒有離線地圖 app 嗎? 趕快安裝 osmand 吧!
這是 android 版的 OSM。 (
主要開發者表示: 現在已不限 android 使用,
所以其實它是 OSM And Navigation Direction 的簡寫)
OSM 是什麼? 大家一起寫百科全書, 寫出了維基百科;
大家一起畫地圖, 就畫出了 Open Street Map。
就像維基百科與大英百科各有優劣難分高下一樣,
OSM 跟 google map 或其他付費地圖比起來, 也各有優劣。
這篇中文介紹 不錯; 但我想分幾篇更詳細寫, 讓麻瓜更容上手。
大人問小孩: 「全世界的玩具隨便你挑? 這怎麼可能?
如果我要的玩具只有一個, 正好又被別人借走了呢?」