?

基于Android的農田干旱遙感動態監測系統研制

2021-07-08 10:42龍澤昊張添源許偉秦其明
自然資源遙感 2021年2期
關鍵詞:服務器端農田客戶端

龍澤昊,張添源,許偉,秦其明,2

(1.北京大學地球與空間科學學院遙感與地理信息系統研究所,北京 100871;2.自然資源部地理信息系統技術創新中心,北京 100871)

0 引言

我國地域寬廣,農業旱災時有發生,以海量遙感數據為支撐,并對農田干旱進行有效監測是保證國家糧食安全和維護社會穩定發展的基礎[1-2]。通過對農田干旱監測研究成果進行應用,建立起相應的農田監測系統可最大發揮研究成果效益,例如金川等[3]研制了一套基于桌面端的干旱監測遙感支持系統,并結合寧夏試驗區的實際應用對監測結果進行了展示;Wu等[4]研發了全球農情遙感速報(CropWatch)系統,以遙感和田間觀測數據相結合的方式,集成了作物面積、干旱和產量等多種監測指標,但是目前的農田干旱監測系統仍然存在著一些問題。

首先,農田干旱監測系統以桌面端居多,便攜性差,無法滿足用戶實地農田作業的需求;而移動智能手機憑借易攜帶、觸摸式交互等特點,具有信息獲取及時和操作便捷等優勢。并且隨著5G通信技術的不斷推近,通信延遲得到了極大的降低,也為移動端間的圖像數據快速傳輸奠定了基礎[5]。當前主流的移動端操作系統有Android,iOS和Windows Phone等,而Android操作系統由于強大的軟件生態圈和良好的用戶使用體驗,占領了移動端市場的絕大部分份額[6],適宜作為農田干旱遙感監測系統的搭載平臺。

其次,系統對農田干旱情況的動態監測能力弱。由于海量遙感數據亟待妥善管理和計算力不足,現有農田干旱監測系統主要以發布靜態干旱監測成果的方式來為用戶服務,該類系統缺少動態干旱監測分析的能力,無法滿足實時監測的目的[7]。云計算技術為海量遙感數據妥善的管理提供了解決方案,通過與遙感技術相結合,孕育而生的遙感云計算平臺不僅極大方便了多種遙感影像數據檢索與獲取,還將數據處理所需要的計算資源環境在云端實現,解決了本地計算力不夠等問題[8-9]。谷歌地球引擎(Google Earth Engine,GEE)作為遙感云計算平臺的先鋒,不僅集成有多種系列衛星影像數據,而且也提供了實時處理、分析和可視化這些數據的強大功能,被廣泛應用于農業作物監測、資源災害評估、全球氣候變化等方面的研究[10-11]。

為了改善農田干旱監測系統上述現存的問題,本文依托GEE云計算平臺以及Android移動操作系統,搭建了一款與農業密切關聯的移動端農田干旱遙感動態監測系統(farmland drought remote sensing dynamic monitoring system,FDRSDMS),對于農田干旱監測研究具有現實意義和參考價值。

1 系統設計

1.1 系統架構

FDRSDMS在多種開源技術框架支持下,以Android移動端為搭載平臺,并利用GEE遙感云計算平臺優勢,實現了農田數據的錄入、處理、存儲和農田干旱的遙感動態監測。如圖1所示,FDRSDMS結構分為顯示層、服務層和支撐層3層,采用“瘦客戶端”設計思想,顯示層負責界面繪制、請求發送與響應等邏輯操作,模型計算、數據處理等操作交給服務層和支撐層完成,保證了系統的流暢運行。其中,顯示層在OSMDroid開源地圖庫的支持下,以Retrofit通信框架高效進行客戶端與服務端通信為基礎,進行了不同業務功能的實現;服務層通過建立GEE遙感平臺服務和農田數據管理服務兩大模塊,為顯示層功能的實現提供服務支持;支撐層采用MySQL數據庫管理農田作物數據,并結合GEE平臺和Flask框架為服務層服務的部署提供了數據管理和計算資源支持。

圖1 系統總體架構Fig.1 System overall architecture

1.2 業務功能

