内蒙古自治区农业遥感空间管理系统的开发与应用
2018-04-24任婷婷辛庆强许洪滔
任婷婷 ,辛庆强 ,许洪滔 ,潘 亮 ,吕 猷
(1.内蒙古农牧业科学院,内蒙古 呼和浩特 010031;2.内蒙古自治区气象干部培训学院,内蒙古 呼和浩特 010051)
内蒙古农牧业科学院自2004年起开始筹建内蒙古自治区农业资源数据库,截至目前已经形成了一定的规模,数据库包括空间数据库、属性数据库、文档数据库、多媒体资源数据库,数据库内容涉及土地资源、水资源、气候资源、生物资源、农村经济、农业生产条件、土地退化和环境污染、生态环境建设等10大门类和384个小类;并建成基于地理信息的管理信息系统,该系统实现了农业资源信息综合管理的功能。该数据库的建成为内蒙古农业遥感应用系统的建设打下了坚实的基础。
内蒙古农业遥感应用中心自2013年成立以来,依托农业部农业遥感应用中心,对内蒙古中西部地区的玉米、小麦等主要农作物种植面积进行了动态监测,实时掌握种植分布、年际变化等情况。在2016年该中心参与了“东北主要农作物分布一张图”的制作,负责了内蒙古东二盟(市)(兴安盟和呼伦贝尔市)主要农作物分布一张图的制作,在开展该项工作的过程中积累了一定的数据,并且基于农作物分布数据对主要农作物的长势、旱情等进行了实时监测。2017年,该中心利用遥感手段对内蒙古地区的休耕轮作任务开展了核查工作。利用多源遥感数据,将遥感手段渗透到农业生产的各个环节,实时、动态的进行监测是农业监管的主要发展方向,内蒙古农业遥感应用中心在“十二五”期间完成了前期准备、项目承揽、项目实施、稳步推进、成果汇总、数据积累等多项工作之后,具备了一定的硬件与软件条件开展一系列农情遥感监测计划。
1 系统建设
1.1 总体架构设计
由于各旗(县)地图数据多、发布数据多、历史数据多,且应用展示交互错综复杂,同时还要考虑后期地图快速发布维护,需要强有力的技术体系作为支撑,因此,在进行内蒙古自治区农业遥感空间管理系统开发时,设计了以集成为核心的总体架构。
①智能数据管理。数据存储:结合遥感和地理信息系统技术全面展示农作物信息,实现数据便捷入库和查询,随时提取、展示、管理包括农作物时间节点、空间位置、面积变化、长势、产量等信息。数据安全:实现单用户和多用户的数据编辑,保障数据安全,可公开,可组织内分享,建立安全的管理机制。数据统计和分析:实现多种农情数据综合分析,导出分析结果。
②多元数据展示。将平面和三维技术相结合,分层次、多时相地将冗杂多源数据整合,系统、直观地展示相关农作物空间位置等信息,实现“图、表、报告”多维度、多种方式的可视化表达。
③服务能力提升。对成果数据包括遥感影像、矢量数据、专题地图以及多媒体数据进行动态更新,实现数据及时分享和上传,供管理部门使用和决策。
1.1.1 数据体系的建设
①数据分类体系。科学的分类体系是数据高效浏览和检索的前提,记录详细的数据描述信息,以灵活的方式对数据进行分类检索。数据分类导航可灵活指定数据库中的字段为一级分类、二级分类、三级分类等,然后按设置好的分类浏览数
据[1]。
②数据存储内容。在遥感数据处理过程中需要用到大量数据,也会产生大量数据,从中选取会被重复使用的、凝聚大量人力劳动的数据存入数据库。因为将全部数据进行存储是不现实的,这需要大量的存储空间,而有些数据是处理过程中产生的临时数据,还有些数据可由其他数据生成,从有效利用存储空间的角度出发,类似数据不做存储。根据以上原则,将需要存入数据库的数据大体分为3类。一是基础数据,是指在遥感工作中进行数据处理之前需要准备好的数据,是数据处理的基础,这些数据是工作人员需要频繁使用的[2]。例如,行政区划矢量图、水系图、等高线图等。基础数据在日常工作中是工作人员的共享数据,以前采用移动存储设备互相拷贝数据的方法存在诸多弊端,如速度慢、易损坏、易传染病毒。将其存储于基于磁盘阵列的数据库中,再配合高速局域网的快速传输,可很好地解决这些问题[3]。二是原始数据。在遥感工作中有些数据是使用专用设备实地采集的,例如GPS数据,这些数据的获取需要倾注大量的人力劳动,也是数据处理的前提,这些数据的可靠存储是重要的问题。原始数据在工作中的使用率也较高,需要提供随时查阅的手段。还有一些原始数据是从专门渠道获取的,例如不同卫星的卫片数据,这些数据与采集的原始数据类似,也是进行数据处理的前提,同样需要保证其可靠性。多数卫片需要在工作人员之间共享,同时也要留存档案,以备查询或为数据核准提供依据。三是处理后的数据。遥感数据的处理需要用到多种专用软件,经过大量人力劳动才能完成,同时也融入了工作人员大量的智慧。处理后的结果数据是遥感工作的劳动成果,也是该项工作价值体现的形式。这些数据包括处理后的矢量数据、结果数据表格、结果报告等。因此,这些数据的存储显示是相当重要的。除了要保证数据的可靠性之外,还需要以多种形式将结果呈现给调用者。
③数据格式的统一。为保证数据的一致性并提高数据比对和再处理的便捷性,需要对同类型数据的格式进行统一规范,例如图片、矢量图、文字报告、表格数据等。
④数据授权访问。为保证数据安全性,数据库中所有的数据均为授权访问。设计角色管理系统,灵活为各级用户分派权限,获取授权的用户可访问指定数据。用户角色主要分为2类:管理员和受限用户。管理员可管理数据库中的所有数据,设置数据库管理系统的全局参数,并为受限用户指定访问权限;受限用户默认仅可访问和维护个人上传的数据,另外可访问管理员指派的数据。
⑤大数据传输方案。数据库中包含大量大小以GB为单位的文件,为保证数据在网络中的快速传输,同时又能实现数据的授权访问,该系统初步确定基于FTP协议的大文件传输。利用其内部的用户管理系统实现数据的授权访问。局域网硬件环境实现桌面千兆传输,以保证传输速度。
图1 总体架构
图2 技术架构方案A
图3 技术架构方案B
1.1.2 技术架构体系:根据该系统的特点,推荐使用RESTful风格来架构整个技术体系,该风格可使后台所有的功能以服务的形式统一为前端提供功能支持。将整体技术体系主要分为3层,分别是前端展现层、API服务层以及物理数据层。构建的技术体系见图1(文中所有图均来自内蒙古自治区农业遥感空间管理系统的开发与应用项目)所示:
图4 总体功能设计
图5 内蒙古地图分布数据
①技术架构方案A。方案A见图2。通过图2可以看出,该方案架构简单、容易维护,成本也非常低廉,但该方案无法支撑高并发的需求。该架构方案的参数如下:支撑流量上限1 W;机房可以选择自购主机自建IDC机房;机房可能遇到的问题包括IDC网络故障以及IDC提供商响应不及时;搭建配置服务器,使用IP直联的形式会在一定程度上减少域名带来的问题。在用户流量不大的情况下,该方式比较实用且性价比较高。
②技术架构方案B。方案B见图3。随着业务的发展,流量逐步达到了单机的极限,当并发流量超过3 W时,方案A就无法满足需求,而方案B则在方案A的基础上进行了扩充,使用集群来处理高并发的业务需求。该架构方案的参数如下:支撑并发流量3~10 W;机房可以选择自购主机自建IDC机房,并搭建LNMP集群环境;引入MongoDB解决空间索引问题;增加nagios监控系统,可以监控系统的运行情况,其中包括基础信息(CPU、内存等)、Nginx、MySQL、Cache、MongoDB 等;成本在方案A基础上有了增加,并且日常需要运维工程师来维护系统。
1.2 系统功能设计
内蒙古自治区农业遥感应用系统分为地图浏览、地理情况、种植情况、信息查询、数据对比、地图切换、报表管理、综合分析与展示八大功能模块,总体功能设计见图4。
图6 分布式技术架构
1.2.1 地图服务:通过ArcGisWeb实现内蒙古农业遥感数据的展示(见图5),提供数据浏览、查询、检索以及空间分析等功能,辅助以图形、统计表格、三维虚拟现实等表现形式,直观、准确地展示内蒙古农业资源信息,涵盖自治区范围内的卫星影像数据、耕地空间分布数据及作物种植情况变化数据。
1.2.2 数据服务:利用农业资源数据,包括种植情况、造林情况、播种情况、水田、旱田、农作物等,可实现分层叠加显示、查询浏览、分析统计等功能,构建多种尺度、多种时相的自治区基础地理信息数据库,该数据库基于统一的空间参考[4]。
1.2.3 查询服务:用户通过农业遥感应用系统账号进行认证登录后,可对各盟(市)、旗(县)的详细信息(包括历史数据)进行查询,并可进行导出报表等操作。
1.2.4 数据对比:用户通过农业遥感应用系统账号进行认证登录后,选择各盟(市)、旗(县)年份数据对地理情况、种植情况等指标(包括历史数据)进行分析对比,并可进行导出报表等操作。
1.2.5 排名服务:可根据各盟(市)、旗(县)农业资源数据分析统计结果以及历史数据对比分析结果,对各地区的实际情况进行统计排名,例如巴彦淖尔市、赤峰市的小麦种植面积在全区各盟(市)的种植比例排名,根据各项指标排名来支撑农业资源的全面、全程监管和辅助决策。
2 关键技术
2.1 分布式开发技术架构
分布式开发技术架构见图6。
2.2 分布式消息队列
分布式消息队列(message queue,MQ)用于在事件处理过程中暂存事件,可以保证消息的传递,提供异步的通信协议、解耦,提供路由。
2.3 应用开发系统
图7 系统包含的功能架构
应用系统统一开发框架的核心思想就是简单、轻量、敏捷,可以应对各种类型的项目,轻松应对用户的各种特殊需求,支持定制开发,让开发人员能够快速掌握和使用,能够快速打造高性能的企业级应用。内蒙古自治区农业遥感空间管理系统的整个开发框架包括5个部分:基础类库、模块化支撑框架、基础模块、支撑模块、开发工具(见图7)。
2.3.1 基础类库:基础类库为整个开发框架提供基础的公共能力,包括基础接口和抽象类的定义、不同数据类型间的数据转换、对JSON和XML的序列化和反序列化能力、加密和解密、基于java的动态脚本能力、反射的辅助工具以及对时间、日期、文件、字符串等对象的工具类等。
2.3.2 模块化支撑框架:模块化支撑框架为整个开发框架提供了模块化开发的支撑环境。考虑到基于OSGI的运行时模块化会增加开发人员的工作量,而且很多开源的类库都不支持OSGI,因此,只提供了开发时的模块化,运行时仍然在一个ClassLoader下,这样既体现了模块化代码管理的优势,也可以复用大量的开源类库。
2.3.3 基础模块:基于模块支撑框架所开发的基础模块,为系统提供日志、依赖注入容器、MVC框架、规则库、线程上下文管理、事件中心、并发控制等基础功能。基础模块在传统的应用开发中基本上都要被依赖。
2.3.4 支撑模块:支撑模块也是基于模块支撑框架开发的模块,这些模块为应用提供一些高级的基础功能,包括:报表方案、图表方案、组织机构和权限体系、系统管理功能、缓存、计划任务、异步任务、客户端消息推送方案、服务器端消息机制、自定义查询、服务间的变更通知机制等。
2.3.5 开发工具:开发工具基于IntelliJ IDEA模式,提供了基于模板的代码生成、各种资源文件的导航、简化配置文件编写等。
3 系统应用
通过内蒙古自治区农业遥感空间管理系统的建设,利用遥感和地理信息系统技术全面展示农作物信息,可实现数据便捷入库和查询,随时提取、展示、管理包括农作物时间节点、空间位置、面积变化、长势、产量等信息;可实现单用户和多用户的数据编辑,保障数据安全,可公开,可组织内分享,建立安全的管理机制;可实现多种农情数据综合分析。
3.1 农业空间信息浏览应用
以内蒙古自治区农业遥感空间数据库为基础,对自治区不同时间序列、空间序列的农业资源数据进行浏览、检索、查询、空间叠加分析等,辅助以图形、统计表格、三维虚拟现实等表现形式,直观、准确地展示自治区农业资源信息。
3.2 农业资源管理应用
内蒙古自治区农业遥感空间管理系统为该地区提供主要农作物种植面积业务化测量和遥感估产、长势监测、灾害监测的基础性数据,为农业部农情发布系统提供科学、及时、准确的数据支持,同时也为自治区党委、政府及农业行政主管部门的管理与决策提供科学依据。
3.3 相关行业部门及社会大众提供服务应用
根据相关行业部门及社会公众的需求,提供农业资源信息多元化服务。在农业遥感应用建设中,由于面向的用户不同,基于不同的网络运行服务模式,开发了运行在涉密环境(如政务内网、专网)的基础版农业遥感空间管理系统,运行在政务外网环境的农业遥感空间管理系统,以及运行在国际互联网环境的公众版农业遥感空间管理系统。
4 结语
内蒙古自治区农业遥感空间管理系统是自治区“智慧农业”空间框架的重要组成部分,也是农业信息化体系构建的有益探索,它的建设与运行标志着内蒙古自治区农业管理方式的转变和公共服务能力的提升,与自治区政府政务系统的有机结合将是该系统进一步开发的方向。该系统的设计具有功能模块化、数据标准化、使用人性化等优点,可以为其他空间信息系统的开发建设提供借鉴。
:
[1]周晓林.浅析网络课程建设在现代教育技术中的应用[J].长春理工大学学报,2010,5(12):139-140.
[2]粟之梁.大数据在智能电网中的技术应用体系和路线图[J].企业技术开发,2013,32(20):109-110.
[3]冯兆龙,胡续礼,姜小三,等.基于C#和MapObjects组件的地理信息系统的开发[J].遥感信息,2007(6):81-85.
[4]吕琲,吴珺.市县级国土资源遥感监测“一张图”数据中心建设的研究[J].江西测绘,2014(4):43-44.