基于Web AppBuilder的棉田病虫害信息服务平台构建
2016-02-06许金霞赵庆展靳光才周文杰石河子大学信息科学与技术学院新疆石河子832000新疆生产建设兵团空间信息工程技术研究中心新疆石河子832000新疆生产建设兵团空间信息工程实验室新疆石河子832000中国科学院遥感与数字地球研究所北京10009
许金霞,赵庆展*,张 清,靳光才,周文杰(1.石河子大学 信息科学与技术学院,新疆 石河子832000; 2.新疆生产建设兵团空间信息工程技术研究中心,新疆 石河子 832000; 3.新疆生产建设兵团空间信息工程实验室,新疆 石河子832000; .中国科学院 遥感与数字地球研究所,北京10009)
基于Web AppBuilder的棉田病虫害信息服务平台构建
许金霞1,2,3,赵庆展1,2,3*,张 清4,靳光才1,2,3,周文杰1,2,3
(1.石河子大学 信息科学与技术学院,新疆 石河子832000; 2.新疆生产建设兵团空间信息工程技术研究中心,新疆 石河子 832000; 3.新疆生产建设兵团空间信息工程实验室,新疆 石河子832000; 4.中国科学院 遥感与数字地球研究所,北京100094)
为及时获取和共享棉田病虫害信息,以便农技人员采取防治措施,使用移动终端进行病虫害信息采集,在数据分析的基础上,基于ArcGIS Server服务发布、ArcGIS Javascript API等关键技术,利用Web AppBuilder框架构建团场棉田病虫害信息服务平台,设计病虫害信息服务产品的生成与表现方式,建立病虫害发布流程,实现了棉花病虫害信息及时分析统计、发布与大面积共享。测试表明,该平台具有交互性好,响应速度快,用户界面丰富、体验性强等特点,可为棉花病虫害防治提供信息服务和决策支持。
棉田病虫害; 信息共享; 服务发布; WebGIS; 监测预警
棉花病虫害是危害棉花的重要因素之一,现已成为棉花可持续发展的主要障碍[1]。新疆生产建设兵团(以下简称兵团)植棉区每年因病虫害危害造成的损失为10%~15%[2]。棉花病虫害暴发周期短且时间快,因此及早获取棉田病虫害的发生位置、时间、病虫害等级等相关信息是进行棉花病虫害防治的关键。目前,兵团植棉区大多采用传统的人工调查法记录病虫害信息,再将纸质版数据整理递交上级农业管理部门,由部门植保技术人员分析后提出病虫害防治措施。这种获取与共享病虫害信息的方式存在代表性、时效性差和主观性强等问题,难以适应目前大范围的病虫害信息实时共享和预报需求。因此,迫切需要利用Internet技术和GIS技术,集成团场基础地理数据和专题数据,建立标准统一的地理信息数据共享与服务系统平台,进而提高棉花病虫害信息监测水平。
目前,GIS强大的处理、分析地理空间数据能力可用来提高病虫害监测的实时性、广泛性和准确性,并在多种作物虫情监测中得到广泛应用[3-4]。从系统开发角度,基于GIS的病虫害监测预测系统有桌面GIS、基于B/S的传统WebGIS模式、基于RIA(Rich Internet Applications)的WebGIS模式3种结构[5]。
桌面GIS属于C/S(Client/Server)的开发模式。Bone等[6]对多年高光谱图像进行数据挖掘,建立虫害模型,分析得到森林虫害感染可能性,建立遥感监测预测系统,显示森林虫害感染可能性分布图。汪四水等[7]对虫情数据累加处理后接入GIS软件体系ArcInfo,再利用其空间分析和显示功能,将发生区域内的虫情数据动态显示。结合GIS技术和病虫害分析技术可以高效地定制分析监测等功能,建立一个方便、功能强大的地理信息系统,但这种开发模式必须安装客户端程序,部署和后期维护复杂且成本高。
基于B/S的传统WebGIS模式使用HTML页面[8],结合Web技术,可有效地满足大量病虫害信息管理、查询和快速传输的要求。如高琪娟等[9]研究大范围小麦和水稻病虫发生情况,利用ArcGIS Server提供的地图显示和分析功能构建病虫害监测系统。兰小机等[10]综合使用ArcGIS Server Web ADF创建城市公众地理信息服务系统,支持多数据源采用相同的方式操作。但其开发受限于传统的Web技术,用户界面简单致使系统可用性降低,同时使用Web ADF定制WebGIS应用在语义方面有待加强,可重用性和扩展性也受到限制。
基于RIA的WebGIS模式结合了Internet技术和GIS技术,使用REST架构方法和RIA技术构建富网络地理信息系统,它结合了传统的Web应用程序与桌面应用程序,交互性好且部署灵活。目前,主流的基于RIA的WebGIS开发技术有JavaScript、Flex、Silverlight[11]等。陈谦等[12]利用ArcGIS Flex API开发Flex应用,能够快速使用地图功能和GIS查询分析构建WebGIS RIAs。WebGIS开发者在基于REST服务的API技术构建地理信息平台方面研究出诸多成果[13-15]。
近年来,Internet技术、GIS技术、RIA技术的快速发展,为开发基于Web的地理信息应用系统提供了更高效的解决方案[16-18]。2015年,Esri推出基于ArcGIS API for Javascript技术的Web AppBuilder for ArcGIS(Web AppBuilder)应用程序框架[19],能够快速高效搭建起一个以地图为中心的富客户端应用的原型,个性化定制系统用户界面,体验性更丰富。本研究在RIA技术和REST架构研究基础上,利用Web AppBuilder在搭建富网络地理信息系统框架上的技术优势,建立面向研究区兵团一二五团的棉田病虫害信息服务系统平台,解决了棉田病虫害信息标准化管理、大面积共享及分析等问题,提高了研究区棉田病虫害信息监测及服务水平。
1 系统需求分析
1.1 系统需求
在获取棉田病虫害发生位置及发病等级等数据之后,通过Internet实现病虫害信息及信息分析产品远程发布与共享,是及时大面积监测和决策防治病虫害的关键[20]。因此,平台功能需求包括基础地理数据、病虫害信息等存储、访问查询、信息分析与可视化、专题图制作与服务发布等,还包括用户权限、地图操作、打印等基本功能。对于管理员来说,能够实时上传病虫害数据,对病虫害数据及时处理分析,生成专题图发布服务向Web用户展示,系统对其进行统一存储、优化和管理;对于Web用户(主要面向农业部门决策者及植保技术员)来说,能够访问查询病虫害信息及相关基础地理信息,进行地图操作及统计分析,浏览专题图并打印。
1.2 可行性分析
项目组收集整理了示范区近10 a的病虫害数据与气象数据作为病虫害分析的数据支持,同时利用移动终端病虫害信息采集APP实时采集传送病虫害现势数据,为快速监测棉田病虫害全局发生情况和预测其发展趋势提供数据保障。
平台搭建方面,在成熟的WebGIS技术基础上,利用Web AppBuilder全新应用程序框架,结合ArcGIS API for JavaScript及HTML5技术,开发集成美观的用户界面和丰富的GIS常用功能的Web应用程序,快速搭建起一个基于ArcGIS Server的地图服务RIA应用原型。该框架与Portal/AGOL紧密集成,利用其将发布在Portal for ArcGIS或者ArcGIS Online上的地图无缝添加进来。还可调用ArcGIS Server或其他服务器上的地图服务,通过响应式布局设计在B/S浏览器、多种型号Mobile、Pad上运行。这样的设计结构特点使得地理信息的服务既简单又灵活,提高模块的可重用性、整体配置的可调度性。该框架如图1所示。
图1 Web AppBuilder的设计结构
2 系统总体设计
针对研究区实际需求,基于Web AppBuilder和REST架构的棉田病虫害信息服务系统总体框架设计如图2所示。整个框架采用3层架构,由下至上依次是数据层、服务层、表现层。
图2 系统总体框架
2.1 系统数据层
数据层作为整个系统的最底层,在研究空间数据与属性数据存取机制的基础上,采用Oracle时空数据库+ArcSDE空间数据引擎对病虫害发生的属性数据(如发生条田位置、面积、种植作物类型等)、矢量数据(如基础农田数据)、栅格数据以及示范区历史气象数据进行标准化处理和入库。本层的任务主要是设计并建立空间属性综合数据库,首先确定所有数据类型及特征,制定条田编号等表达规范使其与病虫害信息唯一对应,然后对数据进行测试、优化与维护,建立集合基础农田数据库、病虫害时空数据库、农户信息库、气象数据库的综合数据库。
2.2 系统服务层
2.2.1 GIS服务器与服务发布 服务层中选用ArcGIS Server作为GIS应用服务器,负责管理和调度maps等各种GIS资源,并通过REST API将它们封装成服务呈现给客户端应用程序。所采用的ArcGIS Server体系结构如图3所示。
图3 ArcGIS Server体系结构
通过ArcGIS Server Manager发布GIS服务。包括由病虫害数据生成的Map Service、 Feature Service、Geometry Service,构建GP模型生成相应的GP(Geoprocessing Service)服务等。ArcGIS Server向用户提供了创建和发布REST的Web服务功能。REST服务发布可以通过桌面程序ArcCatalog连接GIS服务器发布,也可进入ArcGIS Server Manager进行发布。Manager利用Web页面对Web服务器进行管理,通过Web浏览器及地址可以轻松访问ArcGIS Server发布的各种病虫害信息服务资源(Map Service、 Feature Service、Geometry、GP服务等),这些服务的访问都可以通过ArcGIS Server发布的每个GIS服务端点(URL)获得。当WebGIS客户端发送服务请求时,是通过Web 服务器向 GIS 服务器发送请求,GIS 服务器中服务对象管理器(SOM)负责接受请求,管理、调度服务对象(SOC)并处理请求服务,最后再将数据返回Web服务器至客户端。
2.2.2 Web服务器 Web服务器负责托管Web应用程序和服务,利用Tomcat部署Web应用程序以便外网访问,Tomcat负责GIS服务器资源管理程序和表现层使用的JavaScript应用程序托管。通过资源管理界面,点击相应的服务访问链接,即可查看服务基本信息、公开资源及可执行操作。Web应用程序或者服务根据客户端请求将数据或数据处理结果返回。
2.3 系统表现层
表现层用于与用户交互,前端用户界面借助ArcGIS API for Javascript和Web AppBuilder进行模块化设计与实现。为使界面丰富且易操作,具有相似逻辑的工具如地图缩放、平移、全景等均放在地图操作组内,增强了界面的可操作性。以Web AppBuilder基础应用框架作为模板程序,在Javascript开发工具WebStorm中扩展与开发,通过ConfigManager读取、解析配置文件,然后将结果发送给其他使用配置文件数据的模块,这些模块利用DataManager将病虫害数据共享供相互使用。使用MapManager管理作为GIS应用的基础与核心的Map,如根据配置文件加载地图,在地图上显示信息框,图层控制,用LayoutManager和LayoutManager建立整个WebGIS框架的CSS样式、菜单、工具栏等界面布局,同时每个相对独立的业务功能单元以Widget的形式设计并由WidgetManager管理控制,根据配置文件创建Widget信息列表。接受用户输入数据并以地图的形式显示出来,用户体验性强。
3 核心功能与实现
3.1 病虫害信息采集与分析
棉田病虫害信息采集与分析是构建棉田病虫害信息服务平台的基础与前提。通过智能移动终端病虫害信息采集App(Android版和IOS版)实现病虫害发生时间、位置及等级信息的快速采集。在采集端,病虫害发生时间即为移动端系统当前时间,实现实时采集,也可以通过日历空间实现日期的选择;发生位置由终端加载离线地图GPS定位当前点,还可以调整离线地图相应比例尺编辑病虫害发生点、面区域;发生等级根据病虫害发生程度等级标准在移动端选择相应的病虫害与级别。信息采集完成后,使用JSON(JavaScript Object Notation)数据模板对异构平台数据格式统一处理并封装,再通过网络将采集的病虫害信息传至服务端的Oracle时空数据库中,实现病虫害时空数据及属性数据的聚合存储。
病虫害信息分析是利用GIS空间分析功能,通过反距离加权模型对病虫害等级数据进行插值分析,模拟未采集区域病虫害信息,从而得到研究区棉田整体病虫害灾情。针对点要素数据进行热点分析,可监测病虫害严重区域;针对面要素数据,结合气象因素,根据虫害一定时间内的扩散距离进行缓冲区分析,预测扩散及影响范围。首先采用ArcCatalog 10.3借助Oracle客户端对采集的数据从Oracle数据库中读取,桌面软件ArcMap可直接以图层的形式加载可视化病虫害空间信息,利用QueryLayer功能对病虫害的类别、时间等设置条件,筛选出特定的信息,进而运用ArcToolbox工具对其分析生成专题图。对生成的专题图使用ArcGIS 10.3导出sd文件后,再通过ArcGIS Server发布服务生成URL,然后调用ArcGIS REST 接口,实现在病虫害信息服务平台上展示。数据处理流程如图4所示。
图4 数据处理流程
3.2 系统平台核心功能
棉田病虫害信息服务系统分系统管理、数据管理、地图操作、病虫害信息查询、病虫害监测预警分析、统计分析、打印输出几大部分。棉田病虫害信息服务系统功能模块如图5所示。
(1)后台管理。指用户权限管理,如数据管理权限和查询权限,系统定义Admin和Viewer 2种身份控制登录界面和研究区棉田病虫害信息服务主界面。用户名和密码由后台封装,利用WebService实现登录窗口与用户账户数据库之间的通信。
(2)数据管理。采用ArcSDE+Oracle实现空间数据和属性数据的增加、删除、查询等功能。地图底图则存储在服务器上,通过重置指向本地ArcGIS API 地址加载地图,提高访问速度。由于数据量大且繁杂,多采用集中插入的方式,对于.xls的表格数据,通过Web端上传到服务端,校验处理后存储到Oracle中,并以JSON格式返回前端显示。
图5 棉田病虫害信息服务系统功能模块
(3)地图操作。主要包括缩放、平移、全局、鹰眼等基本操作,还包括病虫害专题图层及其他基础地理图层的显示与隐藏,利用书签跳转到某一特定区域等功能。通过Dojo Tree选择框点击事件,利用函数Layer.setVisibleLayers()实现图层控制。
(4)病虫害信息查询。信息查询是利用QueryTask对团场基本信息、病虫害信息及历史气象数据的查询检索,分空间查询和属性查询。空间查询是按照自己所选的Graphic图形查询所选区域某一病虫害发生情况,属性查询则分精确和模糊查询空间区域位置。
(5)病虫害监测预警分析。针对病虫害数据结合气象因素进行空间分析,包括热点分析、缓冲区分析等监测预测病虫害发生演化情况,生成专题图,采用瓦片图层ArcGISTiledMapServiceLayer方式发布地图服务。
(6)统计分析。对研究区棉花种植面积、各种病虫害(棉蚜、棉叶螨、棉铃虫、枯黄萎病)发生面积进行快速计算和统计,同时提供研究区整体或某一区域发生状况。
(7)打印输出。实现地图打印输出,包括基础地图和病虫害专题图的打印输出。
3.3 系统开发环境与测试
系统利用Ajax架构进行开发,开发环境为MyEclipse+jdk,服务端选用ArcGIS Server 10.3 作为GIS服务器,Tomcat7为Web服务器。数据库采用Oracle 11g+空间数据引擎ArcGIS SDE,基于Dojo开发组件与Web AppBuilder框架采用REST风格进行WebGIS应用的设计与开发,增强系统平台的可伸缩性,系统主界面如图6所示。
图6 系统主界面
以研究区棉蚜虫害发生为例,利用移动终端采集棉蚜虫害信息(包括发生等级、空间位置、发生时间等属性信息)通过数据库聚合存储,以图层形式叠加至棉花条田图层,然后利用空间分析方法将棉蚜虫害不同发生程度以聚合点大小的形式表现,用户可借助棉田病虫害信息服务平台及时监测棉蚜虫害发生严重的条田或区域,统计分析出条田对应的棉蚜虫害等级图表。同时可创建缓冲区,通过热点分析对虫害可能发生或严重发生区域进行预测。棉田病虫害信息管理、共享、分析整个过程呈一体化,界面简洁易操作,响应速度快且体验性强。
4 结论
本研究利用Web AppBuilder框架构建集地图管理、气象及病虫害信息发布、信息推送一体化的地理信息服务平台,使获取的数据得到统一标准化管理,改变了团场传统的棉田病虫害监测工作模式,克服了植保技术人员人工监测管理时实效性差、客观性低等问题。同时,利用基于Javascript API、Dojo的Web AppBuilder即可获得大量控件的支持,为系统提供各种地图容器以及地图的展示效果。此外,基于JSON的数据格式解决了空间数据传输与解析速率问题,基于REST的地图服务使地图资源得以简化统一,方便了系统病虫害信息共享。相比传统WebGIS及以往WebGIS RIAs,该平台构建更快捷,具有交互性好,响应速度快,用户界面丰富、体验性强等优势,为棉田病虫害信息管理、共享、分析以及准确、有效地进行全过程监测提供了技术支撑。
在此基础上,如何结合一些公众地图数据完善棉田病虫害信息服务系统平台,探索更完备的病虫害分析模型并集成于平台之上,增强数据分析与预测能力从而提高病虫害监测的服务质量是今后研究的重点。
[1] 房雪,Ge S Y,张永生,等.1991—2010年中国棉花病虫害经济损失分析[J].应用昆虫学报,2014,51(4):1104-1113.
[2] 毛树春,李亚兵,冯璐,等.新疆棉花生产发展问题研究[J].农业展望,2014(11):43-51.
[3] 宫彦萍,黄文江,潘瑜春,等.基于WebGIS的作物病虫害监测预报系统构建[J].自然灾害学报,2008,17(6):36-41.
[4] 王艳春,王承明,田明英,等.烟台市苹果病虫害监测预警系统的研发与应用[J].河南农业科学,2012,41(12):110-113.
[5] 张宏,丰江帆,闾国年,等.基于RIA技术的WebGIS研究[J].地球信息科学,2007,9(2):37-42.
[6] Bone C,Dragicevic S,Roberts A.Integrating high resolution remote sensing,GIS and fuzzy set theory for identifying susceptibility areas of forest insect infestations[J].International Journal of Remote Sensing,2005,26(21):4809-4828.
[7] 汪四水,张孝羲,汤金仪.基于地理信息系统的稻纵卷叶螟的灾变动态显示系统[J].昆虫学报,2001,44(2):252-256.
[8] 时雷,张家耀,钱诚,等.基于Web的农作物信息管理系统构建与应用[J].河南农业科学,2015,44(3):152-155.
[9] 高琪娟,季小闯,乐毅,等.基于WEBGIS的农业病虫害监测系统[J].计算机技术与发展,2010,20(4):224-227.
[10] 兰小机,余曾林.基于ArcGIS Server的公众地理信息服务系统[J].金属矿山,2008(10):87-91.
[11] ESRI.ArcGISServerRESTAPI[EB/OL].(2008-06-28)[2015-12-12].http://resources.arcgis.com/en/help/arcgis-rest-api/index.html/The_ArcGIS_REST_API/.
[12] 陈谦,余江峰,潘森,等.基于RIA方式的WebGIS构建[J].遥感信息,2009(4):89-94.
[13] 陆亚刚,邱知,游先祥,等.基于SilverLight和REST的富网络地理信息系统框架设计[J].地球信息科学学报,2012,14(2):192-198.
[14] Liao M S,Chuang C L,Lin T S,etal.Development of an autonomousearly warning system forBactroceradorsalis(Hendel) outbreaks in remote fruit orchards[J].Computers and Electronics in Agriculture,2012,88(1):1-12.
[15] 孙培芬,王培,刘卉.农田信息管理决策支持系统的设计与实现——基于Silverlight[J].农机化研究,2015(7):156-159.
[16] Yan Y,Xue L F,Zhang W,etal.Design and implementation of web fast sharing platform of massive geological map[J].Global Geology,2012,15(2):114-119.
[17] 谈树成,金艳珠,冯龙,等.基于RIA的WebGIS斜坡地质灾害气象预报预警信息系统的设计与实现——以怒江为例[J].地球学报,2014,35(1):119-125.
[18] 袁宏,钟红梅,赖德军,等.基于Flex Viewer框架的地质灾害在线实时监测预警系统研究[J].自然灾害学报,2013,22(2):177-184.
[19] ESRI.Web AppBuilder for ArcGIS[EB/OL].(2015-03-18)[2015-12-12].http://doc.arcgis.com/en/web-appbuilder/.
[20] 赵庆展,靳光才,周文杰,等.基于移动GIS的棉田病虫害信息采集系统[J].农业工程学报,2015,31(4):183-190.
Construction of Information Services Platform for Diseases and Insect Pests in Cotton Field Based on Web AppBuilder
XU Jinxia1,2,3,ZHAO Qingzhan1,2,3*,ZHANG Qing4,JIN Quangcai1,2,3,ZHOU Wenjie1,2,3
(1.College of Information Science and Technology,Shihezi University,Shihezi 832000,China; 2.Geospatial Information Engineering Research Center,Xinjiang Production and Construction Corps,Shihezi 832000,China; 3.Geospatial Information Engineering Laboratory,Xinjiang Production and Construction Corps,Shihezi 832000,China; 4.Institute of Remote Sensing and Digital Earth,Chinese Academy of Sciences,Beijing 100094,China)
In order to obtain and share information of cotton field diseases and insect pests timely for agricultural technicians to take precaution,mobile devices were used to collect information of cotton diseases and insect pests.On the basis of data analysis,information services platform for diseases and insect pests based on Web AppBuilder was created by ArcGIS Server,ArcGIS Javascript API techniques etc.Users could design the performance of information service products of diseases and insect pests and produce the publish process of cotton diseases and insect pests.Meanwhile,the system realized the timely analysis,issuing and sharing in a large area of information.Preliminary studies indicate that the platform can be applied and expanded thanks to its interactivity,fast response,rich user interfaces and embodiment.It can provide information services and decision supports for the prevention of cotton diseases and insect pests.
cotton field diseases and insect pests; information sharing; service publishing; WebGIS; monitoring and forecasting
2015-12-17
国家自然科学基金项目(31260291,31460317);新疆生产建设兵团科技支疆专项(2014AB001)
许金霞(1992-),女,新疆伊犁人,在读硕士研究生,研究方向:遥感与地理信息系统。E-mail:xjxjine@163.com
*通讯作者:赵庆展(1972-),男,河南南阳人,副教授,主要从事空间信息系统集成与服务研究。 E-mail:zqz_inf@shzu.edu.cn
S435.62;S126
A
1004-3268(2016)08-0155-06