面向農田干旱監測需求,FDRSDMS劃分為基礎服務模塊、農田數據采集管理模塊和農田干旱遙感動態監測模塊,其功能設計如圖2所示?;A服務模塊包括圖層管理、地圖操作與交互、全球定位系統(global positioning system,GPS)定位服務功能,上述基礎功能為其他兩個業務模塊提供了基本技術支撐;農田數據采集管理模塊針對戶外作業需求,通過服務層的農田數據管理接口實現了數據測量與錄入、數據修改與刪除、數據查詢與導出功能,為用戶在野外無紙化快速采集農田作物數據提供了可能;農田干旱遙感動態監測模塊通過服務層的GEE遙感平臺服務接口,實現了基于植被指數、干旱指數和自定義模型的農田干旱動態監測,其中基礎服務模塊以及農田數據采集管理模塊是基于現有成熟技術實現的,而農田干旱遙感動態監測功能則需要用到本研究團隊所提出的監測模型,下一節將重點介紹農田干旱遙感動態監測模塊功能的實現。

圖2 系統業務功能Fig.2 System service functions

2 干旱動態監測關鍵技術與實現

GEE平臺提供了基于Python的本地客戶端庫,通過在Flask服務器端對GEE平臺Python接口進行開發,將農田干旱監測模型集成至Flask服務器端,可實現移動客戶端上的動態農田干旱監測,技術方案如圖3所示。

圖3 基于GEE平臺的農田干旱動態監測方案Fig.3 Scheme of farmland drought dynamic monitoring based on GEE platform

2.1 干旱監測模型實時計算

在Flask服務器端中,干旱監測模型實時計算先從移動客戶端獲得研究區域范圍、監測時間范圍、計算需要的遙感數據類型(如Sentinel-2)、不同波段組合方式和干旱模型等監測參數,之后利用GEE平臺Python接口進行GEE平臺初始化。其次,按照獲取的監測參數進行研究區內的遙感影像動態檢索,并進行時間過濾、區域過濾、影像除云、研究區域裁剪等遙感影像預處理操作。最后,對符合要求的影像進行干旱模型的實時計算,并由此得到GEE平臺輸出的唯一MapId信息,該信息可標識每次計算的干旱監測結果,也會用于2.2節的動態監測成果服務發布,具體計算流程如圖4所示。

圖4 干旱監測模型計算流程Fig.4 Calculation flow of drought monitoring model

在干旱模型實時計算步驟中,Flask服務器端利用GEE平臺提供的自定義表達式計算接口進行實現。如下為支持植被指數、干旱指數和自定義模型的主要代碼,通過采用lambda匿名函數來對每幅影像進行處理,在該函數中利用GEE平臺提供的expression方法進行波段計算,其中param[′expression′]為模型計算表達式,支持藍光、綠光、紅光、近紅外4個波段的計算。

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系統集成的植被指數包括歸一化植被指數(normalized difference vegetation index,NDVI)、增強型植被指數(enhanced vegetation index,EVI)和土壤調節植被指數(soil adjusted vegetation index,SAVI),計算公式分別為:

(1)

(2)

(3)

式中:RBlue,RRed和RNIR分別為藍光、紅光和近紅外波段的反射率。

如當用戶進行實時NDVI計算時,上述代碼中的模型計算表達式param[′expression′]值為float(nir-red)/(nir+red)。

FDRSDMS系統集成的干旱指數包括垂直干旱指數(perpendicular drought index,PDI)與改進垂直干旱指數(modified perpendicular drought index,MPDI)[12-13]。計算公式分別為:

(4)

(5)

式中:RRed,v和RNIR,v為純植被像元在紅光和近紅外波段的反射率;M為NIR-Red光譜特征空間的土壤線斜率;fv為植被覆蓋率。

這兩種干旱指數需要提取土壤線斜率和計算植被覆蓋率,實現相對較復雜,因此系統中土壤線斜率提取采用文獻[14]中的土壤線自動提取算法,植被覆蓋率計算方法來源于文獻[15]。

2.2 動態監測成果服務發布

GEE平臺以網絡地圖服務(web map service,WMS)為用戶提供干旱監測結果,同時為了保證地圖服務能正常被訪問,利用Flask服務器端對GEE平臺WMS服務進行了統一代理。這里利用2.1節干旱監測模型計算后生成的MapId信息,給出GEE平臺WMS服務和Flask服務器端代理地圖服務的URL模版,如表1所示。

表1 GEE平臺和Flask服務器端地圖服務URL模版Tab.1 GEE platform and flask server- side map service URL template

在Flask服務器端地圖代理服務的基礎之上,客戶端中的OSMDroid地圖框架提供了OnlineTileSourceBase瓦片數據源抽象類,該類可對Flask服務器端提供的代理地圖服務進行處理,使用戶請求的每塊地圖圖片都能以正確的位置顯示在Android客戶端上,即可在客戶端顯示出干旱監測結果。

