孔凡強(qiáng),劉 坤,張 劍,王旻雯,戴煜煒
(1.浙江省測繪科學(xué)技術(shù)研究院,浙江 杭州310000;2.衢州市測繪院,浙江 衢州 324000)
近些年計(jì)算機(jī)、互聯(lián)網(wǎng)、信息可視化等技術(shù)的飛速發(fā)展促進(jìn)了氣象數(shù)據(jù)的網(wǎng)絡(luò)化應(yīng)用,對氣象數(shù)據(jù)的服務(wù)發(fā)布與網(wǎng)絡(luò)共享、氣象預(yù)報(bào)預(yù)警協(xié)同等領(lǐng)域起到了支撐作用,對于氣象行業(yè)的現(xiàn)代化建設(shè)打下了重要的基礎(chǔ)?;诖?一大批氣象領(lǐng)域的平臺與系統(tǒng)涌現(xiàn)出來,許多學(xué)者也投身于此。于野等將GIS與VR引入防汛工作,基于GIS建立了降雨時空統(tǒng)計(jì)模型,解決了防汛系統(tǒng)建立的一個關(guān)鍵問題[1];向一鳴在對現(xiàn)有各種算法的基礎(chǔ)上提出了基于Cressman算法的改進(jìn)算法MCressman,實(shí)現(xiàn)對降水?dāng)?shù)據(jù)插值算法的研究[2];陳益在分析Flex與氣象GIS現(xiàn)狀的基礎(chǔ)上實(shí)現(xiàn)了一個易用、可擴(kuò)展和基于網(wǎng)絡(luò)的氣象GIS富客戶端平臺[3];劉昌杰以GIS平臺做支撐分析氣象災(zāi)害風(fēng)險評估現(xiàn)狀,基于災(zāi)害風(fēng)險理論建立了一套普適的氣象災(zāi)害風(fēng)險評估模型,對氣象災(zāi)害的預(yù)估有十分重要的意義[4]。馮慧菁圍繞多源異構(gòu)的氣象數(shù)據(jù),研究其轉(zhuǎn)為GIS數(shù)據(jù)的方法,并優(yōu)化了海量氣象數(shù)據(jù)的查詢方法,實(shí)現(xiàn)了一個氣象GIS平臺,收到了良好的應(yīng)用效果[5];閔凡花等利用GIS與MSPGS組件實(shí)現(xiàn)氣象數(shù)據(jù)轉(zhuǎn)換,使其能同時在GIS軟件與Micaps軟件中使用,增強(qiáng)了氣象服務(wù)產(chǎn)品的時效性[6];高嵩等介紹了Micaps4平臺系統(tǒng)的建設(shè)現(xiàn)狀、解決的問題和技術(shù)優(yōu)勢,對于國家、省級氣象網(wǎng)絡(luò)應(yīng)用系統(tǒng)的建設(shè)有重要意義[7];李爽以克里金插值及GP服務(wù)的方式發(fā)布降雨數(shù)據(jù),呈現(xiàn)了降雨量連續(xù)空間分布,實(shí)現(xiàn)了降雨預(yù)警與災(zāi)害分級[8];WANG Y Q開發(fā)了一套針對氣象數(shù)據(jù)的可視化分析工具M(jìn)eteoInfo,具備基本的GIS功能,為GIS與氣象數(shù)據(jù)的結(jié)合提供了適用的工具[9]。上述學(xué)者從氣象預(yù)報(bào)平臺的設(shè)計(jì)實(shí)現(xiàn)方式到數(shù)據(jù)組織結(jié)構(gòu)都有研究,有的對氣象數(shù)據(jù)到GIS數(shù)據(jù)的轉(zhuǎn)換也做了探討,但多數(shù)依賴氣象軟件或者要先轉(zhuǎn)矢量點(diǎn)再轉(zhuǎn)柵格數(shù)據(jù)的方法實(shí)現(xiàn),轉(zhuǎn)換方式較為復(fù)雜、效率偏低。
本文在前人研究的基礎(chǔ)上,提出了一套能夠?qū)庀髷?shù)據(jù)快速、高效轉(zhuǎn)換為通用GIS數(shù)據(jù),并以標(biāo)準(zhǔn)服務(wù)的形式在web端流暢加載和展示的技術(shù)方案,該技術(shù)方案充分運(yùn)用GIS數(shù)據(jù)在制圖綜合和可視化表達(dá)方面的優(yōu)勢,并以浙江省實(shí)際動態(tài)降雨數(shù)據(jù)為基礎(chǔ)進(jìn)行了技術(shù)驗(yàn)證。實(shí)驗(yàn)表明,該技術(shù)能夠?yàn)闅庀髷?shù)據(jù)的動態(tài)可視化和城市內(nèi)澇等應(yīng)急預(yù)警提供重要技術(shù)支撐,具有十分重要的現(xiàn)實(shí)意義。
氣象信息綜合分析處理系統(tǒng)(MICAPS),是氣象領(lǐng)域多年應(yīng)用與發(fā)展形成的一套業(yè)務(wù)系統(tǒng),它的數(shù)據(jù)結(jié)構(gòu)是建立在文件系統(tǒng)基礎(chǔ)上的,有多種數(shù)據(jù)格式,如第一類是地面全要素填圖數(shù)據(jù);第二類是高空全要素填圖數(shù)據(jù);第三類是通用填圖和離散點(diǎn)等值線數(shù)據(jù);第四類(Micaps4)是格點(diǎn)數(shù)據(jù),浙江省氣象局1 km格網(wǎng)的降雨數(shù)據(jù)就是采用的這種格式。MICAPS系統(tǒng)的數(shù)據(jù)文件已經(jīng)成了氣象領(lǐng)域應(yīng)用最廣泛的數(shù)據(jù)交換格式,但是這些格式目前均不能被GIS軟件直接共享和訪問,需要通過各種軟件工具進(jìn)行處理和轉(zhuǎn)換。
NetCDF數(shù)據(jù)是由美國大學(xué)大氣研究協(xié)會Unidata項(xiàng)目科學(xué)家針對科學(xué)數(shù)據(jù)開發(fā)的一種網(wǎng)絡(luò)通用數(shù)據(jù)格式,它提供對數(shù)組型的數(shù)據(jù)進(jìn)行描述與編碼,官方應(yīng)用于大氣科學(xué)、水文、海洋學(xué)、環(huán)境模擬、地球物理等諸多領(lǐng)域,浙江省氣象局5 km格網(wǎng)的降雨數(shù)據(jù)就采用了這種格式。
2.1.1 Micaps4格點(diǎn)數(shù)據(jù)與ASCII柵格數(shù)據(jù)
(1)Micaps4類數(shù)據(jù)主要用于氣象要素場的表達(dá),它的數(shù)據(jù)結(jié)構(gòu)如圖1(a)所示;數(shù)據(jù)分文件頭與數(shù)據(jù)內(nèi)容兩部分:前3行為文件頭,其中第一行的diamond 4表示MICAPS的第4類數(shù)據(jù),后面的“2020年12月22日08:30時未來000~060 min降水預(yù)報(bào)”是對數(shù)據(jù)的說明;第二行的“2020 12 22 08 060 ”分別表示數(shù)據(jù)的年、月、日、時、時效(060表示60 min);后面的“0.01 0.01 114.67 125.32 25.43 32.42”分別表示經(jīng)、緯度格網(wǎng)距離、起始經(jīng)度、終止經(jīng)度、起始緯度、終止緯度,圖中表示數(shù)據(jù)是經(jīng)度范圍為117.67~125.32,緯度范圍為25.43~32.25,以0.01度為間隔(也就是1 km)的格網(wǎng)數(shù)據(jù);第三行的“1066 700”分別表示數(shù)據(jù)的列數(shù)、行數(shù)。
圖1 Micaps4與ASCII文件數(shù)據(jù)格式
從第四行開始為數(shù)據(jù)部分,從上到下為緯度從高到低,從左到右為經(jīng)度從低到高,第四行的第一個0.0表示經(jīng)度為114.67,緯度為32.42的點(diǎn)位未來1 h的降雨預(yù)報(bào)數(shù)值。每加一行經(jīng)度加0.01,每加一列緯度減0.01,以此類推。
(2)ASCII柵格文本數(shù)據(jù)數(shù)據(jù)結(jié)構(gòu)如圖1(b)所示。前6行為頭文件,從第7行開始為正式數(shù)據(jù)內(nèi)容部分。其中1至6行的“NCOLS 1066 NROWS 700、XLLCORNER 114.665 YLLCORNER 25.425 CELLSIZE 0.01 NODATA_VALUE-32768”分別表示數(shù)據(jù)的總列數(shù)、總行數(shù)、起始經(jīng)度、起始緯度、柵格分辨率(格網(wǎng)距離)、NoData像元對應(yīng)的數(shù)值。數(shù)據(jù)部分從左到右、從上到下依次為經(jīng)度增加、緯度增加,可見ASCII的緯度與Micaps4的緯度是相反的。圖1(b)中第7行第一個0.0表示經(jīng)度為114.67,緯度為25.425的格網(wǎng)點(diǎn)的數(shù)值,每加一行經(jīng)度加0.01,每加一列緯度加0.01。
2.1.2 Micaps4格式轉(zhuǎn)ASCII格式
通過2.1.1對兩種數(shù)據(jù)結(jié)構(gòu)的介紹,數(shù)據(jù)的轉(zhuǎn)換方式也比較明顯,頭文件相應(yīng)位置進(jìn)行替換即可,數(shù)據(jù)部分將Micaps4數(shù)據(jù)的列顛倒后轉(zhuǎn)換為ASCII的數(shù)據(jù)部分。這里需要注意的是Micaps4的數(shù)據(jù)范圍代表的是格網(wǎng)中心點(diǎn)的范圍,而ASCII分兩種情況,圖1(b)中的XLLCORNER、YLLCORNER表示的是左下角柵格像元左下角坐標(biāo),如果是XLLCENTER、YLLCENTER則表示的是左下角柵格像元中心點(diǎn)的坐標(biāo)。如果將Micaps4轉(zhuǎn)為XLLCORNER、YLLCORNER類型的ASCII數(shù)據(jù),則需要將左下角的經(jīng)緯度分別減小半個格網(wǎng)距離的值,否則轉(zhuǎn)換后數(shù)據(jù)會出現(xiàn)偏移,圖1(b)即由圖1(a)轉(zhuǎn)換后得到。
2.1.3 氣象數(shù)據(jù)轉(zhuǎn)為通用GIS格式
本文以ArcGIS為實(shí)驗(yàn)平臺,借助Toolbox提供的ASCII轉(zhuǎn)柵格數(shù)據(jù)和NetCDF轉(zhuǎn)柵格工具實(shí)現(xiàn)降雨數(shù)據(jù)到柵格格式GIS數(shù)據(jù)的轉(zhuǎn)換,其中Micaps4最終的轉(zhuǎn)換流程為Micaps4→ASCII→柵格數(shù)據(jù),NetCDF直接可以轉(zhuǎn)換為柵格數(shù)據(jù)。
本文基于OGC標(biāo)準(zhǔn)對轉(zhuǎn)換獲取的降雨數(shù)據(jù)進(jìn)行服務(wù)發(fā)布和共享,OGC服務(wù)標(biāo)準(zhǔn)提供了開放式和基于標(biāo)準(zhǔn)的Web服務(wù)接口,支持多用戶并提供對各種GIS功能的訪問,可以滿足不同客戶的需求。不同的客戶端可以基于ArcGIS api for js、leaflet、mapbox等多源的web渲染引擎實(shí)現(xiàn)降雨數(shù)據(jù)的動態(tài)、高效展示。相較于氣象行業(yè)中提供圖片的方式,OGC服務(wù)可以將氣象數(shù)據(jù)與其他地理空間數(shù)據(jù)進(jìn)行疊加展示、分析,這是氣象或其他行業(yè)所沒有的優(yōu)勢。
這里以1 h降雨預(yù)報(bào)來說明降雨服務(wù)的更新方法。首先每隔1 h從浙江省氣象局抓取Micaps4格式數(shù)據(jù),并同步到本地服務(wù)器。然后采用3.1章節(jié)的方法將其轉(zhuǎn)為ASCII,然后通過Arcpy調(diào)用toolbox工具將ASCII轉(zhuǎn)為柵格數(shù)據(jù),最后更新柵格數(shù)據(jù)到1 h降雨預(yù)報(bào)數(shù)據(jù)的數(shù)據(jù)源,通過rest api更新服務(wù)狀態(tài),即可實(shí)現(xiàn)服務(wù)實(shí)時更新,整個過程無須人工干預(yù),高效快速。
系統(tǒng)從氣象局獲取數(shù)據(jù)到降雨服務(wù)提供及可視化的框架如圖2所示。
圖2 系統(tǒng)框架圖
氣象數(shù)據(jù)存放在浙江省氣象局的數(shù)據(jù)庫服務(wù)器上,每天定時更新。展示系統(tǒng)每天會在數(shù)據(jù)更新后拉取更新數(shù)據(jù),并根據(jù)2.1的方法將數(shù)據(jù)轉(zhuǎn)換為通用GIS格網(wǎng)數(shù)據(jù),然后用該格網(wǎng)數(shù)據(jù)替換ArcGIS Server中的數(shù)據(jù)源并更新OGC服務(wù),這樣外部訪問氣象數(shù)據(jù)時就會展示最新的氣象數(shù)據(jù),實(shí)現(xiàn)氣象數(shù)據(jù)網(wǎng)絡(luò)實(shí)時可視化。
本次實(shí)驗(yàn)從浙江省氣象局獲取的數(shù)據(jù)有兩種:1 km格網(wǎng)的降雨預(yù)報(bào)數(shù)據(jù),格式為Micaps4,預(yù)報(bào)時效包括1 h、3 h、6 h;5 km格網(wǎng)的降雨預(yù)報(bào)數(shù)據(jù),格式為NetCDF,預(yù)報(bào)時效1 h、24 h。數(shù)據(jù)的可視化效果如圖3所示:圖3(a)、(b)、(c)分別對應(yīng)2020年7月30日8點(diǎn)1 km格網(wǎng)1 h時效、3 h時效、6 h時效的降雨數(shù)據(jù);(d)、(e)分別對應(yīng)2020年7月31日8點(diǎn),5 km格網(wǎng)1 h時效、24 h 時效的降雨數(shù)據(jù)。
圖3 可視化效果
可以發(fā)現(xiàn)基于GIS手段展示的降雨數(shù)據(jù)非常直觀,能夠反映出降雨分布情況及各時間段的降雨量,完全能夠滿足氣象領(lǐng)域預(yù)報(bào)預(yù)警功能的需求。通過OGC標(biāo)準(zhǔn)服務(wù)的提供也方便其他行業(yè)部門的調(diào)用,易于將降雨數(shù)據(jù)集成進(jìn)各自的行業(yè)應(yīng)用中。
本文對氣象行業(yè)Micaps系統(tǒng)第四類數(shù)據(jù)及描述格網(wǎng)的ASCII文件的數(shù)據(jù)結(jié)構(gòu)進(jìn)行了詳細(xì)的比對并給出了互相轉(zhuǎn)換的詳細(xì)方法,并簡單介紹了ASCII與NetCDF轉(zhuǎn)為通用GIS數(shù)據(jù)的工具,為氣象數(shù)據(jù)轉(zhuǎn)通用GIS數(shù)據(jù)提供了一條高效的新思路,另外對GIS中降雨數(shù)據(jù)的實(shí)時更新方法也給出了操作流程,將降雨信息以標(biāo)準(zhǔn)OGC服務(wù)提供出來,方便其他行業(yè)部門進(jìn)行共享調(diào)用,對氣象數(shù)據(jù)的實(shí)時高效展示提出了一套有效可行的方案,并最終以浙江省氣象局的降雨數(shù)據(jù)為例進(jìn)行了可視化效果驗(yàn)證,實(shí)驗(yàn)表明本文提出的方法既豐富了GIS數(shù)據(jù)的種類,也為氣象數(shù)據(jù)的展示共享提供了一個標(biāo)準(zhǔn),對于氣象數(shù)據(jù)的可視化和共享利用都有十分重要的意義。但是由于信息化的不斷發(fā)展,氣象數(shù)據(jù)采集和獲取的格式種類繁多,本文涉及的內(nèi)容有限,筆者會在后續(xù)工作中研究更多的氣象數(shù)據(jù)轉(zhuǎn)GIS數(shù)據(jù)方式。