尹新沆,张友静,2,钱志奇,李晓宁,陈静欣
(1.河海大学 地球科学与工程学院, 江苏 南京 210098;2.河海大学 水文水资源与水利工程科学国家重点实验室, 江苏 南京 210098;3.江苏省地质勘察技术院信息中心,江苏 南京 210008;4.江苏省测绘产品质量监督检验站,江苏 南京 210013)
地表蒸散发涉及多个圈层水热交换与平衡[1,2]。近年来应用遥感方法在估算区域蒸散发方面取得了诸多成果[3-7]。由于卫星数据处理过程繁琐,不利于研究的进一步深入与成果的推广,人们在此基础上研发了许多针对地表蒸散发的遥感估算系统。吴炳方等[8]设计的ETWatch系统和邓世赞等[9]针对黄河流域设计的地表蒸散发参数估算系统,采用ENVI/IDL语言实现了对下垫面因子和地表蒸散发的估算,但系统开发平台单一,扩展性存在一定的局限性;钱志奇等[10]针对黄河三花间设计的地表蒸散发遥感监测系统,采用组件技术解决了遥感模型与水热模型的集成问题。但上述系统均未建立简洁规范的地表蒸散发遥感估算流程和专门的空间数据库用于多源异构空间数据的存储与管理,且大多以MODIS为主要数据源。随着研究的深入,km级的数据已越来越不能满足地表蒸散发实际应用的需求。
本文以HJ-1B星数据与气象数据为数据源,构建了基于ArcSDE的空间数据库,用于对多源异构空间数据进行统一的管理,以ENVI/IDL语言进行蒸散发遥感估算模型算法的封装,以C#语言控制系统的流程与模型算法的调用,以ArcEngine与ArcSDE相结合的方式实现系统与空间数据库之间数据的交互,解决了系统设计中多平台、多模型的集成问题,设计了简洁规范的流程图式模型参数操作界面,开发了基于HJ-1B星的地表蒸散发遥感估算系统。
地表蒸散发遥感估算系统涉及到众多数据、参数与模型的管理,为更加有效地实现对系统进程的流程化控制、数据的规范化管理,系统的设计须满足:①具备HJ-1B星数据、气象数据、DEM、土壤墒情数据等多源异构空间数据的统一存储与管理能力;②设计简洁规范的流程化操作模式,规范地表蒸散发遥感估算系统的进程;③合理地将遥感平台、GIS平台与数据库平台进行多平台综合集成,使系统能够对遥感数据、GIS数据及其他空间数据进行统一的调用与管理;④规范遥感模型与水热模型集成中不同类型的数据、模型、参数的调用与传递次序;⑤具备统计分析功能与各类专题地图的快速编制功能。
根据系统的需求分析,系统总体架构可分为数据层、技术层、用户交互层和应用层4部分(见图1)。
1)数据层。在SQL Server2008数据库上架构ArcSDE空间数据引擎构建空间数据库,搭建系统与SQLServer 2008数据库之间的数据通路,提供系统开发所需的ArcEngine COMAPI(application programming interface,应用程序编程接口)[11],实现对HJ-1B星数据、气象站点数据、DEM、土壤墒情数据、统计信息、用户信息等多源异构空间数据的规范化管理。
2)技术层。利用ENVI/IDL编写二次开发函数并进行模型算法封装,实现对数据预处理与地表蒸散发遥感估算的模块化运算;利用ArcSDE实现对空间数据的统一管理,其中数据的存储与提取由SQL Server 2008数据库实现,数据的整合与处理功能由应用层的ArcEngine提供,ArcSDE则提供SQL Server 2008数据库与ArcEngine之间进行交流的通道;利用ArcEngine与C#混编的方式,控制空间数据的传递及ENVI/IDL二次开发函数的调用,实现对各模块之间生成的空间数据的规范化管理和系统与空间数据库之间数据的交互。
3)用户交互层。利用窗体控件(Windows控件)设计了流程图式的模型参数操作界面,采用C#语言控制模型参数操作界面中各类参数、模型算法的调用与传递,通过 SQL引擎执行空间数据的搜索,通过ArcSDE与ArcEngine相结合的方式实现系统与空间数据库之间数据的交互与传递,达到对系统进程进行流程化控制和对空间数据进行规范化管理的目的。
4)应用层。利用Visual Studio2010的GUI界面设计功能,开发了基于HJ-1B星的地表蒸散发遥感估算系统,有效解决了系统设计中多模型、多平台的集成问题,实现了对多源异构空间数据的统一管理,建立了从影像到数据成果的一整套系统化、业务化流程,提高了系统的友好性与实用性。
根据系统的总体架构,将系统划分为数据交互、数据管理、数据处理与数据输出4部分(见图2)。
1)数据交互包括数据获取、数据与参数的输入。数据获取主要通过WebBrower控件将相关数据获取网页内嵌入系统,实现对蒸散发遥感估算所需的影像数据与气象数据的网络获取功能。数据与参数的输入主要集中在数据预处理与ET反演过程中,是用户交互的主要内容,决定了系统运行的进程与最终成果的精度。
2)数据管理主要通过构建基于ArcSDE的空间数据库来实现。利用ArcEngine将系统对空间数据的操作指令传递给ArcSDE,由ArcSDE与SQL Server2008数据库进行交互,并将交互结果再返回ArcEngine,实现系统与空间数据库之间的数据交互,规范化管理多源异构的空间数据。
3)数据处理包括基本功能、影像预处理与ET反演。基本功能与影像预处理除实现对数据的格式转换、波段运算、投影转换、空间插值、大气校正、辐射定标、云监测等常规的遥感图像处理操作之外,还针对HJ-1B星数据的特点设计了HDF文件查询与HSI去条带功能。ET反演功能是根据能量平衡模型(SEBAL模型)反演地表蒸散发的过程,设计了流程图式的模型参数操作界面,通过对不同模型参数操作界面的选择,实现了对ET反演的流程化、规范化控制。
4)数据输出实现对地表温度、地表反照率、地表净辐射通量、土壤热通量、显热通量和日蒸散发等各类参数的统计分析、专题图的快速编制等功能。
1.3.1 多平台集成
IDL语言[12]是面向矩阵操作、遥感影像开发的交互式语言,ArcEngine在空间数据处理与分析中具有显著的优势[13],VisualStudio2010开发平台在GUI界面设计上有着广泛的应用。本系统采用Visual Studio2010开发平台,构建了流程图式的模型参数操作界面,规范了遥感模型与水热模型集成时数据、参数调用与传递次序。系统采用ENVI/IDL语言编写数据预处理与ET反演的二次开发函数并进行模型算法的封装,在C#下通过COM_IDL_Connect组件调用ENVI/IDL语言所封装的算法函数,实现二者之间的交互利用,将遥感平台集成于系统中;采用ArcSDE与AE相结合的方式,由ArcSDE提供AE访问空间数据库的API接口,在C#下调用AE组件库,实现系统与空间数据库之间数据的交互利用,将数据库平台集成到系统中;在C#下进行AE的二次开发,控制影像数据与ENVI/IDL语言所封装的算法函数之间参数的交互与传递,实现对空间数据的操作、显示与管理,将GIS平台集成于系统中,从而解决了系统开发中多平台、多模型的集成问题。
1.3.2 流程图式的模型参数操作界面
针对地表蒸散发遥感估算系统涉及反演模块众多、流程繁琐复杂的问题,本系统参考ArcGIS Desktop建模工具的方法,结合地表蒸散发遥感估算的实际情况,设计了流程图式的模型参数操作界面,简洁规范地实现了对地表蒸散发遥感估算的流程化控制。
流程图式的模型参数操作界面将数据预处理与能量平衡模型(SEBAL模型)反演地表蒸散发的过程,以固定流程图的形式封装成不同的处理模型,并扩展了部分模型的参数交互窗口,用户可方便地查询每个处理过程的可视化流程图。由图3可知,模型参数操作界面中用户需要进行如下操作:连接空间数据库、选择处理模型、设定数据查询格式与输入参数文件。当用户操作完成后,点击流程图的输出框即可执行运算。运算时系统会首先对输入文件的完整性进行判断,然后执行相应的模型算法,并将运算结果存入空间数据库的栅格数据集中。同时,如果输入参数或数据不全,系统会提示用户需要输入某个文件而不执行运算。
1.3.3 多线程运行机制
为了防止系统在处理数据量较大的遥感图像时出现耗时过长的现象,解决单线程运行方式效率低下的问题,提高系统友好性,本系统利用线程控制函数Thread()设计了多线程的运行方式,合理设计了各个功能函数在线程中的状态,有效减少了系统运行过程中的线程冲突和数据冗余问题,提高了系统运行的效率与稳定性。
本系统所选实验区位于淮河下游一个典型区域,包括临沂市、枣庄市、宿迁市及徐州市北部,面积约3 000 km2(见图4)。以2010-05-24HJ-1B星数据为例,建立了基于HJ-1B星地表蒸散发遥感估算系统。系统界面分为主菜单、图层控制栏、鹰眼区、文件查询栏、网页浏览区、模型流程图式参数操作界面、制图输出区和IDL控制台等。
根据系统需求,设计了基本功能、数据预处理、ET反演、统计分析和辅助功能5大主菜单。系统的主要特色是针对蒸散发遥感估算流程繁琐的问题,建立了可视化的、简洁规范的流程图式模型参数操作界面(见图5)。模型参数操作界面以蒸散发遥感估算过程为依据,按照影像处理次序与估算参数类型,划分成不同的模型参数操作界面。使用时,用户首先需连接空间数据库,根据模型参数操作界面中输入参数的格式,设置文件查询条件,筛选出空间数据库中符合要求的数据;然后将相应数据拖拽至模型输入框内。当参数全部输入完毕后,点击模型输入框即可完成运算,运算的结果将按统一格式存入空间数据库。图5为模型参数操作界面中ET反演的总操作界面,以经过预处理的遥感影像数据和气象数据为源头,按SEBAL模型反演ET过程为依据,进行下垫面因子的提取,并采用谢贤群正弦曲线法进行日尺度扩展。
同时,系统利用IDL 语言在统计分析方面的优势,开发了统计分析功能(直方图、散点图和样点趋势线)。如图6所示,利用系统直方图统计功能,对HJ-1B估算的地表三通量(Rn、Gn、H)的分布区间进行统计。图7为MODIS与HJ星估算日蒸散量在300 m分辨率尺度下,影像范围内中心线所对应的310多个采样点的趋势线图。由图7可见,HJ-Ed相邻像元值波动明显,MODIS-Ed相邻像元值波动缓和;HJ-Ed值分布相对较集中,MODISEd的方差较大,离散程度较高,但二者总体趋势相同。
本文针对km级卫星数据越来越不能满足实际应用的问题,以百米级分辨率的HJ-1B星数据为数据源,结合蒸散发遥感估算所需的其他空间数据,开发了基于HJ-1B星地表蒸散发遥感估算系统;实现了从影像的获取、管理、预处理到下垫面因子及通量信息的模型化提取,以及专题地图的编制和统计分析,建立了从数据到成果的一整套业务化处理流程,达到遥感估算实效性要求,形成了针对地表蒸散发遥感估算的技术解决方案。经测试,3 000 km2的实验区,若采用默认运行参数,整体运行时间控制在3 min以内,能够满足业务化运行需求,可为大范围的水分循环与能量平衡的研究提供支持。
[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].气候与环境研究, 2007(4): 496-502
[3]韩雪, 彭国照. 地表蒸散遥感监测的进展及问题[J].高原山地气象研究,2009(2): 81-84
[4]张友静, 邓世赞, 马荣华,等. 湖泊水环境卫星遥感监测系统的设计与实现[J]. 武汉大学学报:信息科学版,2011(9):13-15
[5]马荣华, 唐军武, 段洪涛,等. 湖泊水色遥感研究进展[J].湖泊科学,2009(2): 143-158
[6]高彦春, 龙笛.遥感蒸散发模型研究进展[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]吴炳方, 熊隽, 闫娜娜,等. 基于遥感的区域蒸散量监测方法——ETWatch[J].水科学进展,2008(5): 671-678
[9]邓世赞, 张友静, 张子衡,等.基于IDL的MODIS影像地表蒸散发参数反演系统[J].河海大学学报:自然科学版,2010(4):93-97
[10]钱志奇, 张友静, 邓世赞,等. 基于组件技术的地表蒸散发遥感监测系统设计与应用[J].地球信息科学学报,2011(5): 679-686
[11]李晓松,于静,蔡文婷. 基于ArcSDE和SQL Server 2005的城乡动态监测集成数据库的构建——以义乌市城乡动态监测集成数据库为例[J].城市发展研究,2010(11): 61-65
[12]何川,张友静,佘远见,等. 基于Web和IDL的遥感信息提取系统开发[J].遥感技术与应用,2009(3): 405-408
[13]南卓铜,朱仕杰. 基于ArcEngine的GIS软件框架建设[J].遥感技术与应用,2006(4): 385-390