taiwan-address-lookup 地址轉經緯度,一個被授權問題逼成兩半的工具
做開放資料的人都知道,台灣政府資料裡最常見的欄位之一就是「地址」。選舉公報有地址、公司登記有地址、工廠有地址、補助名單有地址——但地址只是文字,要做地圖、做分析,得先把它變成座標。
問題是,轉換的路每條都有坑。
Google Maps API 可以用,但授權條款寫得很清楚:轉出來的座標只能搭配 Google Maps 顯示,不能拿去做別的事。這對想自由運用資料的公民科技來說是死路。政府有 TGOS(通用電子地圖),API 功能完整,但申請流程繁瑣,跑完審核要等,而且實際打起來速度也不理想,大量處理完全不實際。
Ronny 的解法是:把資料抓下來,做成離線工具,讓任何人可以在自己電腦上跑,不用打 API、不用等網路。
資料來源是內政部,把全台地址與座標對應關係爬下來建成索引,查詢全在本地完成。同期做的 address-postcode 則處理另一個需求:有郵遞區號、但不確定完整地址的情況,反向推算地理範圍。postcode(2012)更早,算是 Ronny 最初開始碰地址資料的起點,整個系列前後跨了四年。
但工具上線沒多久,就碰到授權問題。
內政部的地址座標資料,後來被認定不適合以這種方式重新散布。爭議的結果是:資料部分轉成 private repo,公開的只剩下查詢工具本身的程式碼——一個沒有資料的資料庫工具,有點像只給你鑰匙但鎖已經換掉了。taiwan-address-lookup 從此變成一個結構完整、但需要自己想辦法餵資料的工具。
然後 COVID 來了。
2020 年初,疫情剛開始,衛福部資訊處要緊急建立一套 14 天居家檢疫追蹤系統。在那之前,各縣市的返國個案資料是用 Excel 在追蹤的——人越來越多,檔案越來越多,最後堆到將近百個 Excel,要清理成結構化資料匯入新系統,時間很趕。
資訊處長透過曾在衛福部擔任幕僚、也是 g0v 參與者的 Peggy 轉介,找到了 Ronny 來協助。
處理過程中跑出一個問題:很多返國民眾在機場填的居住地址,都只寫到路段,沒有村里名稱。而新系統的格式需要村里欄位。TGOS 理論上可以補,但申請要花時間,速度又慢,這種情況完全等不起。
taiwan-address-lookup 就這樣被拿出來用了。
這個原本是為了讓公民科技可以自由使用地址資料而做的離線工具,在 2020 年防疫最緊張的幾天,安靜地幫政府把將近百個 Excel 裡的地址對上了村里。沒有被寫進任何新聞稿,也沒有人特別知道。