周佳佳,胡 海
(1. 武漢大學 資源與環(huán)境科學學院,湖北 武漢 430079)
熱帶氣旋是發(fā)生在熱帶或副熱帶洋面上具有暖心結構的低壓渦旋,是一種能量強大的熱帶天氣系統(tǒng)[1]。熱帶氣旋中心位置的確定是強度估計和路徑預測的基礎。熱帶氣旋服務客戶端能為用戶提供即時計算和查詢服務,對熱帶氣旋的監(jiān)測預報給予輔助支持。早期通過飛機對熱帶氣旋進行實測,由于成本較高以及安全性問題而逐漸減少;雷達監(jiān)測熱帶氣旋占據(jù)重要地位,但有距離限制和數(shù)據(jù)質(zhì)量要求[2];隨著氣象衛(wèi)星的發(fā)射以及分辨率的不斷提高,衛(wèi)星遙感技術逐漸成為監(jiān)測熱帶氣旋的主要手段[1-2]。
熱帶氣旋定位方法可歸納為云系形態(tài)識別、風場結構分析、云體溫濕反演、時空運動分析、集成定位和機器學習方法6 類。廣泛使用的Dvorak方法屬于模板匹配方法[2],還有特征提取法、對數(shù)螺線法等。耿曉慶[1]等提出旋轉(zhuǎn)系數(shù)的概念來表征熱帶氣旋形態(tài)的本質(zhì)特征;劉年慶[3]等利用一種基于橢圓擬合模型的全自動客觀方法來實現(xiàn)熱帶氣旋的中心定位;Said F[4]等利用風矢量產(chǎn)品提取氣旋中心;HU T G[5]等基于風矢量進行熱帶氣旋中心自動定位,結果表明定位精度與專家手動提取精度接近;張勇[6]等利用組網(wǎng)天氣雷達格點反射率因子確定了登陸臺風的中心位置,并通過實例驗證了該方法的可行性;薛利成[2]提出了一種基于紅外亮溫方差的熱帶氣旋客觀定位方法,對于臺風中心的旋轉(zhuǎn)定位,在序列影像中找出前后兩次相應特征點的軌跡,即可計算其中的轉(zhuǎn)動原點,即轉(zhuǎn)動矢量為零的臺風中心點[7];劉正光[8]等提出了一種利用云導風矢量圖進行臺風中心自動定位的方法;喬文峰[9]提出了一種基于衛(wèi)星云圖的集成定位方法,對同一臺風采用不同的定位方法,并通過加權平均法對結果進行綜合;蔣眾名[10]提出了一種基于Faster R-CNN 改進的臺風云系識別算法,以FY-2 號衛(wèi)星云圖和對應臺風云系的標注框為數(shù)據(jù)和標簽,對模型進行訓練和測試,計算得到的標注框中心即為臺風中心,結果優(yōu)于傳統(tǒng)方法。針對熱帶氣旋相關系統(tǒng)的研究較多,學者們基于ArcGIS分別開發(fā)了臺風預警系統(tǒng)[11]和臺風災害危險性評估系統(tǒng)[12];楊何群[13]等采用.NET 和ArcGIS Engine 技術開發(fā)了組件式GIS 臺風遙感監(jiān)測分析軟件系統(tǒng)。然而,這些系統(tǒng)主要是針對數(shù)據(jù)的可視化表達輸出,有綜合功能的軟件系統(tǒng)使用環(huán)境較復雜,且需要用戶掌握一些專業(yè)知識。
由谷歌、卡內(nèi)基梅隆大學和美國地質(zhì)調(diào)查局聯(lián)合開發(fā)的Google Earth Engine(GEE)是目前世界上先進的PB級地理數(shù)據(jù)科學分析與可視化平臺[14],擁有海量地理和遙感數(shù)據(jù),谷歌云平臺和后臺服務器為其提供了強大的數(shù)據(jù)存儲和處理能力。很多學者都在GEE上進行了全球或區(qū)域尺度的研究,如WANG L[15]等在2020 年10 月總結了利用GEE 平臺進行遙感陸地變化研究的相關內(nèi)容,涉及的方向包括森林和牧場、水、生態(tài)系統(tǒng)和生物量、氣候和溫度、濕地、土壤、農(nóng)業(yè)、土地使用與土地覆蓋、自然災害、城市、健康和人類活動等;LU L Z[16]等在GEE中使用MODIS影像進行臺風發(fā)生前后植被指數(shù)的計算,探究了中國東南沿海區(qū)域2000—2018 年受臺風影響的植被受災的空間特征,得出森林受災最嚴重、植被破壞情況與臺風著陸點高度相關的結論;FENG Y L[17]等在GEE中獲取Landsat8 數(shù)據(jù)計算颶風前后的植被指數(shù),研究颶風瑪麗亞對波多黎各森林系統(tǒng)的影響。上述研究僅利用GEE 平臺提取植被指數(shù)來評估熱帶氣旋的破壞情況,未對熱帶氣旋的發(fā)生發(fā)展和定位定強進行研究。
本文通過GEE平臺的Javascript API設計并實現(xiàn)了基于Web的熱帶氣旋服務客戶端,能快速實現(xiàn)熱帶氣旋中心位置計算、相關云參量計算以及信息可視化,服務于瀏覽器用戶。在GEE颶風數(shù)據(jù)集覆蓋的北大西洋和東太平洋區(qū)域,客戶端能提供信息查詢功能;在無數(shù)據(jù)覆蓋的區(qū)域,則能提供熱帶氣旋中心位置計算和信息可視化,從而實現(xiàn)全球熱帶氣旋查詢服務。熱帶氣旋定位方法結合了云圖中熱帶氣旋云系的幾何形態(tài)特征和衛(wèi)星紅外波段反演的云宏觀參量。本文采用該算法提取了北大西洋2017—2018年熱帶氣旋的中心位置,并將定位結果與最佳路徑數(shù)據(jù)集進行了對比,結果驗證了該算法的有效性。
GEE 中有覆蓋全球范圍的長時序氣候產(chǎn)品數(shù)據(jù),且提供了Javascript API 和Python API 來實現(xiàn)各種功能應用。本文基于Javascript API,采用B/S 架構進行熱帶氣旋服務客戶端的開發(fā),為用戶提供全球熱帶氣旋即時計算查詢服務。本文利用Code Editor中的基礎函數(shù)實現(xiàn)熱帶氣旋相關計算分析的自定義功能函數(shù)庫,并以require 方式調(diào)用函數(shù)庫。同時,Code Editor的函數(shù)庫中提供了User Interface(UI)模塊,各類組件可通過UI調(diào)用,從而實現(xiàn)客戶端交互式界面設計。
功能函數(shù)庫和界面設計完成后,即可在谷歌服務器上發(fā)布應用。首先創(chuàng)建一個谷歌云項目,獲取對應的服務賬號進行GEE的認證;然后在Code Editor的應用管理中通過源碼創(chuàng)建熱帶氣旋服務應用,將其部署在Node.js中;最后可自定義該應用的訪問權限,選擇對所有用戶公開,并將使用的數(shù)據(jù)集設置為公開模式,發(fā)布應用。任何用戶通過瀏覽器進行科學上網(wǎng),即可訪問熱帶氣旋服務客戶端。使用其計算分析功能時,客戶端通過Web REST APIs 向服務器發(fā)送請求,并以有向非循環(huán)圖的形式呈現(xiàn)給GEE[14];服務器從數(shù)據(jù)庫中調(diào)用所需數(shù)據(jù)進行計算,再將結果返回至客戶端。實現(xiàn)過程的基本架構如圖1所示。
圖1 客戶端實現(xiàn)基本架構
在Code Editor中設計的熱帶氣旋服務客戶端界面如圖2 所示,客戶端的網(wǎng)址為:https://jz01863.users.earthengine.app/view/tcseverice03??蛻舳怂椒较虬üδ苓x擇欄、地圖加載欄和信息顯示欄3 欄,其中功能選擇欄可根據(jù)日期和邊界范圍篩選符合條件的遙感影像集,在地圖上加載、顯示影像集中任一單幅圖像,對影像集中所有影像進行批量熱帶氣旋中心位置計算,在地圖上加載、顯示任一熱帶氣旋中心點坐標,根據(jù)影像集計算的熱帶氣旋中心繪制軌跡圖,加載GEE中颶風數(shù)據(jù)集并繪制軌跡圖,查看客戶端文檔說明;地圖加載欄的底圖為谷歌衛(wèi)星圖像,可替換為電子地圖或地形圖,也可添加地名等要素,能實現(xiàn)放大縮小等基本操作,主要用于將圖像和要素加載到地圖上,從而更直觀地展示地理信息;信息顯示欄能顯示計算的熱帶氣旋中心坐標、觀測時間以及中心點的云宏觀參量,對熱帶氣旋軌跡圖進行可視化以及顯示GEE中颶風數(shù)據(jù)集的軌跡圖。
圖2 熱帶氣旋服務客戶端界面
2.2.1 函數(shù)模塊
GEE中的函數(shù)種類眾多,對于數(shù)值運算,有三角函數(shù)運算、邏輯運算和位運算等;對于柵格數(shù)據(jù),有波段運算、掩膜裁剪、監(jiān)督和非監(jiān)督分類、紋理分析和數(shù)學形態(tài)學等;對于矢量數(shù)據(jù),有周長、面積、距離計算,緩沖區(qū)計算以及相交、聯(lián)合的提取分析等。除此之外,還有過濾、統(tǒng)計、映射、圖表和模型部署等[14]高階函數(shù)。本文實現(xiàn)了熱帶氣旋服務客戶端的各種函數(shù)功能,以內(nèi)部的面積過濾、云頂高度二值圖像、類圓性和云頂溫度計算為例簡要說明實現(xiàn)過程。
1)面積過濾。熱帶氣旋是熱帶洋面上氣旋性擾動發(fā)展而成的低氣壓系統(tǒng)。一般來說,熱帶氣旋云系是一個有組織的整體,中心云區(qū)有較大吸附力,周圍云系繞中心旋轉(zhuǎn)[18]。熱帶氣旋云系具有較大面積,基于該特性能剔除面積較小的云系。首先獲取云圖的自掩膜圖像,采用面向?qū)ο蟮姆椒ńy(tǒng)計圖像中每個云系的面積,以50個像素為閾值,標記面積小于閾值的云系,并以此對云圖進行更新掩膜計算,得到標記的小面積云系二值圖;然后對云圖和小面積云圖進行邏輯運算,濾除零碎獨立小面積云系,得到云系面積相對較大的云圖。
2)云頂高度二值圖像。通過云頂溫度和云頂高度等參數(shù)可診斷天氣系統(tǒng)和對流發(fā)展的強度,在天氣分析、數(shù)值預報以及航空氣象等方面都具有重要價值[19]。云頂氣壓、云頂溫度和云頂高度二值圖像的計算方法類似,以云頂高度二值圖像為例進行說明。首先獲取原始影像的云頂高度波段,再采用分區(qū)統(tǒng)計法計算云頂高度圖像的最大值,然后將高度因子與最大值的乘積作為閾值,提取圖像中大于該閾值的部分,最后獲得云頂高度二值圖像。
3)類圓性。熱帶氣旋云系有一定的類圓性,當云系的類圓度較高而邊緣細節(jié)過多時,將使計算結果產(chǎn)生偏差。魯娟[18]等將面積與類圓度的乘積作為判斷準則,經(jīng)重復試驗,將該公式應用于本文數(shù)據(jù)的效果并不理想,而通過修改面積指數(shù)能獲得更好的結果。修改后的類圓性判斷公式為:
式中,A 為云系面積;C 為云系周長;K 為類圓性。
將經(jīng)過預處理的云圖由柵格變換為矢量,設置最大容差,計算每個矢量要素的面積和周長,再根據(jù)式(1)計算其類圓性,進而創(chuàng)建要素的類圓性屬性。
4)云頂溫度。對于熱帶氣旋中心云宏觀參量,可通過區(qū)域統(tǒng)計法進行計算,以云頂溫度為例進行說明。首先獲取原始影像的云頂溫度波段以及對應觀測時刻的熱帶氣旋中心點要素;再對云頂溫度圖像進行點要素的區(qū)域統(tǒng)計,得到要素點處的像素值;然后根據(jù)原始影像元數(shù)據(jù)和屬性,對像素值進行對應模型下的數(shù)值計算;獲得云頂溫度。
2.2.2 信息可視化
客戶端中信息可視化主要涉及影像集和要素集的地圖加載可視化以及計算指標和圖表的可視化兩類。本文分別以影像集中任一單幅圖像顯示和熱帶氣旋軌跡圖顯示為例進行說明。
1)影像集中任一單幅圖像顯示。在Code Editor中若想隨意查看影像集中任一單幅圖像,需預先將所有圖像加載到圖層中,替換單幅圖像進行瀏覽,而客戶端則實現(xiàn)了單幅圖像的實時選擇加載顯示。首先獲取單幅圖像的索引屬性和系統(tǒng)開始時間屬性,作為字典的鍵值對,并對影像集映射該過程,得到幾何值為空、屬性值為字典的要素集;然后遍歷要素集,獲取每個要素的字典屬性,通過列表存儲標簽和值代表的鍵值對;最后設置任一單幅圖像顯示按鈕標簽,根據(jù)標簽對應的時間來加載圖像。
2)熱帶氣旋軌跡圖顯示。GEE 的颶風數(shù)據(jù)集中每個點要素都有名稱屬性,但缺少經(jīng)緯度屬性。因此,在繪制軌跡圖前需進行屬性賦值,即根據(jù)點要素的幾何坐標賦予其屬性;再設置圖表類型、標題、顏色、刻度等參數(shù);最后根據(jù)要素分組進行軌跡圖的繪制。
熱帶氣旋定位是服務客戶端的基礎功能,本文簡要介紹了熱帶氣旋定位方法,并對定位結果進行評估。本文采用的遙感數(shù)據(jù)集為美國國家海洋和大氣管理局的云產(chǎn)品氣候數(shù)據(jù)記錄(CDR),由威斯康星大學通過AVHRR 探路者大氣擴展(PATMOS-X)處理系統(tǒng)生成,分辨率為0.1°×0.1°;颶風數(shù)據(jù)集為美國國家颶風中心提供的第二代北大西洋颶風軌跡數(shù)據(jù)集,也稱為颶風最佳路徑數(shù)據(jù)(HURDAT2)。
熱帶氣旋云系具有一定的幾何形態(tài)特征,如面積和類圓性,可作為云系判別依據(jù)。以云圖中熱帶氣旋位置為參照,云頂氣壓、云頂溫度和云頂高度將呈現(xiàn)一定的規(guī)律性,因此本文選取3 個云宏觀參量作為熱帶氣旋定位的參考數(shù)據(jù)。結合云圖中熱帶氣旋云系的幾何形態(tài)特征和衛(wèi)星紅外波段反演的云宏觀參量,熱帶氣旋定位算法流程如圖3所示。
圖3 定位算法流程圖
選擇影像的云掩膜波段,根據(jù)云分類像素值獲取二值圖像,作為算法輸入的原始云圖。為避免散碎云斑對熱帶氣旋云系確定的干擾,采用半徑為1 個像素的圓盤作為結構元素,對原始云圖進行形態(tài)學開運算。以50個像素為面積閾值,低于閾值的視為獨立小面積云系,采用面向?qū)ο蟮姆椒ㄟM行面積過濾。本文選取由衛(wèi)星紅外波段反演的云頂氣壓、云頂溫度和云頂高度3 個云宏觀參量,對于云頂氣壓圖像,云系內(nèi)部紋理緊密,外圍呈零散稀疏狀,則以0 為閾值提取云系內(nèi)部,獲得的二值圖像即為參與計算的云頂氣壓圖像;對于云頂溫度圖像,云系外圍較亮,中間層呈灰色,內(nèi)部呈黑色,則統(tǒng)計像素極小值minTemp,以0.56 minTemp 為閾值提取內(nèi)部云系,獲得的二值圖像即為參與計算的云頂溫度圖像;對于云頂高度圖像,云系中心較亮,其他部分較暗,則統(tǒng)計像素極大值maxHeight,以0.6 maxHeight為閾值提取云系內(nèi)部,獲得的二值圖像即為參與計算的云頂高度圖像。將面積過濾的云圖、云頂氣壓、云頂溫度和云頂高度圖像進行與運算,獲得稀疏分布的云圖;再利用結構元素(半徑為1個像素的圓盤)對云圖進行閉運算,實現(xiàn)云斑內(nèi)部細微空隙的填充;然后計算類圓性,將類圓性最大的云斑視為熱帶氣旋云系的中心部分;最后求解其幾何中心并賦予時間等屬性,即為算法輸出的熱帶氣旋中心點要素。
本文以北大西洋2017 年第15 個熱帶氣旋瑪麗亞(觀測時間為2017-09-22 00:00:00)的圖像為例,實現(xiàn)定位算法。定位算法的具體流程為:①獲取原始云圖(圖4a);②對原始云圖進行開運算得到F1(圖4b);③采用面向?qū)ο蟮姆椒▽1 進行面積過濾得到F2(圖4c);④獲取云頂氣壓圖像,并與F2 進行與運算得到F3(圖4d);⑤將云頂溫度圖像與F3進行與運算得到F4(圖4e);⑥將云頂高度圖像與F4 進行與運算;⑦對結果進行閉運算,再計算類圓性,類圓性最大的云斑即為熱帶氣旋云系的中心部分;⑧計算其幾何中心,將得到的點要素疊加到運算后的二值圖像上,結果記為F5,如圖4f所示。
圖4 熱帶氣旋定位過程
3.2.1 瑪麗亞AL152017分析
熱帶氣旋瑪麗亞的編號為AL152017,有15 個時間匹配的遙感圖像和點要素,將本文計算的熱帶氣旋中心與HURDAT2 的點要素進行比較,繪制的熱帶氣旋軌跡如圖5 所示,可以看出,計算的熱帶氣旋軌跡AL152017_cal 與 HURDAT2 的軌跡 AL152017_hur 大致吻合,軌跡中間點對相距較近,初始和末尾位置各有兩對點相距較遠。
圖5 熱帶氣旋軌跡對比
本文計算的熱帶氣旋中心與HURDAT2 點要素均為地理坐標,為了比較同一觀測時間的熱帶氣旋中心位置差異,采用大圓距離進行評估。設P0(φ0,λ0)為HURDAT2的一個點要素坐標,P1(φ1,λ1)為對應觀測時間下計算的熱帶氣旋中心點坐標,φ0和φ1為緯度,λ0和 λ1為經(jīng)度,則大圓距離公式[20]為:
式中, D 為大圓距離;R 為平均地球半徑,取6 371.010 km[20]。
利用式(2)對匹配的15 個熱帶氣旋中心坐標點進行大圓距離偏差計算,結果如表1所示,可以看出,17號、19號、30號和1號的距離較大,與軌跡圖中兩端位置的點對偏移情況一致。在原始云圖中對比數(shù)據(jù)集的點要素與計算的熱帶氣旋中心位置發(fā)現(xiàn),17號和19號是在雙熱帶氣旋情況下產(chǎn)生的定位差異,30號和1 號的熱帶氣旋云系紋理不夠緊密,云系中間有較多空隙,經(jīng)云宏觀參量計算后,云系被濾除,導致了定位不正確。此外,最小距離為48.173 km,最大距離(29 號)為454.791 km,其他距離分布在0~300 km 之間,反映在軌跡圖上為較接近的點對。
表1 AL152017坐標信息對比
3.2.2 2017—2018年的熱帶氣旋分析
為了合理評估定位方法,本文選用北大西洋2017—2018 年的HURDAT2 軌跡數(shù)據(jù),以其日期范圍來匹配遙感影像數(shù)據(jù),熱帶氣旋軌跡分布如圖6 所示,可以看出,2017 年熱帶氣旋軌跡數(shù)據(jù)有16 個,包括122個點要素;2018年熱帶氣旋軌跡數(shù)據(jù)有9個,包括79個點要素。AL082017、AL122017、AL142017的云頂高度二值圖像閾值為0.7 maxHeight,其他參數(shù)均不變,利用本文提出的定位算法對25個熱帶氣旋進行批量定位計算。以HURDAT2 點要素為參照,通過式(2)對定位結果進行評估,大圓距離區(qū)間分布如表2所示,可以看出,距離在0~300 km的點最多,在原始云圖和軌跡圖中均表現(xiàn)為接近的兩點;距離在300~500 km的點最少,在云圖上主要表現(xiàn)為本文算法提取的點坐標在熱帶氣旋云系中間,而HURDAT2 對應的點要素在云系邊緣;距離在500~1 000 km 的點有29個,兩點位于同一云系的不同位置;距離在1 000 km以上的點有58 個,約占總數(shù)的25%,兩點分布于不同云系。在一些情況下,HURDAT2 的點要素不在云系上,其周圍一片區(qū)域均無云,本文算法提取的中心點與云系緊密相關,因此定位結果與HURDAT2 差異較大。
表2 大圓距離區(qū)間分布
圖6 2017—2018年熱帶氣旋軌跡分布
以HURDAT2 為參照,將距離在1 000 km 以上的計算中心點視為不正確定位,導致定位不正確的原因主要包括:①雙熱帶氣旋情況下,云圖中有兩個熱帶氣旋云系,本文計算的中心與HURDAT2不一致;②熱帶氣旋云系紋理不夠緊密,中間有較多空隙,經(jīng)云宏觀參量計算后,中間云系被濾除,使得定位有差異;③HURDAT2 的熱帶氣旋中心不在云系上,本文算法依據(jù)云系計算熱帶氣旋中心,二者結果差異較大。距離在500~1 000 km之間的情況主要表現(xiàn)為本文計算的中心與HURDAT2 的熱帶氣旋中心位于同一云系的不同位置。在螺旋云帶中,經(jīng)云宏觀參量計算后,云系中間為零散云斑,邊緣為紋理緊密云斑,使得計算的中心位于邊緣部分。在一些連片云系中,云宏觀參量計算過程中產(chǎn)生了近似圓形或橢圓形的云斑,導致計算結果產(chǎn)生偏差。距離在500 km以內(nèi)的較精確,約占56.7%。本文將距離在1 000 km 以內(nèi)的計算結果視為正確定位,概率為71.1%,即本文算法提取的熱帶氣旋中心與HURDAT2 有71.1%的符合。在熱帶氣旋發(fā)生的形成期和消散期,本文算法定位效果較好,與HURDAT2較一致。
本文通過GEE平臺的Javascript API設計并實現(xiàn)了基于Web的熱帶氣旋服務客戶端,能快速實現(xiàn)熱帶氣旋中心位置計算、相關云參量計算以及信息可視化,服務于瀏覽器用戶。熱帶氣旋定位方法結合了云圖中熱帶氣旋云系的幾何形態(tài)特征和衛(wèi)星紅外波段反演的云宏觀參量。本文以北大西洋2017—2018年熱帶氣旋中心位置提取為實驗,將定位結果與颶風數(shù)據(jù)集進行對比,驗證了本文算法的有效性。結果表明,在熱帶氣旋形成期和消散期,本文算法的定位效果較好,但也存在一些問題,如只能提取單個熱帶氣旋中心位置,無法定位雙熱帶氣旋;對于熱帶氣旋云系的疏密分布,云宏觀參量的計算會影響熱帶氣旋定位精度。后續(xù)將研究如何改進云宏觀參量的計算模式,從而降低其對熱帶氣旋云系的作用以提高定位精度,并結合多源數(shù)據(jù)完善客戶端的功能實現(xiàn)。