?
北京時間 8 月 3 日零時 18 分,飛行航班信息平臺 Flightradar24 發(fā)布推文稱,佩洛西搭乘的 C-40C 專機(jī)(呼號 SPAR19)在臺北降落時有 70.8 萬人進(jìn)行實(shí)時追蹤,SPAR19 創(chuàng)下 Flightradar24 平臺實(shí)時追蹤人數(shù)最高紀(jì)錄。凌晨 4 時 21 分,F(xiàn)lightradar24 發(fā)布推文稱,這架呼號為 SPAR19 的飛機(jī)從吉隆坡起飛到降落在臺北期間,有 292 萬用戶追蹤了至少其中一段飛行航程動態(tài)。飛機(jī)降落時,有 70.8 萬人進(jìn)行實(shí)時追蹤。這兩項(xiàng)數(shù)據(jù)都創(chuàng)下 Flightradar24 的最高紀(jì)錄。Flightradar 24:實(shí)時追蹤全球飛行航班
Flightradar 24 是一項(xiàng)全球航班跟蹤服務(wù),最初由瑞典航空愛好者創(chuàng)立,可以提供全球數(shù)千架飛機(jī)的實(shí)時信息。
Flightradar 24 可以實(shí)時跟蹤來自全球 1200 多家航空公司的 180000 多個航班,往返于全球 4000 多個機(jī)場。可以在線跟蹤當(dāng)天飛行航班的飛行地圖軌跡、飛機(jī)型號、出發(fā)地、目的地、海拔高度、飛行速度、經(jīng)緯度、飛機(jī)雷達(dá)型號等信息。此外,多天以前的飛行航班信息也可以追蹤到。
Flightradar24 提供的上述服務(wù)可在線使用,適用于 iOS 以及 Android 設(shè)備。用戶如果想追蹤某一航班的信息,可以直接登錄 Flightradar24 官網(wǎng)(http://www.flightradar24.com/),輸入航班信息或者點(diǎn)擊地圖中的航班,就可以追蹤該航班飛行信息。
航班跟蹤的工作原理Flightradar24 結(jié)合了來自多個數(shù)據(jù)源的數(shù)據(jù),包括 ADS-B、MLAT 和雷達(dá)數(shù)據(jù)。ADS-B、MLAT 和雷達(dá)數(shù)據(jù)與航空公司和機(jī)場的時刻表和航班狀態(tài)數(shù)據(jù)匯總在一起,可以在 Flightradar24 官網(wǎng)(www.flightradar24.com)和應(yīng)用程序(https://www.flightradar24.com/apps)中實(shí)現(xiàn)航班跟蹤功能。
ADS-B 系統(tǒng)Flightradar24 用于接收航班飛行信息的主要技術(shù)稱為廣播式自動相關(guān)監(jiān)視系統(tǒng)。下圖很好地解釋了 ADS-B 技術(shù)。??
1、飛機(jī)從 GPS 導(dǎo)航源(衛(wèi)星)獲取其位置
2、飛機(jī)上的 ADS-B 應(yīng)答器傳輸包含位置(以及更多內(nèi)容)的信號
3、ADS-B 信號由連接到 Flightradar24 的接收器接收
4、接收器向 Flightradar24 發(fā)送數(shù)據(jù)
5、數(shù)據(jù)顯示在 www.flightradar24.com 和 Flightradar24 應(yīng)用程序中
ADS-B 是一項(xiàng)正在開發(fā)中的相對較新的技術(shù),目前,它還很少被空中交通管制 (ATC) 使用。Flightradar 24 估計(jì),大約 70% 的商用客機(jī)(歐洲 80%,美國 60%)配備了 ADS-B 應(yīng)答器。對于通用航空來說,這個數(shù)字可能低于 20%。不過,配備 ADS-B 接收器的飛機(jī)的比例正在穩(wěn)步增加, 逐漸成為全球大多數(shù)飛機(jī)的強(qiáng)制要求。在強(qiáng)制要求的情況下,ADS-B 將取代初級雷達(dá),成為空中交通管制中心使用的主要監(jiān)視方法。
Flightradar24 在全球擁有一個超過 2 萬個 ADS-B 接收器的網(wǎng)絡(luò),這些接收器從帶有 ADS-B 應(yīng)答器的飛機(jī)接收飛行信息,并將這些信息發(fā)送到 Flightradar24 的服務(wù)器。由于使用的高頻頻率(1090 MHz),每個接收器的覆蓋范圍被限制在所有方向上大約 250-450 公里(150-250 英里),具體取決于位置。飛機(jī)飛行距離接收器越遠(yuǎn),它必須飛得越高才能被接收器覆蓋。因?yàn)榫嚯x的限制,使得 ADS-B 目前對海洋的覆蓋變得非常困難。
在巡航高度(30,000 英尺以上),F(xiàn)lightradar24 覆蓋了歐洲和美國的 100%(區(qū)域)。在加拿大、墨西哥、加勒比、委內(nèi)瑞拉、哥倫比亞、厄瓜多爾、秘魯、巴西、南非、俄羅斯、中東、巴基斯坦、印度、***、日本、泰國、馬來西亞、印度尼西亞、澳大利亞、新西蘭,ADS-B 的覆蓋和范圍也不錯。在世界其他地區(qū),ADS-B 的覆蓋范圍各不相同。Flightradar24 正在不斷通過 FR24 接收器在世界各地增加覆蓋范圍。
MLAT在一些覆蓋多個 FR24 接收器的 地區(qū),F(xiàn)lightradar24 還使用一種到達(dá)時間差 (TDOA) 的方法,借助多點(diǎn)定位 (MLAT) 計(jì)算未配備 ADS-B 的飛機(jī)的位置。通過測量從使用老式
ModeS 應(yīng)答器的飛機(jī)接收信號所需的時間,就可以計(jì)算出這些飛機(jī)的位置。需要 4 個或更多的 fr24 接收器,接收來自同一架飛機(jī)的信號,才能使 MLAT 工作。MLAT 的覆蓋范圍只能在大約 3,000-10,000 英尺以上實(shí)現(xiàn),因?yàn)殡S著高度的增加,四個或更多的接收器接收應(yīng)答器信號的概率增加。
目前,歐洲和北美的大部分地區(qū)都被 3,000-10,000 英尺以上的 MLAT 覆蓋。墨西哥、巴西、南非、印度、中國、日本、臺灣、泰國、馬來西亞、印度尼西亞、澳大利亞和新西蘭也有一些 MLAT 覆蓋。隨著 Flightradar24 繼續(xù)向網(wǎng)絡(luò)添加新的接收器,更多地區(qū)將獲得 MLAT 覆蓋。
衛(wèi)星基于衛(wèi)星的航班跟蹤是 Flightradar24 尋求全球 ADS-B 覆蓋的最新舉措。配備 ADS-B 接收器的衛(wèi)星從地面 ADS-B 網(wǎng)絡(luò)覆蓋區(qū)域之外的飛機(jī)收集數(shù)據(jù),并將該數(shù)據(jù)發(fā)送到 Flightradar24 網(wǎng)絡(luò)。Flightradar24 上可用的基于衛(wèi)星的 ADS-B 數(shù)據(jù)來自多個供應(yīng)商。由于提供數(shù)據(jù)的衛(wèi)星數(shù)量及其位置是動態(tài)的,因此衛(wèi)星覆蓋范圍也各不相同。通常,基于衛(wèi)星的 ADS-B 增加了無法進(jìn)行地面接收的海洋上空飛行的覆蓋范圍。只有配備 ADS-B 應(yīng)答器的飛機(jī)才能通過衛(wèi)星被跟蹤。
估計(jì)
當(dāng)一架飛機(jī)飛出覆蓋范圍時,如果航班目的地已知,F(xiàn)lightradar24 會持續(xù)估計(jì)飛機(jī)的位置長達(dá) 2 小時。對于沒有已知目的地的飛機(jī),位置估計(jì)可達(dá) 10 分鐘。位置是根據(jù)許多不同的參數(shù)計(jì)算出來的,且在大多數(shù)情況下相當(dāng)準(zhǔn)確,但對于長途飛行來說,在最壞的情況下,位置可能會偏離約 100 公里 (55 英里)。在設(shè)置中有一個選項(xiàng),可以設(shè)置多長時間你想看到估計(jì)的飛機(jī)在地圖上。
如何開發(fā)一款航班跟蹤程序本教程將幫助大家使用 FlightRadar24(https://cesium.com/blog/2020/08/13/flightradar24/)收集到的雷達(dá)數(shù)據(jù),構(gòu)建自己的第一款 Cesium 應(yīng)用程序,以可視化方式追蹤從舊金山到哥本哈根的真實(shí)航班。
接下來,您將學(xué)習(xí)如何:
-
在 Web 上設(shè)置并部署 Cesium 應(yīng)用
-
添加全球 3D 建筑物、地形與圖像基礎(chǔ)層
-
通過位置列表,準(zhǔn)確顯示飛機(jī)的持續(xù)行進(jìn)情況
我們將從 Cesium ion(用于流傳輸和 3D 內(nèi)容托管的開放平臺)獲取全球衛(wèi)星圖像、3D 建筑與地形數(shù)據(jù)。
如果您還沒有 Cesium ion 賬戶,請點(diǎn)擊此處(https://cesium.com/ion/signup)免費(fèi)注冊。
在登錄完成后:
轉(zhuǎn)向 Access Tokens(https://cesium.com/ion/tokens)選項(xiàng)卡。
請注意默認(rèn)令牌(https://cesium.com/ion/signin/tokens)旁的復(fù)制按鈕,我們會在下一步操作中使用這個令牌。
Cesium ion 是一個用于流傳輸和 3D 內(nèi)容托管的開放平臺,您可以使用其中提供的全球精選數(shù)據(jù)創(chuàng)建自己的實(shí)際應(yīng)用。??
1、設(shè)置 Cesium 應(yīng)用
這里我們使用開源 JS 引擎 CesiumJS 創(chuàng)建自己的應(yīng)用,同時使用在線 IDE Glitch 托管應(yīng)用成果。
使用基礎(chǔ)模板創(chuàng)建一個新的 Glitch 項(xiàng)目(https://glitch.com/edit/#!/remix/cesium-template)。
單擊左側(cè)面板中的 index.html,查看應(yīng)用程序代碼。
將 your_token_here 替換為我們從令牌頁面處獲取的訪問令牌。
點(diǎn)擊上方的 Show,再選擇 Next to The Code 運(yùn)行應(yīng)用。??
到這里,index.html 中的代碼會執(zhí)行三項(xiàng)操作:
導(dǎo)入 CesiumJS 庫。通過以下兩行加載 JS 和 CSS 文件:
為場景添加一個 HTML 容器:?
- ?
<div id="cesiumContainer">div>.
初始化查看器:?
- ?
const viewer = new Cesium.Viewer('cesiumContainer');
現(xiàn)在我們已經(jīng)在瀏覽器中運(yùn)行起最基礎(chǔ)的 CesiumJS 應(yīng)用程序,其中包含來自 Cesium ion 的全球衛(wèi)星圖像。
配置自動刷新Glitch 會在每次代碼更改時,自動刷新當(dāng)前頁面。您可以單擊左上角的項(xiàng)目名稱并取消相應(yīng)勾選框,借此切換為不自動刷新:?
使用應(yīng)用窗口上方的刷新按鈕,即可重新運(yùn)行當(dāng)前應(yīng)用:?
2、添加全球 3D 建筑物與地形
下面,我們在場景中添加一些全局圖層。您的 Cesium ion 賬戶默認(rèn)可以訪問以下資產(chǎn):
Cesium World Terrain(https://cesium.com/platform/cesium-ion/content/cesium-world-terrain/)——高分辨率地形,精度可達(dá) 1 米。
Cesium OSM Building(https://cesium.com/platform/cesium-ion/content/cesium-osm-buildings/)——由 OpenStreetMap 提供超過 3.5 億座建筑物的數(shù)據(jù)。
Bing Maps Aerial Imagery——分辨率達(dá) 15 厘米的全球衛(wèi)星影像。
到這里,您的應(yīng)用已經(jīng)用上 Bing Maps 層了。
1 在 index.html 中,使用以下代碼替換掉您的 JS 代碼,但請保留之前使用的訪問令牌行。
// Keep your `Cesium.Ion.defaultAccessToken = 'your_token_here'` line from before here.
const viewer = new Cesium.Viewer('cesiumContainer', {
terrainProvider: Cesium.createWor
ldTerrain()
});
2 通過單擊和拖動來探索場景。手動時按住 CTRL 鍵可以調(diào)整相機(jī)角度。
請注意,放大時會加載更多高級細(xì)節(jié),請根據(jù)實(shí)際準(zhǔn)確性需求選擇可視化比例。
這里我們使用的是 3D Tiles,一種能夠?qū)?nèi)容流傳輸至任意設(shè)備的開放標(biāo)準(zhǔn)。感興趣的朋友請點(diǎn)擊此處(https://cesium.com/docs/tutorials/ion-intro/)了解如何將自有數(shù)據(jù)轉(zhuǎn)換為 3D Tiles。
3、可視化各單獨(dú)樣本
FlightRadar24 使用多種方法追蹤空中交通,包括雷達(dá)信號。為簡單起見,這里我們將雷達(dá)數(shù)據(jù)直接復(fù)制到應(yīng)用程序當(dāng)中。但大家之后也可以擴(kuò)展相應(yīng)代碼以解析原始數(shù)據(jù),甚至在樣本從服務(wù)器傳遞至應(yīng)用程序的過程中,對空中交通進(jìn)行實(shí)時可視化。感興趣的朋友可以點(diǎn)擊此處(https://s3.amazonaws.com/cesiumjs/downloads/FlightRadar24_SFO_to_CPH_SK936.csv)下載航班原始數(shù)據(jù)。
1 添加以下代碼,即可對場景中的單一點(diǎn)位進(jìn)行可視化,并引導(dǎo)相機(jī)前往該點(diǎn)。
2 點(diǎn)擊紅點(diǎn)以查看附加說明。此描述可用于附加信息,例如每個點(diǎn)位的確切位置或捕捉時間。?
此處代碼片段過長,請查看:
?https://cesium.com/learn/cesiumjs-learn/cesiumjs-flight-tracker/
?
4、要對完整雷達(dá)樣本進(jìn)行可視化,請將以上代碼(第 3 步)替換為以下代碼片段。
?
此處代碼片段過長,請查看:
?https://cesium.com/learn/cesiumjs-learn/cesiumjs-flight-tracker/
?
現(xiàn)在,我們已經(jīng)可以看到航班的完整雷達(dá)樣本了,從登機(jī)口、跑道、一直到降落在哥本哈根機(jī)場的全過程。?
?
我們使用的是什么坐標(biāo)系?
CesiumJS 中的坐標(biāo),使用的是 ECEF 格式的 Cartesian3 類。在這套系統(tǒng)中,原點(diǎn)(0,0,0)代表地球的地心。
因此,我們才使用 Cartesian3.fromDegrees 將經(jīng)度、緯度和高度轉(zhuǎn)換為 ECEF 中的 X、Y 和 Z。
CesiumJS 的高度單位為米,與 WGS84 保持一致。我們對雷達(dá)數(shù)據(jù)進(jìn)行了預(yù)處理,借此將相對平均海平面高度的英尺轉(zhuǎn)換為米。
5、隨時間推移實(shí)現(xiàn)航班軌跡可視化
到這里,我們已經(jīng)完成了對雷達(dá)樣本的可視化。CesiumJS 內(nèi)置支持,允許向持續(xù)收集到的樣本間插值,因此可以看到飛機(jī)在任意給定時刻的所處位置。
我們還將創(chuàng)建一個 SampledPositionProperty ,用于存儲各位置及時間戳。源數(shù)據(jù)不并不包含各樣本的時間戳,但由于我們明確知道追蹤的航班編號為 SK936,計(jì)劃于太平洋標(biāo)準(zhǔn)時間 2020 年 3 月 9 日下午 4:10 起飛。這里,我們假設(shè)位置樣本的采集間隔為 30 秒。
1 在 index.html 中將所有 JS 代碼替換為以下代碼,只保留開頭確定的訪問令牌行。
2 航班動畫:
-
使用左下角的按鈕播放 / 暫停動畫。
-
單擊并拖動詢問時間軸,即可切換場景時間。
-
雙擊地面上的任意位置,即可解除相機(jī)與移動實(shí)體的綁定。
?
此處代碼片段過長,請查看:
https://cesium.com/learn/cesiumjs-learn/cesiumjs-flight-tracker/
從這趟跨大西洋航班,我們可以看到 3D 可視化為何能大大降低數(shù)據(jù)的理解難度。不過雷達(dá)樣本的連接線大多是直的,我們可以在 2D 地圖上使用常見的 Web 墨卡托投影,用曲線表示飛機(jī)的起降軌跡。??
6、上傳飛機(jī)模型
最后一步,我們把飛機(jī)的 3D 模型添加到實(shí)體當(dāng)中,替換掉簡陋的綠色圓圈。
1 下載飛機(jī)的 3D 模型(https://s3.amazonaws.com/cesiumjs/downloads/Cesium_Air.glb)。
2 前往賬戶儀表板,將模型文件拖進(jìn)此頁面。
3 選擇 3D Model(Convert to glTF),之后點(diǎn)擊 Upload。
4 處理完成之后,通過在儀表板中選擇新資產(chǎn)并查看右側(cè)的預(yù)覽窗口,即可找到資產(chǎn) ID。?
7、添加飛機(jī)模型
1 刪除從以下行開始的之后所有代碼:
// STEP 4 CODE (green circle entity)
2 替換為以下代碼。
3 將 your_asset_id 部分替換為你的資產(chǎn) ID。
?
此處代碼片段過長,請查看:
?https://cesium.com/learn/cesiumjs-learn/cesiumjs-flight-tracker/
現(xiàn)在,我們就有了能夠跟隨飛行雷達(dá)樣本持續(xù)前進(jìn)的飛機(jī)模型!如果大家有自己的 3D 模型,也可以嘗試添加到場景中。
?
評論
查看更多