3 系統應用示范

3.1 遙感數據源選取

考慮到不同尺度的農田干旱監測需求,FDRSDMS采用了GEE平臺中Landsat7,Landsat8,Sentinel-2和MODIS共4種不同分辨率的遙感數據源,用戶可依據研究區域范圍大小自由選取分析的數據源類型,如表2所示。

表2 系統采用的GEE平臺遙感數據源及波段①Tab.2 Remote sensing data source and band of GEE platform used in the system

①數據說明來自https://developers.google.com/earth-engine/datasets。

3.2 農田數據采集與管理

FDRSDMS支持農田現場數據采集與管理。如圖5(a)所示,數據測量與錄入界面包括確定采樣點位置、采樣時間信息、采樣點作物類型信息和采集實測參數等內容,其中經緯度坐標,系統會根據GPS定位服務自動填寫,采樣時間也會自動設置為當前北京時間,用戶需要錄入作物類型和實測參數。如圖5(b)所示,若錄入的數據需要進行修改或刪除時,用戶通過觸碰數據點,即可進行采樣點信息的處理。如圖5(c)所示,數據查詢與導出功能可將符合條件的數據導出為CSV文件格式,為用戶更進一步的研究分析提供方便。

(a)數據測量與錄入 (b)采樣點顯示 (c)數據查詢與導出

3.3 農田干旱遙感動態監測應用

農田干旱遙感動態監測功能的應用首先需要進行研究區域的選取,如圖6(a)所示,選取河南省漯河市某矩形地域為研究區并顯示區域范圍圖。如圖6(b)所示,一旦選定研究區,系統會自動跳轉至農田干旱遙感動態監測界面,用戶可進行遙感數據檢索條件的設置,其中遙感數據源可選用3.1節介紹的4種數據源,如成像時間為2019年4月1日—15日期間的Sentinel-2影像數據,合成方法可選用均值、中值和最大值,此外在模型計算的設置中,用戶可選用植被指數、干旱指數或者自定義模型計算公式,這里以Sentinel-2地表反射率影像進行MPDI干旱指數計算的參數配置為例。完成相關參數配置后,當點擊界面計算按鈕時,系統通過Flask服務器端,調用GEE平臺進行遙感影像動態檢索,經過區域過濾、影像除云、研究區域裁剪等遙感影像預處理操作,并運用MPDI干旱模型進行實時計算,計算結果顯示為干旱專題圖,以橘黃至深綠色標分別代表干旱由重逐級減低的程度,如圖6(c)所示。

(a)研究區域繪制 (b)MPDI參數設置 (c)MPDI計算結果

4 結論

本文以Android為開發平臺,綜合運用了OSMDroid,Retrofit和Flask等開源框架,研制了從客戶端至服務端一體的農田干旱遙感動態監測系統,實現了面向于農田作物監測的多種專業功能,其特色如下:

1)充分發揮了移動客戶端進行農情觀測方便快捷的特點,在服務端的農田數據管理服務支持下,針對用戶農田觀測作業的需求,在Android平臺上實現了農田數據采集管理的一套完整處理流程,提高了用戶野外觀測后快速處理農田數據的效率。

2)以GEE平臺提供的遙感數據為基礎,建立了GEE平臺Python接口接入方案,解決了目前系統難以進行動態干旱監測分析的問題。在監測過程中,用戶可根據需求使用Sentinel-2,Landsat7,Landsat8和MODIS共4種遙感數據源,并支持植被指數、干旱指數和自定義模型的實時計算,實現了以動態輸入反演模型的方式來進行實時計算的能力,整個監測過程用戶占主導地位,可操作空間大。

基于Android的農田干旱遙感動態監測系統為農田干旱研究提供了新的支撐工具,對于農田作物信息快速采集與分析具有現實意義。本文下一步工作是將傳統機器學習以及深度學習等復雜模型接入,以實現對農田干旱進行更加精確地監測與診斷分析。

猜你喜歡
服務器端農田客戶端
達爾頓老伯的農田
Linux環境下基于Socket的數據傳輸軟件設計
如何看待傳統媒體新聞客戶端的“斷舍離”?
縣級臺在突發事件報道中如何應用手機客戶端
孵化垂直頻道:新聞客戶端新策略
淺析異步通信層的架構在ASP.NET 程序中的應用
基于Qt的安全即時通訊軟件服務器端設計
農田創意秀
農田搞養殖需辦哪些證
農田制作所
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合