2020/09/29 | 電子報No.0179期 | Roger 陳超群 X Jack 廖康淵 X Stan 陳力綱

口罩販售藥局的坐標定位與確認–發佈第一版地圖 👉口罩地圖

臺灣對COVID-19的防疫成績斐然,除了自身堅強的公衛體系之外,本次所採取的防治政策一一奏效,特別是2020年2月6日上路的「口罩實名制」,讓健保特約藥局來統一販售口罩(含無特約藥局之鄉鎮衛生所),更是穩定疫情的關鍵。為了讓民眾能夠更快查到藥局的地點,瑞竣科技於2月5日先針對衛福部所公開的6,514間特約藥局及56間衛生所資料進行地址定位,處理的過程發現Google只能定位到6,427間藥局,其餘的87間無法達到精準定位,因此採用手動調校(例如:補上缺少聚落名的地址、修正有錯別字的地址)及搭配公司內部的定位模組knowhere輔助確認,最後再透過Google街景比對。

在當天就完成了6,514家健保特約藥局(刪除停業或終止)及56間衛生所(刪除郵政信箱)空間定位作業,並且將結果放在CARTO平台上提供民眾查詢,原本我們以為這樣就完成任務了(Version 1),但是隨著政府開放更多的資料,也激發起我們想要繼續改版的熱誠….

epaper0179_01

▲ 第一版地圖:口罩販售藥局的坐標定位與確認

 

藥局點位結合剩餘口罩即時資料–發佈第二版地圖

隨著衛福部因應民眾對於藥局口罩剩餘數量的要求,因此釋出了特約藥局口罩剩餘數量的API,一開始資料的內容是每30分鐘更新一次。我們思考若要將藥局點位與API的內容結合,應該是自己架設網站比較合適,但若是還要管理網站的效能與流量,可能就會耗費掉不少時間了。剛好CARTO支援資料表自動同步(Sync)的功能,只需要透過雲端資料庫(PostGIS 及 PostgreSQL)就可以串接API的CSV檔案,再讓藥局點位的資料表與API的資料表連結,即可讓地圖上的藥局點位呈現出口罩剩餘的數量資訊。

在地圖的設計上,利用SQL語法來分類口罩的數量級距,因為每天每個藥局只有配給200個口罩,所以就將級距分為100-200個、0-100個、無資料等3種類別,並且搭配Cartocss 將100-200個標示為綠色(顯示充足)、0-100標示為黃色(即將銷售完畢)、無資料標示為灰色。另外,也發現資料中有藥局的口罩存量超過200個,已經超過每天配給的數量,在當時的口罩皆當天完售的情況來看,很可能是有問題的資料,所以標示紅色且加上問號。

除了圖面的點選查詢之外,統計圖面上剩餘的口罩數量及依照級距來篩選藥局點位是個不錯的功能,移動圖面時就可以快速地計算出結果,讓民眾可以更直接掌握區域內口罩的數量統計,以及篩選出哪個藥局還有剩餘的口罩。我們也把網站公布在口罩供需資訊平台,讓口罩地圖的資訊更集中,第二版地圖(Verson 2)我們共花了6個小時,讓它盡快上線。

epaper0179_02

 

epaper0179_03

▲ 第二版地圖:藥局點位結合剩餘口罩即時資料

 

剩餘口罩API更新頻率調整–發佈第三版地圖

沒想到隔天新聞報導,民眾反映該API的更新頻率太低,造成了民眾到藥局時撲空的困擾,因此衛福部逐漸開始提升了剩餘數量的API更新頻率,再加上API所提供的資料欄位名稱為中文,我們在CARTO更新資料表時,中文欄名會有錯誤發生。正在忙著專案的我們又陷入是不是要繼續更新的窘境,既然做了那就繼續吧。

由於造成錯誤原因是中文的欄名,所以就來用暫存的方式來修改一下吧,我們採取Google Apps Script將衛福部的API資料重製欄位名稱,並且將重製後的檔案儲存至Google雲端硬碟上,再使用CARTO Import API將此檔案自動同步至CARTO上,且設定15分鐘更新一次,這樣的資料處理流程全部都在雲端軟體上執行,以解決資料同步的需求,大約花了6個小時完成這版(Verson 3)。

epaper0179_04

▲ 第三版地圖:剩餘口罩API更新頻率調整

 

加上藥局銷售方式資訊–發佈第四版地圖

隨著排隊人潮的增加,各家藥局開始調整口罩銷售的方式,例如抽號碼牌、特定的銷售時間等等,衛福部貼心提供了讓藥局可以自行註解這些銷售規則,再透過開放資料API提供給大家使用,因此我們也將最後一版的更新(Verson 4)加這些註解。另外,這個版本在發佈前,剛好因為鑽石公主號事件政府單位公佈數個北區景點,要求曾經在1月31日到過這些景點的民眾需要自主健康管理至2月14日,我們也緊急將這些景點處理後放到地圖上。

期間接獲使用者的意見回饋,希望我們將藥局的點位顏色調整的更清楚,因此我們將口罩剩下100-200個調整為綠色、20-100個調整為黃色、0-20個調整為紅色,無資料及超過200個口罩的藥局調整為灰色;在區域統計部分,調整為「全國剩餘成人口罩總數」、「全國剩餘兒童口罩總數」、「地圖範圍內剩餘成人口罩總數」、「地圖範圍內剩餘兒童口罩總數」四項統計數據;在篩選藥局點位部分,我們也依據上述的100-200、20-100、0-20、超過200個及無法取得資料等級距,分別針對成人口罩與兒童口罩數量提供篩選功能,這也是我們最後一次的改版(Verson 4)。

epaper0179_05

▲ 第四版地圖:加上藥局銷售方式資訊

全臺健保特約藥局剩餘口罩數地圖」總共歷經4次主要改版,由最初全臺健保特約藥局地圖上線,後歷經結合口罩剩餘數量API及調整更新頻率分別更新了第二版及第三版,最後因應納入鑽石公主號事件點位、健保藥局口罩銷售方式調整地圖為第四版,可提供全國剩餘口罩數量(成人、兒童)及圖面範圍內剩餘口罩數量(成人、兒童)資訊,且可透篩選查詢到口罩剩餘較多的藥局,本網站截至7月份為止沒有停機狀況發生,共計達214,442次點閱。

epaper0179_06

▲ 第一版地圖

期間要特別感謝內政部國土測繪中心的臺灣通用電子地圖服務,讓藥局點位的套疊結果更精準,民眾在使用上也更容易上手。此外,為了讓資訊更集中,瑞竣科技也將網站加入至口罩供需資訊平台,以期待透過地圖領域的專業為防疫盡一份心力,也特別將此過程作個記錄,讓我們在這個所謂「臺灣有史以來單一議題最大規模的黑客松活動」留下美好的一頁。

 

更多有趣的地圖資訊都在「瑞竣科技 給您地圖新鮮事」,馬上Follow


Author
Roger 陳超群

任職於空間圖資事業部,專長為GIS資料處理與主題式地圖設計,平常喜歡MLB、La Liga、NBA等運動賽事,喜歡到戶外活動。

Author
Jake 廖康淵

任職於空間圖資事業部,專長是程式開發與軟體技術支援,喜歡從地圖發現美麗的風景。

Author
Stan 陳力綱

任職於空間圖資事業部,迴盪在巨量資料之中,衷於將大量資料簡單化,使得大家能更輕易的使用並應用在系統上。