尹新沆,張友靜,2,錢志奇,李曉寧,陳靜欣
(1.河海大學 地球科學與工程學院, 江蘇 南京 210098;2.河海大學 水文水資源與水利工程科學國家重點實驗室, 江蘇 南京 210098;3.江蘇省地質勘察技術院信息中心,江蘇 南京 210008;4.江蘇省測繪產(chǎn)品質量監(jiān)督檢驗站,江蘇 南京 210013)
地表蒸散發(fā)涉及多個圈層水熱交換與平衡[1,2]。近年來應用遙感方法在估算區(qū)域蒸散發(fā)方面取得了諸多成果[3-7]。由于衛(wèi)星數(shù)據(jù)處理過程繁瑣,不利于研究的進一步深入與成果的推廣,人們在此基礎上研發(fā)了許多針對地表蒸散發(fā)的遙感估算系統(tǒng)。吳炳方等[8]設計的ETWatch系統(tǒng)和鄧世贊等[9]針對黃河流域設計的地表蒸散發(fā)參數(shù)估算系統(tǒng),采用ENVI/IDL語言實現(xiàn)了對下墊面因子和地表蒸散發(fā)的估算,但系統(tǒng)開發(fā)平臺單一,擴展性存在一定的局限性;錢志奇等[10]針對黃河三花間設計的地表蒸散發(fā)遙感監(jiān)測系統(tǒng),采用組件技術解決了遙感模型與水熱模型的集成問題。但上述系統(tǒng)均未建立簡潔規(guī)范的地表蒸散發(fā)遙感估算流程和專門的空間數(shù)據(jù)庫用于多源異構空間數(shù)據(jù)的存儲與管理,且大多以MODIS為主要數(shù)據(jù)源。隨著研究的深入,km級的數(shù)據(jù)已越來越不能滿足地表蒸散發(fā)實際應用的需求。
本文以HJ-1B星數(shù)據(jù)與氣象數(shù)據(jù)為數(shù)據(jù)源,構建了基于ArcSDE的空間數(shù)據(jù)庫,用于對多源異構空間數(shù)據(jù)進行統(tǒng)一的管理,以ENVI/IDL語言進行蒸散發(fā)遙感估算模型算法的封裝,以C#語言控制系統(tǒng)的流程與模型算法的調用,以ArcEngine與ArcSDE相結合的方式實現(xiàn)系統(tǒng)與空間數(shù)據(jù)庫之間數(shù)據(jù)的交互,解決了系統(tǒng)設計中多平臺、多模型的集成問題,設計了簡潔規(guī)范的流程圖式模型參數(shù)操作界面,開發(fā)了基于HJ-1B星的地表蒸散發(fā)遙感估算系統(tǒng)。
地表蒸散發(fā)遙感估算系統(tǒng)涉及到眾多數(shù)據(jù)、參數(shù)與模型的管理,為更加有效地實現(xiàn)對系統(tǒng)進程的流程化控制、數(shù)據(jù)的規(guī)范化管理,系統(tǒng)的設計須滿足:①具備HJ-1B星數(shù)據(jù)、氣象數(shù)據(jù)、DEM、土壤墑情數(shù)據(jù)等多源異構空間數(shù)據(jù)的統(tǒng)一存儲與管理能力;②設計簡潔規(guī)范的流程化操作模式,規(guī)范地表蒸散發(fā)遙感估算系統(tǒng)的進程;③合理地將遙感平臺、GIS平臺與數(shù)據(jù)庫平臺進行多平臺綜合集成,使系統(tǒng)能夠對遙感數(shù)據(jù)、GIS數(shù)據(jù)及其他空間數(shù)據(jù)進行統(tǒng)一的調用與管理;④規(guī)范遙感模型與水熱模型集成中不同類型的數(shù)據(jù)、模型、參數(shù)的調用與傳遞次序;⑤具備統(tǒng)計分析功能與各類專題地圖的快速編制功能。
根據(jù)系統(tǒng)的需求分析,系統(tǒng)總體架構可分為數(shù)據(jù)層、技術層、用戶交互層和應用層4部分(見圖1)。
1)數(shù)據(jù)層。在SQL Server2008數(shù)據(jù)庫上架構ArcSDE空間數(shù)據(jù)引擎構建空間數(shù)據(jù)庫,搭建系統(tǒng)與SQLServer 2008數(shù)據(jù)庫之間的數(shù)據(jù)通路,提供系統(tǒng)開發(fā)所需的ArcEngine COMAPI(application programming interface,應用程序編程接口)[11],實現(xiàn)對HJ-1B星數(shù)據(jù)、氣象站點數(shù)據(jù)、DEM、土壤墑情數(shù)據(jù)、統(tǒng)計信息、用戶信息等多源異構空間數(shù)據(jù)的規(guī)范化管理。
2)技術層。利用ENVI/IDL編寫二次開發(fā)函數(shù)并進行模型算法封裝,實現(xiàn)對數(shù)據(jù)預處理與地表蒸散發(fā)遙感估算的模塊化運算;利用ArcSDE實現(xiàn)對空間數(shù)據(jù)的統(tǒng)一管理,其中數(shù)據(jù)的存儲與提取由SQL Server 2008數(shù)據(jù)庫實現(xiàn),數(shù)據(jù)的整合與處理功能由應用層的ArcEngine提供,ArcSDE則提供SQL Server 2008數(shù)據(jù)庫與ArcEngine之間進行交流的通道;利用ArcEngine與C#混編的方式,控制空間數(shù)據(jù)的傳遞及ENVI/IDL二次開發(fā)函數(shù)的調用,實現(xiàn)對各模塊之間生成的空間數(shù)據(jù)的規(guī)范化管理和系統(tǒng)與空間數(shù)據(jù)庫之間數(shù)據(jù)的交互。
3)用戶交互層。利用窗體控件(Windows控件)設計了流程圖式的模型參數(shù)操作界面,采用C#語言控制模型參數(shù)操作界面中各類參數(shù)、模型算法的調用與傳遞,通過 SQL引擎執(zhí)行空間數(shù)據(jù)的搜索,通過ArcSDE與ArcEngine相結合的方式實現(xiàn)系統(tǒng)與空間數(shù)據(jù)庫之間數(shù)據(jù)的交互與傳遞,達到對系統(tǒng)進程進行流程化控制和對空間數(shù)據(jù)進行規(guī)范化管理的目的。
4)應用層。利用Visual Studio2010的GUI界面設計功能,開發(fā)了基于HJ-1B星的地表蒸散發(fā)遙感估算系統(tǒng),有效解決了系統(tǒng)設計中多模型、多平臺的集成問題,實現(xiàn)了對多源異構空間數(shù)據(jù)的統(tǒng)一管理,建立了從影像到數(shù)據(jù)成果的一整套系統(tǒng)化、業(yè)務化流程,提高了系統(tǒng)的友好性與實用性。
根據(jù)系統(tǒng)的總體架構,將系統(tǒng)劃分為數(shù)據(jù)交互、數(shù)據(jù)管理、數(shù)據(jù)處理與數(shù)據(jù)輸出4部分(見圖2)。
1)數(shù)據(jù)交互包括數(shù)據(jù)獲取、數(shù)據(jù)與參數(shù)的輸入。數(shù)據(jù)獲取主要通過WebBrower控件將相關數(shù)據(jù)獲取網(wǎng)頁內嵌入系統(tǒng),實現(xiàn)對蒸散發(fā)遙感估算所需的影像數(shù)據(jù)與氣象數(shù)據(jù)的網(wǎng)絡獲取功能。數(shù)據(jù)與參數(shù)的輸入主要集中在數(shù)據(jù)預處理與ET反演過程中,是用戶交互的主要內容,決定了系統(tǒng)運行的進程與最終成果的精度。
2)數(shù)據(jù)管理主要通過構建基于ArcSDE的空間數(shù)據(jù)庫來實現(xiàn)。利用ArcEngine將系統(tǒng)對空間數(shù)據(jù)的操作指令傳遞給ArcSDE,由ArcSDE與SQL Server2008數(shù)據(jù)庫進行交互,并將交互結果再返回ArcEngine,實現(xiàn)系統(tǒng)與空間數(shù)據(jù)庫之間的數(shù)據(jù)交互,規(guī)范化管理多源異構的空間數(shù)據(jù)。
3)數(shù)據(jù)處理包括基本功能、影像預處理與ET反演。基本功能與影像預處理除實現(xiàn)對數(shù)據(jù)的格式轉換、波段運算、投影轉換、空間插值、大氣校正、輻射定標、云監(jiān)測等常規(guī)的遙感圖像處理操作之外,還針對HJ-1B星數(shù)據(jù)的特點設計了HDF文件查詢與HSI去條帶功能。ET反演功能是根據(jù)能量平衡模型(SEBAL模型)反演地表蒸散發(fā)的過程,設計了流程圖式的模型參數(shù)操作界面,通過對不同模型參數(shù)操作界面的選擇,實現(xiàn)了對ET反演的流程化、規(guī)范化控制。
4)數(shù)據(jù)輸出實現(xiàn)對地表溫度、地表反照率、地表凈輻射通量、土壤熱通量、顯熱通量和日蒸散發(fā)等各類參數(shù)的統(tǒng)計分析、專題圖的快速編制等功能。
1.3.1 多平臺集成
IDL語言[12]是面向矩陣操作、遙感影像開發(fā)的交互式語言,ArcEngine在空間數(shù)據(jù)處理與分析中具有顯著的優(yōu)勢[13],VisualStudio2010開發(fā)平臺在GUI界面設計上有著廣泛的應用。本系統(tǒng)采用Visual Studio2010開發(fā)平臺,構建了流程圖式的模型參數(shù)操作界面,規(guī)范了遙感模型與水熱模型集成時數(shù)據(jù)、參數(shù)調用與傳遞次序。系統(tǒng)采用ENVI/IDL語言編寫數(shù)據(jù)預處理與ET反演的二次開發(fā)函數(shù)并進行模型算法的封裝,在C#下通過COM_IDL_Connect組件調用ENVI/IDL語言所封裝的算法函數(shù),實現(xiàn)二者之間的交互利用,將遙感平臺集成于系統(tǒng)中;采用ArcSDE與AE相結合的方式,由ArcSDE提供AE訪問空間數(shù)據(jù)庫的API接口,在C#下調用AE組件庫,實現(xiàn)系統(tǒng)與空間數(shù)據(jù)庫之間數(shù)據(jù)的交互利用,將數(shù)據(jù)庫平臺集成到系統(tǒng)中;在C#下進行AE的二次開發(fā),控制影像數(shù)據(jù)與ENVI/IDL語言所封裝的算法函數(shù)之間參數(shù)的交互與傳遞,實現(xiàn)對空間數(shù)據(jù)的操作、顯示與管理,將GIS平臺集成于系統(tǒng)中,從而解決了系統(tǒng)開發(fā)中多平臺、多模型的集成問題。
1.3.2 流程圖式的模型參數(shù)操作界面
針對地表蒸散發(fā)遙感估算系統(tǒng)涉及反演模塊眾多、流程繁瑣復雜的問題,本系統(tǒng)參考ArcGIS Desktop建模工具的方法,結合地表蒸散發(fā)遙感估算的實際情況,設計了流程圖式的模型參數(shù)操作界面,簡潔規(guī)范地實現(xiàn)了對地表蒸散發(fā)遙感估算的流程化控制。
流程圖式的模型參數(shù)操作界面將數(shù)據(jù)預處理與能量平衡模型(SEBAL模型)反演地表蒸散發(fā)的過程,以固定流程圖的形式封裝成不同的處理模型,并擴展了部分模型的參數(shù)交互窗口,用戶可方便地查詢每個處理過程的可視化流程圖。由圖3可知,模型參數(shù)操作界面中用戶需要進行如下操作:連接空間數(shù)據(jù)庫、選擇處理模型、設定數(shù)據(jù)查詢格式與輸入?yún)?shù)文件。當用戶操作完成后,點擊流程圖的輸出框即可執(zhí)行運算。運算時系統(tǒng)會首先對輸入文件的完整性進行判斷,然后執(zhí)行相應的模型算法,并將運算結果存入空間數(shù)據(jù)庫的柵格數(shù)據(jù)集中。同時,如果輸入?yún)?shù)或數(shù)據(jù)不全,系統(tǒng)會提示用戶需要輸入某個文件而不執(zhí)行運算。
1.3.3 多線程運行機制
為了防止系統(tǒng)在處理數(shù)據(jù)量較大的遙感圖像時出現(xiàn)耗時過長的現(xiàn)象,解決單線程運行方式效率低下的問題,提高系統(tǒng)友好性,本系統(tǒng)利用線程控制函數(shù)Thread()設計了多線程的運行方式,合理設計了各個功能函數(shù)在線程中的狀態(tài),有效減少了系統(tǒng)運行過程中的線程沖突和數(shù)據(jù)冗余問題,提高了系統(tǒng)運行的效率與穩(wěn)定性。
本系統(tǒng)所選實驗區(qū)位于淮河下游一個典型區(qū)域,包括臨沂市、棗莊市、宿遷市及徐州市北部,面積約3 000 km2(見圖4)。以2010-05-24HJ-1B星數(shù)據(jù)為例,建立了基于HJ-1B星地表蒸散發(fā)遙感估算系統(tǒng)。系統(tǒng)界面分為主菜單、圖層控制欄、鷹眼區(qū)、文件查詢欄、網(wǎng)頁瀏覽區(qū)、模型流程圖式參數(shù)操作界面、制圖輸出區(qū)和IDL控制臺等。
根據(jù)系統(tǒng)需求,設計了基本功能、數(shù)據(jù)預處理、ET反演、統(tǒng)計分析和輔助功能5大主菜單。系統(tǒng)的主要特色是針對蒸散發(fā)遙感估算流程繁瑣的問題,建立了可視化的、簡潔規(guī)范的流程圖式模型參數(shù)操作界面(見圖5)。模型參數(shù)操作界面以蒸散發(fā)遙感估算過程為依據(jù),按照影像處理次序與估算參數(shù)類型,劃分成不同的模型參數(shù)操作界面。使用時,用戶首先需連接空間數(shù)據(jù)庫,根據(jù)模型參數(shù)操作界面中輸入?yún)?shù)的格式,設置文件查詢條件,篩選出空間數(shù)據(jù)庫中符合要求的數(shù)據(jù);然后將相應數(shù)據(jù)拖拽至模型輸入框內。當參數(shù)全部輸入完畢后,點擊模型輸入框即可完成運算,運算的結果將按統(tǒng)一格式存入空間數(shù)據(jù)庫。圖5為模型參數(shù)操作界面中ET反演的總操作界面,以經(jīng)過預處理的遙感影像數(shù)據(jù)和氣象數(shù)據(jù)為源頭,按SEBAL模型反演ET過程為依據(jù),進行下墊面因子的提取,并采用謝賢群正弦曲線法進行日尺度擴展。
同時,系統(tǒng)利用IDL 語言在統(tǒng)計分析方面的優(yōu)勢,開發(fā)了統(tǒng)計分析功能(直方圖、散點圖和樣點趨勢線)。如圖6所示,利用系統(tǒng)直方圖統(tǒng)計功能,對HJ-1B估算的地表三通量(Rn、Gn、H)的分布區(qū)間進行統(tǒng)計。圖7為MODIS與HJ星估算日蒸散量在300 m分辨率尺度下,影像范圍內中心線所對應的310多個采樣點的趨勢線圖。由圖7可見,HJ-Ed相鄰像元值波動明顯,MODIS-Ed相鄰像元值波動緩和;HJ-Ed值分布相對較集中,MODISEd的方差較大,離散程度較高,但二者總體趨勢相同。
本文針對km級衛(wèi)星數(shù)據(jù)越來越不能滿足實際應用的問題,以百米級分辨率的HJ-1B星數(shù)據(jù)為數(shù)據(jù)源,結合蒸散發(fā)遙感估算所需的其他空間數(shù)據(jù),開發(fā)了基于HJ-1B星地表蒸散發(fā)遙感估算系統(tǒng);實現(xiàn)了從影像的獲取、管理、預處理到下墊面因子及通量信息的模型化提取,以及專題地圖的編制和統(tǒng)計分析,建立了從數(shù)據(jù)到成果的一整套業(yè)務化處理流程,達到遙感估算實效性要求,形成了針對地表蒸散發(fā)遙感估算的技術解決方案。經(jīng)測試,3 000 km2的實驗區(qū),若采用默認運行參數(shù),整體運行時間控制在3 min以內,能夠滿足業(yè)務化運行需求,可為大范圍的水分循環(huán)與能量平衡的研究提供支持。
[1]Jiang L, Islam S,Guo W, et al. A Satellite-based Daily Actual Evapotranspiration Estimation Algorithm over South Florida[J].Global and Planetary Change, 2009, 67(1): 62-77
[2]賈志軍, 宋長春, 王躍思,等. 三江平原典型沼澤濕地蒸散量研究[J].氣候與環(huán)境研究, 2007(4): 496-502
[3]韓雪, 彭國照. 地表蒸散遙感監(jiān)測的進展及問題[J].高原山地氣象研究,2009(2): 81-84
[4]張友靜, 鄧世贊, 馬榮華,等. 湖泊水環(huán)境衛(wèi)星遙感監(jiān)測系統(tǒng)的設計與實現(xiàn)[J]. 武漢大學學報:信息科學版,2011(9):13-15
[5]馬榮華, 唐軍武, 段洪濤,等. 湖泊水色遙感研究進展[J].湖泊科學,2009(2): 143-158
[6]高彥春, 龍笛.遙感蒸散發(fā)模型研究進展[J]. 遙感學報,2008(3): 515-528
[7]Donatelli M, Bellocchi G, Carlini L. Sharing Knowledge Via Software Components: Models on Reference Evapotranspiration[J].European Journal of Agronomy, 2006, 24(2): 186-192
[8]吳炳方, 熊雋, 閆娜娜,等. 基于遙感的區(qū)域蒸散量監(jiān)測方法——ETWatch[J].水科學進展,2008(5): 671-678
[9]鄧世贊, 張友靜, 張子衡,等.基于IDL的MODIS影像地表蒸散發(fā)參數(shù)反演系統(tǒng)[J].河海大學學報:自然科學版,2010(4):93-97
[10]錢志奇, 張友靜, 鄧世贊,等. 基于組件技術的地表蒸散發(fā)遙感監(jiān)測系統(tǒng)設計與應用[J].地球信息科學學報,2011(5): 679-686
[11]李曉松,于靜,蔡文婷. 基于ArcSDE和SQL Server 2005的城鄉(xiāng)動態(tài)監(jiān)測集成數(shù)據(jù)庫的構建——以義烏市城鄉(xiāng)動態(tài)監(jiān)測集成數(shù)據(jù)庫為例[J].城市發(fā)展研究,2010(11): 61-65
[12]何川,張友靜,佘遠見,等. 基于Web和IDL的遙感信息提取系統(tǒng)開發(fā)[J].遙感技術與應用,2009(3): 405-408
[13]南卓銅,朱仕杰. 基于ArcEngine的GIS軟件框架建設[J].遙感技術與應用,2006(4): 385-390