在 Apple 相關的 3C 討論區或社團最近常看到一個討論,iOS 更新之後天氣變得不準?
例如:
– 外面風很大卻是顯示微風
– 外面明明下雨但天氣 app 顯示大太陽
– 出門前看今天應該一整天好天氣,結果很快就下大雨
– 新舊兩支手機,同一地區卻顯示不同溫度跟天氣狀況

大部分人都有很明確講出這類問題。並不是把預估降雨機率 100% 搞錯定義,誤認為 100% 表示雨量會很大或是某某地區100%土地面積都會下雨的問題。

這問題想想也挺有趣,選舉開票時,每家電視台在開票直播時數字都不一樣,是因為電視台想以領先的報票速度吸引觀眾,可能造假數字,或是派記者直接在開票所紀錄回報。那天氣亂報有什麼好處嗎? 沒有吧!

手機裡看到的天氣預報當然不是手機自己運算推演來的,只是跟第三方服務拿資料來顯示而已,那照理說應該都是跟中央氣象局拿資料的吧? 同一套資料處理過後然後顯示出來,為什麼還會有天氣預報準不準確的問題?

隨便比較 iOS16 跟其他系統的天氣

做這行的,關心一下天氣 API 資料,也是很合理的,
有一些測試手機,也是很合理的,
拿出手邊 iOS14, iOS15, iOS16, 的手機來對照一下,選擇新竹,發現真的 iOS16 跟其他舊系統有點出入…


(圖片不一樣大是因為不同機型)

同一時間 iOS14, 15 都是當下 26 度,週六24~26度,週日24~28度,
就只有 iOS16 的當下溫度和未來天氣預報數字跟 iOS 14, 15 有微妙的差距。

從 Apple 的官方說明可以看到資料來源都是國外的氣象單位,沒有中央氣象局:


「天氣」App 中的功能適用情形和資料來源

官網有一句話,聽起來就很可疑,跟天氣不準肯定有關係

如果你使用 iOS 15.2 或之前版本,你將看到由 The Weather Channel 提供的 10 天天氣預報。

從截圖果然發現 iOS16 少了 The Weather Channel 的圖案

那之前好像比較準的 The Weather Channel 又是誰,氣象資料又是哪來的?

The Weather Channel

Weather Group Through the Years 可以看到 1982 年 Weather Group 成立, 2016 年被 IBM 收購,拆成 The Weather Group 和 The Weather Company 兩個事業體。
今天到 The Weather Channel 網站可以看到 LOGO 旁邊大大的掛著”An IBM Business”,這個 IBM 的子公司在 2021 年的研究據稱是全球最準確的天氣預報提供商 IBM’s The Weather Company Is World’s Most Accurate Forecaster, New Study Says
LOGO 名稱叫 The Weather Channel 的 weather.com 網站,雖然有 資料供應商頁面,但裡面只列出一大串廣告供應商、分析系統供應商、網路系統供應商,就是沒有特別寫出氣象資料來源,線索到這就斷了。

iOS 天氣的替代品

我不是農漁業,也不是賣雨衣雨傘的,也不是旅遊業,也不是生態導覽員、也沒有登山、海釣、衝浪、玩農產品期貨之類的興趣,也沒有直接用天氣資料開發相關產品,天氣預報準不準對我來說根本無關緊要。

如果想要找其他 iOS16 天氣的替代品,可以參考以下幾個,都是免費的… 但是在桌面小工具 widget 或是 Always on Display 顯示得是否好看,就需要自己嘗試。

中央氣象局W
中央氣象局的官方 app

落雨小幫手
作者是行政法人國災害防救科技中心

天氣即時預報
民間開發的,裡面會有廣告,天氣即時預報FB粉專有寫資訊來源中華民國(台灣)行政院交通部中央氣象局,或各國氣象單位已開放預報資料。

中央氣象局氣象資料開放平台 API

市面上的氣象 API 還有很多套,但沒有美國時間一一查詢資料究竟是從哪裡來的,還有對於資料處理的機制為何。
大家都覺得中央氣象局可能會比較準,那以中央氣象局的資料為例,看看原始資料長怎樣,評估有哪些需求可以做,哪些不行。

