disfactory-crawler

用顏色找違章工廠

📅 2020-01-20

Disfactory 不是 Ronny 發起的專案。

2019 年的某次 g0v 黑客松,有人上台提案:要做一個「農地違章工廠回報系統」,讓民眾可以直接舉報農地上的非法工廠。台灣的農地違章工廠問題由來已久,政府有資料、有法規,但執法困難,加上 2019 年《工廠管理輔導法》修法帶來的攻防,讓這個議題重新浮上檯面。

Ronny 聽完提案,覺得自己可以幫上忙。他累積了幾年 GIS 資料處理的經驗,知道這種問題的資料端通常是瓶頸,就主動上前說:我來負責資料的爬取。


問題是:農地上的工廠,怎麼大規模找出來?

內政部的地圖服務已經把工廠標出來了,農業用地的分區也有,但要把兩層資料疊在一起、找出所有交集,不是查幾個點就能解決的事——全台灣的農地面積太大了。

解法有點出人意料:爬地圖磁磚(map tiles)。

地圖服務在網頁上顯示地圖的方式,是把地圖切成一格格的小圖片,使用者拖動地圖時動態載入。這個方向是提案者自己想到的。Ronny 接手之後,把台灣本島在特定縮放層級的所有磁磚都抓下來,然後實作最直接的分析方式:看圖片裡的像素顏色。代表工廠圖層的是紅色,代表農業用地的是橘色,只要一張磁磚裡同時出現這兩種顏色,那塊地就可能是農地上的工廠,再把磁磚座標換算回真實經緯度,最後查地籍資料對上地號。

這個方法不優雅,但它有效。


爬出來的資料後來確實被 Disfactory 使用,成為系統初始資料的來源之一。之後幾年,Disfactory 團隊也繼續用這支程式,定期重跑來更新最新一年度的資料——農地違章工廠的情況年年在變,新的出現、舊的被拆,這個磁磚爬蟲就這樣安靜地持續提供地圖上的線索。