龍澤昊,張?zhí)碓?,許偉,秦其明,2
(1.北京大學(xué)地球與空間科學(xué)學(xué)院遙感與地理信息系統(tǒng)研究所,北京 100871;2.自然資源部地理信息系統(tǒng)技術(shù)創(chuàng)新中心,北京 100871)
我國地域?qū)拸V,農(nóng)業(yè)旱災(zāi)時(shí)有發(fā)生,以海量遙感數(shù)據(jù)為支撐,并對農(nóng)田干旱進(jìn)行有效監(jiān)測是保證國家糧食安全和維護(hù)社會(huì)穩(wěn)定發(fā)展的基礎(chǔ)[1-2]。通過對農(nóng)田干旱監(jiān)測研究成果進(jìn)行應(yīng)用,建立起相應(yīng)的農(nóng)田監(jiān)測系統(tǒng)可最大發(fā)揮研究成果效益,例如金川等[3]研制了一套基于桌面端的干旱監(jiān)測遙感支持系統(tǒng),并結(jié)合寧夏試驗(yàn)區(qū)的實(shí)際應(yīng)用對監(jiān)測結(jié)果進(jìn)行了展示;Wu等[4]研發(fā)了全球農(nóng)情遙感速報(bào)(CropWatch)系統(tǒng),以遙感和田間觀測數(shù)據(jù)相結(jié)合的方式,集成了作物面積、干旱和產(chǎn)量等多種監(jiān)測指標(biāo),但是目前的農(nóng)田干旱監(jiān)測系統(tǒng)仍然存在著一些問題。
首先,農(nóng)田干旱監(jiān)測系統(tǒng)以桌面端居多,便攜性差,無法滿足用戶實(shí)地農(nóng)田作業(yè)的需求;而移動(dòng)智能手機(jī)憑借易攜帶、觸摸式交互等特點(diǎn),具有信息獲取及時(shí)和操作便捷等優(yōu)勢。并且隨著5G通信技術(shù)的不斷推近,通信延遲得到了極大的降低,也為移動(dòng)端間的圖像數(shù)據(jù)快速傳輸?shù)於嘶A(chǔ)[5]。當(dāng)前主流的移動(dòng)端操作系統(tǒng)有Android,iOS和Windows Phone等,而Android操作系統(tǒng)由于強(qiáng)大的軟件生態(tài)圈和良好的用戶使用體驗(yàn),占領(lǐng)了移動(dòng)端市場的絕大部分份額[6],適宜作為農(nóng)田干旱遙感監(jiān)測系統(tǒng)的搭載平臺(tái)。
其次,系統(tǒng)對農(nóng)田干旱情況的動(dòng)態(tài)監(jiān)測能力弱。由于海量遙感數(shù)據(jù)亟待妥善管理和計(jì)算力不足,現(xiàn)有農(nóng)田干旱監(jiān)測系統(tǒng)主要以發(fā)布靜態(tài)干旱監(jiān)測成果的方式來為用戶服務(wù),該類系統(tǒng)缺少動(dòng)態(tài)干旱監(jiān)測分析的能力,無法滿足實(shí)時(shí)監(jiān)測的目的[7]。云計(jì)算技術(shù)為海量遙感數(shù)據(jù)妥善的管理提供了解決方案,通過與遙感技術(shù)相結(jié)合,孕育而生的遙感云計(jì)算平臺(tái)不僅極大方便了多種遙感影像數(shù)據(jù)檢索與獲取,還將數(shù)據(jù)處理所需要的計(jì)算資源環(huán)境在云端實(shí)現(xiàn),解決了本地計(jì)算力不夠等問題[8-9]。谷歌地球引擎(Google Earth Engine,GEE)作為遙感云計(jì)算平臺(tái)的先鋒,不僅集成有多種系列衛(wèi)星影像數(shù)據(jù),而且也提供了實(shí)時(shí)處理、分析和可視化這些數(shù)據(jù)的強(qiáng)大功能,被廣泛應(yīng)用于農(nóng)業(yè)作物監(jiān)測、資源災(zāi)害評(píng)估、全球氣候變化等方面的研究[10-11]。
為了改善農(nóng)田干旱監(jiān)測系統(tǒng)上述現(xiàn)存的問題,本文依托GEE云計(jì)算平臺(tái)以及Android移動(dòng)操作系統(tǒng),搭建了一款與農(nóng)業(yè)密切關(guān)聯(lián)的移動(dòng)端農(nóng)田干旱遙感動(dòng)態(tài)監(jiān)測系統(tǒng)(farmland drought remote sensing dynamic monitoring system,F(xiàn)DRSDMS),對于農(nóng)田干旱監(jiān)測研究具有現(xiàn)實(shí)意義和參考價(jià)值。
FDRSDMS在多種開源技術(shù)框架支持下,以Android移動(dòng)端為搭載平臺(tái),并利用GEE遙感云計(jì)算平臺(tái)優(yōu)勢,實(shí)現(xiàn)了農(nóng)田數(shù)據(jù)的錄入、處理、存儲(chǔ)和農(nóng)田干旱的遙感動(dòng)態(tài)監(jiān)測。如圖1所示,F(xiàn)DRSDMS結(jié)構(gòu)分為顯示層、服務(wù)層和支撐層3層,采用“瘦客戶端”設(shè)計(jì)思想,顯示層負(fù)責(zé)界面繪制、請求發(fā)送與響應(yīng)等邏輯操作,模型計(jì)算、數(shù)據(jù)處理等操作交給服務(wù)層和支撐層完成,保證了系統(tǒng)的流暢運(yùn)行。其中,顯示層在OSMDroid開源地圖庫的支持下,以Retrofit通信框架高效進(jìn)行客戶端與服務(wù)端通信為基礎(chǔ),進(jìn)行了不同業(yè)務(wù)功能的實(shí)現(xiàn);服務(wù)層通過建立GEE遙感平臺(tái)服務(wù)和農(nóng)田數(shù)據(jù)管理服務(wù)兩大模塊,為顯示層功能的實(shí)現(xiàn)提供服務(wù)支持;支撐層采用MySQL數(shù)據(jù)庫管理農(nóng)田作物數(shù)據(jù),并結(jié)合GEE平臺(tái)和Flask框架為服務(wù)層服務(wù)的部署提供了數(shù)據(jù)管理和計(jì)算資源支持。
圖1 系統(tǒng)總體架構(gòu)Fig.1 System overall architecture
面向農(nóng)田干旱監(jiān)測需求,F(xiàn)DRSDMS劃分為基礎(chǔ)服務(wù)模塊、農(nóng)田數(shù)據(jù)采集管理模塊和農(nóng)田干旱遙感動(dòng)態(tài)監(jiān)測模塊,其功能設(shè)計(jì)如圖2所示。基礎(chǔ)服務(wù)模塊包括圖層管理、地圖操作與交互、全球定位系統(tǒng)(global positioning system,GPS)定位服務(wù)功能,上述基礎(chǔ)功能為其他兩個(gè)業(yè)務(wù)模塊提供了基本技術(shù)支撐;農(nóng)田數(shù)據(jù)采集管理模塊針對戶外作業(yè)需求,通過服務(wù)層的農(nóng)田數(shù)據(jù)管理接口實(shí)現(xiàn)了數(shù)據(jù)測量與錄入、數(shù)據(jù)修改與刪除、數(shù)據(jù)查詢與導(dǎo)出功能,為用戶在野外無紙化快速采集農(nóng)田作物數(shù)據(jù)提供了可能;農(nóng)田干旱遙感動(dòng)態(tài)監(jiān)測模塊通過服務(wù)層的GEE遙感平臺(tái)服務(wù)接口,實(shí)現(xiàn)了基于植被指數(shù)、干旱指數(shù)和自定義模型的農(nóng)田干旱動(dòng)態(tài)監(jiān)測,其中基礎(chǔ)服務(wù)模塊以及農(nóng)田數(shù)據(jù)采集管理模塊是基于現(xiàn)有成熟技術(shù)實(shí)現(xiàn)的,而農(nóng)田干旱遙感動(dòng)態(tài)監(jiān)測功能則需要用到本研究團(tuán)隊(duì)所提出的監(jiān)測模型,下一節(jié)將重點(diǎn)介紹農(nóng)田干旱遙感動(dòng)態(tài)監(jiān)測模塊功能的實(shí)現(xiàn)。
圖2 系統(tǒng)業(yè)務(wù)功能Fig.2 System service functions
GEE平臺(tái)提供了基于Python的本地客戶端庫,通過在Flask服務(wù)器端對GEE平臺(tái)Python接口進(jìn)行開發(fā),將農(nóng)田干旱監(jiān)測模型集成至Flask服務(wù)器端,可實(shí)現(xiàn)移動(dòng)客戶端上的動(dòng)態(tài)農(nóng)田干旱監(jiān)測,技術(shù)方案如圖3所示。
圖3 基于GEE平臺(tái)的農(nóng)田干旱動(dòng)態(tài)監(jiān)測方案Fig.3 Scheme of farmland drought dynamic monitoring based on GEE platform
在Flask服務(wù)器端中,干旱監(jiān)測模型實(shí)時(shí)計(jì)算先從移動(dòng)客戶端獲得研究區(qū)域范圍、監(jiān)測時(shí)間范圍、計(jì)算需要的遙感數(shù)據(jù)類型(如Sentinel-2)、不同波段組合方式和干旱模型等監(jiān)測參數(shù),之后利用GEE平臺(tái)Python接口進(jìn)行GEE平臺(tái)初始化。其次,按照獲取的監(jiān)測參數(shù)進(jìn)行研究區(qū)內(nèi)的遙感影像動(dòng)態(tài)檢索,并進(jìn)行時(shí)間過濾、區(qū)域過濾、影像除云、研究區(qū)域裁剪等遙感影像預(yù)處理操作。最后,對符合要求的影像進(jìn)行干旱模型的實(shí)時(shí)計(jì)算,并由此得到GEE平臺(tái)輸出的唯一MapId信息,該信息可標(biāo)識(shí)每次計(jì)算的干旱監(jiān)測結(jié)果,也會(huì)用于2.2節(jié)的動(dòng)態(tài)監(jiān)測成果服務(wù)發(fā)布,具體計(jì)算流程如圖4所示。
圖4 干旱監(jiān)測模型計(jì)算流程Fig.4 Calculation flow of drought monitoring model
在干旱模型實(shí)時(shí)計(jì)算步驟中,F(xiàn)lask服務(wù)器端利用GEE平臺(tái)提供的自定義表達(dá)式計(jì)算接口進(jìn)行實(shí)現(xiàn)。如下為支持植被指數(shù)、干旱指數(shù)和自定義模型的主要代碼,通過采用lambda匿名函數(shù)來對每幅影像進(jìn)行處理,在該函數(shù)中利用GEE平臺(tái)提供的expression方法進(jìn)行波段計(jì)算,其中param[′expression′]為模型計(jì)算表達(dá)式,支持藍(lán)光、綠光、紅光、近紅外4個(gè)波段的計(jì)算。
cal_imgs =imgs.map(lambda image:ee.Image(0).expression(
param['expression'],
{'nir':image.select(param['band']['nir']),
'red':image.select(param['band']['red']),
'green':image.select(param['band']['green']),
'blue':image.select(param['band']['blue'])}))
FDRSDMS系統(tǒng)集成的植被指數(shù)包括歸一化植被指數(shù)(normalized difference vegetation index,NDVI)、增強(qiáng)型植被指數(shù)(enhanced vegetation index,EVI)和土壤調(diào)節(jié)植被指數(shù)(soil adjusted vegetation index,SAVI),計(jì)算公式分別為:
(1)
(2)
(3)
式中:RBlue,RRed和RNIR分別為藍(lán)光、紅光和近紅外波段的反射率。
如當(dāng)用戶進(jìn)行實(shí)時(shí)NDVI計(jì)算時(shí),上述代碼中的模型計(jì)算表達(dá)式param[′expression′]值為float(nir-red)/(nir+red)。
FDRSDMS系統(tǒng)集成的干旱指數(shù)包括垂直干旱指數(shù)(perpendicular drought index,PDI)與改進(jìn)垂直干旱指數(shù)(modified perpendicular drought index,MPDI)[12-13]。計(jì)算公式分別為:
(4)
(5)
式中:RRed,v和RNIR,v為純植被像元在紅光和近紅外波段的反射率;M為NIR-Red光譜特征空間的土壤線斜率;fv為植被覆蓋率。
這兩種干旱指數(shù)需要提取土壤線斜率和計(jì)算植被覆蓋率,實(shí)現(xiàn)相對較復(fù)雜,因此系統(tǒng)中土壤線斜率提取采用文獻(xiàn)[14]中的土壤線自動(dòng)提取算法,植被覆蓋率計(jì)算方法來源于文獻(xiàn)[15]。
GEE平臺(tái)以網(wǎng)絡(luò)地圖服務(wù)(web map service,WMS)為用戶提供干旱監(jiān)測結(jié)果,同時(shí)為了保證地圖服務(wù)能正常被訪問,利用Flask服務(wù)器端對GEE平臺(tái)WMS服務(wù)進(jìn)行了統(tǒng)一代理。這里利用2.1節(jié)干旱監(jiān)測模型計(jì)算后生成的MapId信息,給出GEE平臺(tái)WMS服務(wù)和Flask服務(wù)器端代理地圖服務(wù)的URL模版,如表1所示。
表1 GEE平臺(tái)和Flask服務(wù)器端地圖服務(wù)URL模版Tab.1 GEE platform and flask server- side map service URL template
在Flask服務(wù)器端地圖代理服務(wù)的基礎(chǔ)之上,客戶端中的OSMDroid地圖框架提供了OnlineTileSourceBase瓦片數(shù)據(jù)源抽象類,該類可對Flask服務(wù)器端提供的代理地圖服務(wù)進(jìn)行處理,使用戶請求的每塊地圖圖片都能以正確的位置顯示在Android客戶端上,即可在客戶端顯示出干旱監(jiān)測結(jié)果。
考慮到不同尺度的農(nóng)田干旱監(jiān)測需求,F(xiàn)DRSDMS采用了GEE平臺(tái)中Landsat7,Landsat8,Sentinel-2和MODIS共4種不同分辨率的遙感數(shù)據(jù)源,用戶可依據(jù)研究區(qū)域范圍大小自由選取分析的數(shù)據(jù)源類型,如表2所示。
表2 系統(tǒng)采用的GEE平臺(tái)遙感數(shù)據(jù)源及波段①Tab.2 Remote sensing data source and band of GEE platform used in the system
①數(shù)據(jù)說明來自https://developers.google.com/earth-engine/datasets。
FDRSDMS支持農(nóng)田現(xiàn)場數(shù)據(jù)采集與管理。如圖5(a)所示,數(shù)據(jù)測量與錄入界面包括確定采樣點(diǎn)位置、采樣時(shí)間信息、采樣點(diǎn)作物類型信息和采集實(shí)測參數(shù)等內(nèi)容,其中經(jīng)緯度坐標(biāo),系統(tǒng)會(huì)根據(jù)GPS定位服務(wù)自動(dòng)填寫,采樣時(shí)間也會(huì)自動(dòng)設(shè)置為當(dāng)前北京時(shí)間,用戶需要錄入作物類型和實(shí)測參數(shù)。如圖5(b)所示,若錄入的數(shù)據(jù)需要進(jìn)行修改或刪除時(shí),用戶通過觸碰數(shù)據(jù)點(diǎn),即可進(jìn)行采樣點(diǎn)信息的處理。如圖5(c)所示,數(shù)據(jù)查詢與導(dǎo)出功能可將符合條件的數(shù)據(jù)導(dǎo)出為CSV文件格式,為用戶更進(jìn)一步的研究分析提供方便。
(a)數(shù)據(jù)測量與錄入 (b)采樣點(diǎn)顯示 (c)數(shù)據(jù)查詢與導(dǎo)出
農(nóng)田干旱遙感動(dòng)態(tài)監(jiān)測功能的應(yīng)用首先需要進(jìn)行研究區(qū)域的選取,如圖6(a)所示,選取河南省漯河市某矩形地域?yàn)檠芯繀^(qū)并顯示區(qū)域范圍圖。如圖6(b)所示,一旦選定研究區(qū),系統(tǒng)會(huì)自動(dòng)跳轉(zhuǎn)至農(nóng)田干旱遙感動(dòng)態(tài)監(jiān)測界面,用戶可進(jìn)行遙感數(shù)據(jù)檢索條件的設(shè)置,其中遙感數(shù)據(jù)源可選用3.1節(jié)介紹的4種數(shù)據(jù)源,如成像時(shí)間為2019年4月1日—15日期間的Sentinel-2影像數(shù)據(jù),合成方法可選用均值、中值和最大值,此外在模型計(jì)算的設(shè)置中,用戶可選用植被指數(shù)、干旱指數(shù)或者自定義模型計(jì)算公式,這里以Sentinel-2地表反射率影像進(jìn)行MPDI干旱指數(shù)計(jì)算的參數(shù)配置為例。完成相關(guān)參數(shù)配置后,當(dāng)點(diǎn)擊界面計(jì)算按鈕時(shí),系統(tǒng)通過Flask服務(wù)器端,調(diào)用GEE平臺(tái)進(jìn)行遙感影像動(dòng)態(tài)檢索,經(jīng)過區(qū)域過濾、影像除云、研究區(qū)域裁剪等遙感影像預(yù)處理操作,并運(yùn)用MPDI干旱模型進(jìn)行實(shí)時(shí)計(jì)算,計(jì)算結(jié)果顯示為干旱專題圖,以橘黃至深綠色標(biāo)分別代表干旱由重逐級(jí)減低的程度,如圖6(c)所示。
(a)研究區(qū)域繪制 (b)MPDI參數(shù)設(shè)置 (c)MPDI計(jì)算結(jié)果
本文以Android為開發(fā)平臺(tái),綜合運(yùn)用了OSMDroid,Retrofit和Flask等開源框架,研制了從客戶端至服務(wù)端一體的農(nóng)田干旱遙感動(dòng)態(tài)監(jiān)測系統(tǒng),實(shí)現(xiàn)了面向于農(nóng)田作物監(jiān)測的多種專業(yè)功能,其特色如下:
1)充分發(fā)揮了移動(dòng)客戶端進(jìn)行農(nóng)情觀測方便快捷的特點(diǎn),在服務(wù)端的農(nóng)田數(shù)據(jù)管理服務(wù)支持下,針對用戶農(nóng)田觀測作業(yè)的需求,在Android平臺(tái)上實(shí)現(xiàn)了農(nóng)田數(shù)據(jù)采集管理的一套完整處理流程,提高了用戶野外觀測后快速處理農(nóng)田數(shù)據(jù)的效率。
2)以GEE平臺(tái)提供的遙感數(shù)據(jù)為基礎(chǔ),建立了GEE平臺(tái)Python接口接入方案,解決了目前系統(tǒng)難以進(jìn)行動(dòng)態(tài)干旱監(jiān)測分析的問題。在監(jiān)測過程中,用戶可根據(jù)需求使用Sentinel-2,Landsat7,Landsat8和MODIS共4種遙感數(shù)據(jù)源,并支持植被指數(shù)、干旱指數(shù)和自定義模型的實(shí)時(shí)計(jì)算,實(shí)現(xiàn)了以動(dòng)態(tài)輸入反演模型的方式來進(jìn)行實(shí)時(shí)計(jì)算的能力,整個(gè)監(jiān)測過程用戶占主導(dǎo)地位,可操作空間大。
基于Android的農(nóng)田干旱遙感動(dòng)態(tài)監(jiān)測系統(tǒng)為農(nóng)田干旱研究提供了新的支撐工具,對于農(nóng)田作物信息快速采集與分析具有現(xiàn)實(shí)意義。本文下一步工作是將傳統(tǒng)機(jī)器學(xué)習(xí)以及深度學(xué)習(xí)等復(fù)雜模型接入,以實(shí)現(xiàn)對農(nóng)田干旱進(jìn)行更加精確地監(jiān)測與診斷分析。