學習 · 天氣與天空解說

即時雷達如何送到你的手機

流暢的雷達動畫一開始是一堆數字,不是做好的影片。Forecast Bar讓全國掃描經過切圖、驗證、快取和裝置端繪製,再處理掃描之間的空檔,讓風暴能在螢幕上平滑移動。

課程

流暢的雷達動畫一開始是一堆數字,不是做好的影片。Forecast Bar讓全國掃描經過切圖、驗證、快取和裝置端繪製,再處理掃描之間的空檔,讓風暴能在螢幕上平滑移動。

一次全國掃描,約一千六百萬個數值

NOAA每兩分鐘將雷達觀測合併成一次全國掃描。這部影片使用的掃描有6,100乘2,700個點,共16,470,000個數值。Forecast Bar的伺服器每二十秒檢查一次是否有新掃描。

這是不同的時鐘。每二十秒檢查一次,不會每二十秒產生一筆新觀測。同樣地,每秒更新許多次的螢幕,也不是每秒收到那麼多次新的雷達掃描。

先送數值,之後再上色

雷達資料以數字傳送,每個點一個位元組。手機在繪製地圖時才加上顏色。這樣就能把底層雷達數值和使用者看到的色盤分開。

一格格單位元組雷達數值,其中154被標示並換算:(154 − 65) ÷ 2 = 44.5 dBZ
雷達資料以每點一個位元組傳送;手機繪製地圖時才將每個數值轉成顏色。

各雷達的掃描並不同步。某座雷達延遲時,它的資料會朝下一次真實掃描逐步過渡。影片將此描述為在真實掃描之間作業,而不是捏造另一筆觀測。

用驗證過的圖磚組成完整畫格

每個畫格都切成圖磚。圖磚會向鄰居借一像素的邊界,讓顯示的區塊接合時不留接縫。每個圖磚也有SHA-256指紋。

只有所有圖磚都通過驗證,畫格才會上線。一經發布就不再變更。螢幕需要的圖磚會以一個檔案、一次請求一起送達,而不是一片片陸續出現。

切成圖磚的雷達畫格,每塊都有勾號和LIVE標記,旁邊是SHA-256指紋清單,並註明不可變更、僅發布一次、永不更改
只有每個圖磚的SHA-256指紋都驗證通過,畫格才會上線,之後也不再變更。

把不可變更的畫格放在近處

因為已發布的畫格不會變更,邊緣快取可以保留一年。快取中的舊畫格仍是那個畫格;找到最新掃描是另一件事。

在裝置上,圖磚會堆疊進GPU記憶體,並在繪製時逐像素上色。影片中測得的自動播放結果約為一秒半。這測量的是動畫準備好播放的時間,不是雷達觀測的新舊,也不是通用的送達時間。

在掃描之間移動風暴,而不只是淡化

在兩次觀測之間的幾分鐘裡,風暴持續移動。單純的交叉淡化會讓舊風暴淡出、新風暴淡入,產生兩個模糊的分身。

GPU改為估算移動向量場,讓回波在畫格之間沿著路徑移動。結果可以在螢幕下次更新時顯示,在支援的螢幕上最高可達120 Hz。這是螢幕的上限,不是對每台裝置的承諾,也不會提高觀測頻率。

雷達回波疊上晚上7:56到8:02之間測得的移動向量場箭頭,旁邊寫著「測量運動」
GPU不做交叉淡化,而是測量移動向量場,並在掃描之間讓回波沿著它移動。

重點整理

下次可以這樣檢查:

  1. 區分掃描頻率、伺服器檢查和螢幕更新率。
  2. 即使動畫看起來連續,也要看時間標記。
  3. 平滑移動是掃描之間的繪製結果,不是新的雷達觀測。
Transcript

Video transcript

Read the full transcript

這就是即時雷達。真實的風暴,滑過你的手機。要做到這麼流暢,得解決十個難題。一切從這樣的雷達開始。每兩分鐘,NOAA將它們合併成一次全國掃描:一千六百萬個數值。我們每二十秒檢查一次有沒有新的掃描。

我們不傳圖片。我們傳數字,每個點一個位元組,讓你的手機來上色。雷達的掃描並不同步。所以某座雷達延遲時,我們讓它朝下一次真實掃描逐步過渡。沒有捏造任何東西。

每個畫格都切成圖磚,每塊都向鄰居借一像素的邊界,所以你永遠看不到接縫。每個圖磚都有指紋。只有全部通過驗證,畫格才會上線。然後,它就再也不會改變。你的整個螢幕以一個檔案送達。一次請求。

因為畫格不會改變,邊緣節點會在你附近保留一年。在手機上,圖磚直接堆進GPU記憶體,顏色在繪製時逐像素上色。自動播放約一秒半就準備好。

接下來是難關。掃描相隔幾分鐘,風暴卻一直在動。單純淡化會把每個風暴變成兩個模糊的分身。所以GPU會測量每個風暴的去向,讓它沿著路徑滑行。

沒有閃爍。只有移動。每個畫格,都在螢幕下次更新時呈現。一次掃描。十個難題。一段流暢的動畫。Forecast Bar。

現在來學學怎麼看懂它。選下一支影片,訂閱頻道,別錯過下一集。

Forecast Bar能幫上什麼

把學到的知識派上用場。

即時雷達

一個完整畫格,然後是流暢的動畫。

這部影片帶你看Forecast Bar的即時雷達,從NOAA的全國掃描,到驗證過且不可變更的圖磚,再到在裝置上上色。動態融合可在iPhone、iPad、Mac和Apple TV上運作。

  • 上色前每個雷達點一個位元組
  • 螢幕畫格資料只需一次請求
  • 引用的測量結果中,約1.5秒即可自動播放
解讀結果

流暢的動態只是故事的一半。

知道動畫怎麼畫出來,就明白風暴為何能滑行。知道怎麼判讀雷達,才明白顏色、動態和時間標籤的意義。下一步請看姊妹課程。

  • 螢幕更新率與雷達掃描頻率是兩回事
  • 動態融合可在iPhone、iPad、Mac和Apple TV上運作
常見問題

常見問題

即時雷達每秒更新120次嗎?
在支援的裝置上,螢幕更新率最高可達120 Hz。影片中的全國雷達掃描每兩分鐘更新一次;掃描之間的平滑繪製不會產生新的觀測。
為什麼傳送雷達數字而不是圖片?
Forecast Bar每個點傳送一個位元組,並在裝置繪製時上色。雷達數值和顯示的色盤是分開的。
為什麼雷達畫格可以快取一年?
畫格只有在圖磚驗證後才會發布,之後就不再變更。不可變更的畫格可以快取,新掃描則由畫格清單標示。
1.5秒的數字代表雷達資料是1.5秒前的嗎?
不是。這是測得的自動播放準備時間,不是觀測的新舊或送達延遲。
Forecast Bar App圖像

為預報加上脈絡。

探索上述Forecast Bar功能。功能是否可用取決於你的方案、裝置和位置。

免費下載;即時天氣需要訂閱。在iPhone和iPad上,每種訂閱方案都為新訂閱者提供7天免費試用;Mac方案則不含試用。Mac與iOS方案各自獨立;iOS上的Forecast Bar Gold已包含Apple TV。