雨量觀測站資料 – 中央氣象局全球資訊網可以看到新竹市列了 8 個雨量觀測站,網頁上寫說「尚有其他單位的自動雨量觀測結果」。
但是從 API 抓取資料跟直接看網頁完全是兩回事,從台灣的中央氣象局氣象資料開放平台的自動氣象站-氣象觀測資料 一看,新竹市只剩 3 座觀測站,北區、東區、香山區各有一座,把 JSON 資料裡的經緯度打在地圖上顯示是這樣子:

光看網頁以為新竹市的觀測站有 8 個,但 API 裡面給的氣象觀測站只有 3 個,
離觀測站很遠的人,可能氣象資料會越不準,僅供參考吧。

平台上主要有預報跟觀測,再翻了一下裡面的 JSON 資料,地理分區沒有想像中這麼細,
例如從一週農業氣象預報-未來天氣概況、各地天氣預報及農事建議 可以發現預報竟然只有分北部、東北部、南部、中部…之類很大的分區,子節點就是北部幾月幾號可能陰短漸雨

我們其實也不曉得在手機天氣裡輸入一個縣市區域,最後顯示的是該區域的氣象觀測站數據,還是離最近的氣象觀測站數據? (例如有人地址是新北,但其實離桃園比較近的情況),
在探索 API 實際給的資料後,已經無法想像平常看的XX市XX區天氣預測,究竟是有憑有據,還是只是用一些地區大範圍數據,瞎掰組合硬湊出來的?

iOS16 天氣資料比較不準? 隨便啦,可能從以前就不準了,天有不測風雲,天氣預報僅供參考。

另外也發現還有天氣風險 WeatherRisk 這種民間公司,號稱整合更多氣象資料:

天氣風險是台灣第一家民間氣象公司,擁有專業的氣象團隊與國家核發的「氣象預報證照」,提供各項氣象專業服務,並協助政府單位、企業客戶應對氣候風險。
天氣風險是由彭啟明博士創立於2003年,深耕台灣近20年,客戶遍布於能源、科技、零售、物流、農業、災害防救與政府單位,提供客製化的氣象服務。

從經緯度換算縣市區域

如果要做一個功能,依目前位置顯示天氣資訊,那用 ip2 geo 或 HTML5 Geolocation API 拿到地理資訊之後,怎麼知道 24.7986805555556, 120.986941666667 要顯示哪個縣市區域的天氣資料?
可以透過 單點坐標回傳行政區 | 政府資料開放平臺 取得 XML 格式的縣市區域名稱資訊
<townVillageItem>
<script/>
<ctyCode>O</ctyCode>
<ctyName>新竹市</ctyName>
<townCode>O01</townCode>
<townName>新竹市</townName>
<officeCode>OA</officeCode>
<officeName>新竹市</officeName>
<sectCode>0019</sectCode>
<sectName>成功段</sectName>
<villageCode>10018010026</villageCode>
<villageName>綠水里</villageName>
</townVillageItem>

結論

1.iOS15.2~16 系統更新後,天氣功能顯示的資訊更多了,但也換了氣象資料來源,這件事是本文唯一調查出來的事實。
2.iOS16 的天氣不準? 真要說的話,應該從 15.2 就開始不準了
新的氣象資料來源真的讓失誤率變高? 還是心理作用?
一個地區內少少幾個氣象觀測站,真的能完整代表和預測地區內的天氣數據?

3.準或不準需要進行精密的紀錄和統計
就像換成另一個每天都會有人「預報」的領域,也有人整理一些預測盤面走勢的大師準確率,結果發現韭菜散戶總是健忘…外國加密KOL比較香?整理過往喊盤分析文:猶如狂人日記翻版

4.天氣資料是常常會更新的
有可能現在看是不準的,但過幾分鐘後線上資料更新,又見風轉舵變準了,至少是一個不一樣的天氣資訊查詢媒介,不像古時候還要等氣象播報員或電視跑馬燈報導,聽一個人用不知道幾個小時前的資料,在晚上八點預測 12 小時後的白天天氣狀況? 甚至是下周的天氣?