- 有效且靈活運用「臺南市政府資料開放平台」兩萬多筆通報資料。
- 超強又簡便的地圖查詢介面,支援多重關鍵字查詢。
- 透過手機裝置,一鍵定位是否身處疫情熱區,超好用der!
- 支援通知中心,快速得知最新資料日期,不需時時刻刻進入 APP 查詢。
- 將關注的 區 / 里 疫情加入常用項目,結合地圖查詢介面,輕鬆關注區 / 里的疫情變化。
- 圖表統計疫情分佈,關注地區疫情趨勢一目了然。
操作說明:
主畫面
1. 啟動 App 的第一個動作,會先自動從「臺南市政府資料開放平台」下載通報資料與噴藥記錄。
若沒有網路的話,會顯示如下的錯誤訊息。
一開始沒有網路的話,也抓不到資料,後面就不用介紹啦!所以請確認網路環境是否正常連線。
當所有的可用資料抓完之後,主畫面就有資料啦!接下來就可以進行各項功能操作了。
主畫面功能說明:
主畫面中顯示藍色的地方,按下去都是有功能的啦!會不會很容易理解呢?其中:
疫情分佈查詢 / 噴藥地點查詢 / 疫情分佈查詢:常用項目 / 分佈地圖:這四個功能按下去,畫面都會進入地圖查詢頁面,並附帶符合條件的關鍵字。
例如,點擊 功能按鈕,畫面會切換到地圖查詢介面,搜尋最後日期的資料並顯示在地圖上:
點擊 就是把最新噴藥日期 11-18 的 13 筆噴藥紀錄顯示在地圖上。
常用項目:這一區塊是可以捲動的,包含「區別」3 筆與「里別」3 筆,點擊常用項目內的資料,例如點擊「東區」這一筆
就會把 2015-11-16 的東區新增的 10 筆疫情顯示在地圖上。
那麼...點擊在新增疫情為 0 筆的項目上呢?例如大恩里 2015-11-16 的 新增/總數 為 0 / 93,點擊之後:
查詢 2015-11-16 大恩里疫情 0 筆記錄沒有意義,所以會自動轉換成查詢大恩里全部疫情 93 筆並顯示在地圖上。
(上面的「大恩里」疫情座標,看起來怎麼怪怪的啊~?還有標示在鹽水溪北岸的...恩~這個問題,請跟市政府大力反應吧!他們提供的座標就是錯誤的,回報錯誤的人也不只我一個人,但公開資料平台也始終沒有更正,真正的原因我也不清楚。)
各位發現了嗎?每一個地圖查詢畫面下方,都有不一樣的關鍵字。結果的不同,關鍵就在查詢的關鍵字上...
關鍵就在查詢的關鍵字上...
關鍵就在查詢的關鍵字上...
(很重要,說三次)
所以啦!這支 App 最好用的地方,就是這個地圖查詢功能啦!接下來要隆重介紹,超強又好用的地圖查詢功能。
地圖查詢功能
從主畫面的 點進去,就會直接不帶關鍵字的方式進入地圖查詢畫面了。
截至 2015 年 11 月中旬就已經有兩萬多筆記錄,若全部顯示在地圖上的話,手機就會當場卡.卡.卡.卡.卡....然後就不小心閃退當機啦!就算用了蘋果公司最快最大最強最新最屌的 iPhone 6s 噗拉絲,照樣也會給你當場卡.卡.卡.卡.卡,然後......
就沒有然後了,因為我沒有 iPhone 6s 噗拉絲,太貴了,買不起...(現在還在用 iPhone 4s)
所以雖然有兩萬多筆資料,不過地圖上也只會顯示最新的 1,000 筆疫情與 200 筆的噴藥紀錄。以 11 月以來降至每天兩位數的疫情來看,1,000 筆大約是 10 月下旬以後的紀錄。
限制 1,000 筆記錄並不表示 App 只能查詢最近一千筆的紀錄,它真正的意思是,如果查詢結果超過 1,000 筆,也只會在地圖上顯示日期最新的 1,000 筆資料。搜尋結果若少於 1,000 筆時就會全部顯示出來。
善用關鍵字
地圖查詢的關鍵字支援多重條件,例如:
查詢「2015-10 泉南里 東門」得到 21 筆資料,也就是搜尋範圍限制在2015年10月份泉南里東門路附近的疫情。其中「2015-10」、「泉南里」、「東門」這三個關鍵字順序沒有限制,中間只需用空格隔開即可。關鍵字組的個數也沒有限制,條件下得越多,結果更精確,每一組關鍵字都必須滿足才會顯示在地圖上。
疫情與噴藥紀錄同時搜尋
地圖查詢結果會同時顯示通報疫情與噴藥紀錄,例如關鍵字只輸入「泉南里」,結果如下:
某些疫情標示會特別的「紅明顯」,原因就是該座標不只有一筆資料。點擊疫情標示後,會顯示發生在該座標的所有通報紀錄,依日期排序,一目了然。
開放平台提供的座標精度只到小數點第三位(據說是個資法保護),每 0.001 相隔大約是一百多公尺,所以常有同一地點出現一堆通報病例。大概就兩種含義:
- 該地為連續發生疫情熱區,估計這附近的住戶家裡應該被噴藥噴了很多次。
- 座標錯誤,可能是登錄資料時不明原因以該座標輸入。
點擊紀錄右邊的 [+] 或是每一筆紀錄本身時,就能把這筆紀錄列為常用項目啦!可選擇要新增「區」或是「里」,新增後在主畫面和統計圖表的常用項目就看得到了。只支援紀錄最近新增的三筆區別或里別資料喔!
點擊地圖上噴藥的圖示,就會顯示在該地點的所有噴藥記錄,也是一樣因為座標精度的不足,有可能出現多筆。
定位功能
在地圖查詢介面中,只需點擊右下角的 圖示,就能打開定位功能。
空白關鍵字只顯示最近 1,000 筆資料的特性,再把定位功能打開時,就能知道自己是否身陷疫情熱區,時時刻刻提高警覺,還是趕緊就近趕緊買個防蚊液吧!萬一買不到防蚊液,還可以這樣做:
關鍵字訣竅
- 關鍵字組中,包含「疫情」,則只查詢登革熱通報疫情資料。
- 關鍵字組中,包含「噴藥」,則只查詢噴藥資料。
- 日期的差異:開放平台的資料中,通報疫情包含「年(4位)-月(2位)-日(2位)」(例如 2015-11-01),但噴藥記錄卻只有「月(2位)-日(2位)」(例如 11-01),如果關鍵字組中包含年份,也只會查詢通報疫情。(不懂噴藥記錄為何沒有加入年份...)
統計圖表
從主畫面點擊「統計圖表」即可。
分成日期跟月份兩種統計區間,點擊下方的標籤可切換。點擊圖表上面的圓點,會顯示統計的值。
通知中心
App 支援 iOS8 的通知中心,輕輕一滑就知道開放平台的資料更新到哪一天,再決定要不要點進去 App 撈資料,很方便喔!
關於「台南登革熱」
最後就是懇請支持啦~這麼好用的 App ,進入頁面時預設會載入廣告。
如果不想被廣告干擾的話,請從主畫面右上方點擊 ,購買「移除廣告」功能,NT$30 比一杯珍奶還便宜啊!請多多支持並鼓勵 本土型 App 的個人開發創作者如小弟我,讓我有更多的動力( ㄑㄧㄢ/ )來開發出更多的資料平台應用 App (ㄇㄞˇ ㄞ ㄈㄥˋ ㄌㄧㄡˋ ㄟ ㄙ ㄆㄨˇ ㄌㄚ ㄙ ),甘溫啦!
後記
本來沒打算寫這個 App ,不過今年的蘇迪勒風災之後,台南的登革熱疫情突然間大爆發,關注通報病例變成很多台南人每天必要的功課。
說到關注通報疫情,大部份的人也只是加入台南市政府的 LINE,了不起再連線到市府衛生局網站,翻閱又臭又長的 Excel 表格,最多也知道「哪個里」昨天又多了幾個病例而已。然而在台南市政府資料開放平台上也有疫情資料,並加入了座標與 路/街 名稱,應該是比較有參考價值。可是我搜尋了 AppStore ,竟然沒有任何一支 App 使用平台上的登革熱資料,現今已是 App 爆炸的時代,實在是令人匪夷所思...
「那就乾脆自己寫一個吧!」沒有就自己搞一個,是我一貫信念。差不多九月中下旬的時候,這個專案正式啟動了,當時想說應該不難,很快就能搞好。
萬萬沒想到,這竟然是自找麻煩的開始。請聽我娓娓道來~(泡茶)
------
一開始,基礎的程式兩三天就寫好了,後來還加了一丁點美化的元素,倒也自用得開心。可是沒多久,問題卻漸漸的開始浮現...
某天發現,App 一開就閃退了,問題找了半天,發現是資料的問題,當天有些資料出現莫名其妙的 NULL 空值。好吧~加個判斷,很快就修好了。
過了幾天,發現某天「東區」的疫情出現 0 ,想說賴神再神,也不可能將疫情瞬間消滅啊!果不其然,審視原始資料,當天的資料變成「東 區」,兩個字的區其實都有這問題(北區、南區...)...嗯~好吧!再改,一律拿掉空格,問題,也是不大...
過了幾天,打開 App 竟然又閃退了。再檢查,發現竟然是座標的問題。座標錯了就錯了啊!怎麼會發生閃退?
原來是當天的資料,經度跟緯度弄反了!緯度欄位被填入經度座標 122.xxx,緯度值 > 90 度時發生閃退,TNND 真想罵髒話,再加了判斷式,修好了...
又過了幾天,我發現資料的發布方式改了,它先來個「截至2015/09/30」,再從 10 月開始,每天產生一個獨立連結。然後每天連結取得的資料,欄位變少,識別編號竟然就這麼沒了。
換句話說,撈資料的邏輯全改了,這一塊撈取程式得重寫,真是要吐血了!
所以我終於知道,為何 AppStore 上面沒有相關應用。有誰願意浪費生命,跟這種邏輯改來改去,資料也錯來錯去的人為低級錯誤,繼續周旋下去?
於是給它放著觀察幾天,看起來這個邏輯應該是確定了。好吧!再改一次,又花了點時間重寫撈資料程式,時間已經來到十月中下旬。
才開心終於又搞好了,卻在自己寫的 App 裡,看到住家附近被標上了疫情通報。
「恩~這個應該是又弄錯了吧!資料中很多座標都是錯的!」心裏雖不以為意,但還是有點擔心這可能是真的...
又過了兩天,某天下午家門口被貼了噴藥公告,預告後天後要被噴藥,我只有一天的時間準備!
WTFUXK!沒想到竟然是真的。我的 App 提早兩天預告被噴藥個可能性,It works!不知該哭還是該笑?噴藥當天衛生局的人說,正因為這附近發生疫情,半徑 50 公尺內都是室內化學噴藥範圍。
噴藥前後的那幾天,打掃環境收拾善後,整個人累攤了。本來就沒什麼蚊子,噴藥後四天,我親手消滅了一隻蚊子,開始擔心被二次噴藥的可能性,於是恐慌症發作,每天盯著 App 查詢有沒有新的疫情...
再過了沒兩天,發現資料怎麼又怪怪的了?我撈到的資料筆數,跟官方發佈的數字,差距怎麼越來越大?
發現原來不是每天都有 API 串接,看來真的得改用 CSV 了。本來想放棄,但恐慌症驅使下,所以我又千辛萬苦搞定 CSV 的程序。嗯!幫自己按個讚!
可是...災難還沒結束啊!後來又發現特定某幾天的 CSV 根本吃不下來,研究了好久,發現是轉碼的問題。
現在幾乎都是 UTF-8 了,沒想到這個資料開放平台上,萬年 BIG5 碼神蹟再現啊!這已經是上個世紀的產物,終究...我還是解決了它。
看到這裡大家也應該知道了,說什麼開放資料平台,其實也只是把一堆本來的人為 Paper Work 放到平台上而已。如果本來就是用系統管理,就不會出現經緯度相反、BIG5 碼這種明顯的人為錯誤。
更可以推測,原始端應該不只一個人在做放資料這件事,應該是花了不少人力跟金錢,有做卻沒把事情做好,難道公家機關行事風格就這樣?
然後時間也來到十一月初,疫情也下降了,這個專案前前後後竟也花了我一個多月的時間。想想若只是自用,還真是不甘心啊~
所以決定再加把勁,讓它通過 Apple 審查上架,與大家分享吧!經歷漫長的審查過程(歪果人的感恩節),最終 App 就是大家現在看到的這個樣子了...
若各位覺得已經緩不濟急,那我只能泡好咖啡,對著電腦,路上無車無人,夜深無聲,跟大家說聲:
「對不起,我來晚了...」
今年的台南的登革熱疫情,已奪走了一百多條人命,並重創台南的觀光業,算是很嚴重的大事,但 AppStore 為何連一支 App 都沒有(或許是我沒找到)?其中的關連,或許值得大家一起思考,真正的問題到底出在哪裡。不論是弄個資料開放平台也好,或是一再的化學噴藥也罷,決定要做一件事的時候,目標應該定在哪裡?是要做好,還是有做就好呢?
其他補充:
留言列表