土地退化因素数据库管理系统的设计与实现
2016-04-20欧德品张书毕闫庆武
欧德品,谭 琨,张书毕,闫庆武
(中国矿业大学环境与测绘学院,江苏 徐州 221116)
土地退化因素数据库管理系统的设计与实现
欧德品,谭琨①,张书毕,闫庆武
(中国矿业大学环境与测绘学院,江苏 徐州221116)
摘要:西部重点矿区土地退化因素调查是一项基础性研究工作,为解决调查数据的存储与共享等问题,需要设计一套有效的数据库管理系统。结合已获取的煤炭矿区、金属矿山和非金属矿山土地退化因素调查数据的特点,明确了数据具有数据量大、数据比较分散、数据多种多样和数据的保密性强等特征,采用当前主流的B/S结构来满足用户的多地点办公数据上传存储需求。数据控制的后台采用J2EE主流框架SSH+Tomcat来满足用户并发量,配合ArcGIS Server和ArcEngine对地理数据进行处理。该系统可实现用户管理、数据上传下载、文档在线浏览和地理数据在线浏览等功能,能满足用户的审核和数据共享等基本需求。
关键词:B/S;WebGIS;西部重点矿区;土地退化因素;数据库设计
矿区土地退化因素可大致分为生态破坏、环境污染和自然侵蚀3类[1]。在西部重点矿区土地退化因素调查项目中,需要对这3大类数据进行综合分析、编码处理、入库和管理。就调查指标而言,主要包括土地毁损类、生态完整性损失类、土壤元素污染类、土壤养分类、水污染类和自然侵蚀类[1],使用的手段包括遥感技术、实地监测和实地调查统计等方法[2]。根据西部重点矿区土地退化因素调查项目的任务要求,为了实现不同来源、不同类型和不同服务对象的数据(包括煤炭矿区、金属矿山和非金属矿山等不同矿种类型的土地退化因素调查数据)管理需求,该项目设计和开发了相应的西部重点矿区土地退化因素数据管理系统,以满足土地退化因素数据的共享与发布。
土地退化因素数据管理系统着重于数据库的设计。根据土地退化因素调查采用的手段,可以明确土地退化因素数据中占据大存储空间的是遥感影像和其他地理数据。地理数据与普通数据具有很大差别,需要使用地理空间数据库来实现地理空间数据的管理与共享[3]。地理空间数据库目前有开放源码的PostGIS/PostgreSQL、MySQL Spatial和商业的Spatial Oracle、ArcSDE等。但PostGIS/PostgreSQL和Spatial Oracle的性能与ArcSDE的性能仍有一定差距。为此,结合已获取调查数据的特点,选择比较成熟而稳定的ESRI公司的产品进行数据管理与共享[4-5],对西部重点矿区土地退化因素数据库管理系统进行设计与实现。
1土地退化因素调查数据分析
1.1数据特点
西部重点矿区土地退化因素调查项目以我国蒙陕甘宁、云贵高原、四川、新疆、青藏高原和广西等西部12个省(市、自治区)的重点矿区作为调查区域,采用GIS、遥感和收集资料等手段开展调查。总体而言,调查数据具有如下特点:(1)数据量大;(2)采集到的数据比较分散,不够统一;(3)数据多种多样;(4)数据的保密性较强,有一些数据具有敏感的坐标信息等。
重点调查矿山分为煤炭矿区、金属矿山和非金属矿山,不同类型矿区采用的调查方法与获得的土地退化因素调查数据各有特点,所调查的矿山类型与数据特点见表1。
1.2数据类型
调查过程中,涉及到基础地理信息与历史地理信息等资料与文档。主要的数据类型见表2。
表1不同类型矿山土地退化因素数据特点
Table 1Characteristics of the data of driving factors of land degradation relative to type of mining area
调查任务主要数据类型主要特点西部重点矿区自然地理与环境本底调查数据基础地理、土地利用、土地覆盖、矿产资源、地质灾害、土地退化专题、社会经济和其他8大类数据基础性数据,以地理数据为主,研究成果有图集等数据重点煤矿区土地退化因素调查数据煤矿区土地退化基本情况数据,采矿扰动而造成土地退化各种直接和间接影响因素数据,土地损毁、污染和植被破坏等土地退化因素数据等煤矿区域采集的数据类型多,研究成果有水土流失、荒漠化分析等数据金属矿山土地退化因素调查数据大量野外调查、遥感与地理信息系统技术获取的数据,金属矿山开采、选矿等过程中产生的环境污染和生态破坏数据等调查方法基本一致,矿种类型多,数据量大,生态破坏和环境污染分析数据等非金属矿山土地退化因素调查数据大量野外调查、遥感与地理信息系统技术获取的数据,非金属矿山开采、选矿等过程中产生的环境污染和生态破坏数据等调查方法基本一致,矿种类型多,数据量大,生态破坏和环境污染分析数据等
表2土地退化因素调查主要数据类型
Table 2Major types of data to be collected during the survey of driving factors of land degradation
数据名称 数据内容数据类型数据格式基础地理数据水系分布数据、道路分布数据、居民点分布数据等矢量数据Shape、FileGeodatabaseDEM数据、坡度数据等栅格数据TIFF、HGT、DEM矿产资源数据矿产资源情况文档及表格Word地质灾害数据自然灾害统计文档及表格Excel生态破坏数据土地损毁(挖损、塌陷、压占)、植被破坏(林地、草地、农田)矢量数据Shape植被覆盖度、生物丰度、生物量、水资源等栅格数据TIFF水土流失、土地沙漠化等栅格数据TIFF土地利用、土地覆被土地利用类型数据、生态系统类型数据矢量数据Shape矿区基本情况矿区概况文档及表格Word环境污染数据土壤元素污染、养分和水污染等文档及表格Word
2土地退化因素调查系统需求分析
2.1数据共享需求
西部重点矿区土地退化因素调查获取的数据大部分都是基础数据,其数据具有大而多并且保密性较强的特点。获取到的研究成果数据可为矿产开发、国土综合整治提供相应的参数和数据,为矿区的建设与规划设计提供依据。根据数据获取的方式,数据需要在各土地退化因素调查单位之间进行内部共享;而根据数据保密性的特点,获取得到的矿区土地退化因素调查数据和成果对政府、企业、科研机构等非商业用途用户可以免费共享发布,实现社会共享。内部共享指参与的调查单位及被调查单位之间的共享。社会共享包括按照科技部要求汇交相关数据至指定共享平台和出版西部重点煤矿区土地退化专题地图集、科考报告等。
2.2用户和功能需求
由于数据具有保密性较强的特性,而且数据分散,系统需要满足用户登录管理、文件管理和文件预览等基本功能。系统需要设置不同的用户权限。普通用户权限包括个人信息、文件上传、查看已上传文件、查看未通过文件;审核者权限包括个人信息、审核文件、查看已审核文件、查看审核不通过文件;管理者权限包括个人信息、用户管理、审核文件、查看全部通过与不通过文件。对用户角色用面向对象的方法来研究。
3系统设计与实现
3.1系统模块设计
根据需求分析,为了方便系统的维护与管理,设置登陆模块、普通用户模块、审核者模块和管理员模块。
3.2数据库设计
西部重点矿区土地退化调查数据库的建立依据数据库设计相关的理论与方法。首先根据用户需求完成数据字典的构建,然后对实体-关系模型进行构建。在将实体-关系模型转换成关系模型时使用数据库第二范式要求。最后将关系模式转换成物理结构,还有表的建立转换,并设计主键与索引等重要信息。
西部重点矿区土地退化因素调查数据管理系统数据量较大,为了保证其查询效率,在数据库设计方面,允许部分数据冗余,尽可能减少对数据的连接和重复操作,提高查询速度。数据冗余部分通过设计触发器实现数据的一致性[6]。
根据用户海量数据存储的需求,选择Oracle 11g 作为后台数据库系统。Oracle可以实现海量数据的存储,并且支持EB(exabyte,百亿亿字节,艾字节)级别的数据,提供快速而高效的数据查询解决方案。为了确保西部重点矿区土地退化调查因素数据管理系统的安全性与数据查询高效率性,该系统后台数据库采用Oracle数据库。
3.3数据审核WebGIS功能设计
3.3.1ArcGIS Server动态图层的动态管理和地图服务发布
该系统通过ArcGIS Server来发布地图服务,通过ArcGIS API for JavaScript技术来实现WebGIS功能。简单来说,服务就是 ArcGIS Server发布的 GIS 资源,不同的资源可以被发布为不同的服务,不同的服务具有不同的或类似的功能。
该系统具有数据审核功能,当审核者审核数据时需将数据发布出来。显然,一个数据发布一个服务肯定会导致服务器崩溃,而且动态发布服务的速度不佳,容易造成假死状态。另一方面,西部重点矿区土地退化调查数据中有些数据保密性是很强的,不能长期对数据进行发布。
ArcGIS Server中有动态图层功能,能够在一个已发布的地图服务上动态地添加相关图层。使用动态图层服务功能不仅可以动态地发布图层,而且还可以对动态地图服务中的图层进行重新排序。通过该功能,可以给当前的地图服务动态添加矢量和栅格数据,而这些数据是REST目录不可见的,这对保护一些数据和需要经常更新的数据来说是很有作用的[7]。
对于用户上传的地理数据,需要利用ArcEngine来实现图层的分类存储,并且对图层进行必要的信息提取并返回给用户。
3.3.2动态图层设计
基于动态图层技术,可以选择发布基础地图服务,然后通过将土地退化地图数据解压至指定的动态工作文件夹并利用ArcGIS Server进行识别,最后通过JS接口实现调用显示,具体流程见图1。
图1 动态图层请求处理流程
用户发送地图数据预览请求时,SSH框架拦截到请求,通过查询数据库得到该请求相应的数据包,将数据解压到指定的文件夹。当处理完毕后,返回一个页面显示结果。由于该页面有ArcGIS JS API相关函数,故该页面会向ArcGIS Server服务器发送请求,地图服务器处理完毕后会返回图片等格式数据,最终实现浏览器解析浏览[8]。
3.3.3WebGIS功能设计
动态地将需要显示的地图发布之后,系统就能提供给用户审核地图数据相关信息的功能。除满足用户的基本地图操作以外,还需要针对性地加入例如属性表查看等地图操作功能。该系统面向用户设计的主要地图服务功能如下:
(1)基本地图浏览。用遥感卫星图作为地图,动态加载需要的图层,包括图例显示、地图缩放操作、地图恢复操作与用户所在地定位操作等功能。用户请求查看数据时,需要将动态图层突出显示,并且加载相应的信息。
(2)8大调查区属性查询。查询8大矿区的基本介绍并突出显示所在位置。
(3)简单地图测量。对地图进行简单的面积量算、距离量算和经纬度查询等操作,让审核者能更加清晰地审核图层。
(4)图层属性表查看。审核者在审核数据是否合格时需要浏览属性表,检查是否有突出错误。图层属性表的在线浏览功能提供查看动态图层的全部属性信息功能。
3.4系统实现
该系统最主要的方面是将联想ThinkStation S30 小型工作站作为服务器,利用高校的路由与防火墙来接入网络以保证安全性。其中,系统使用Windows Server 2012 64位系统,后台数据库使用Oracle 11g来满足对数据的存储需求。目前,基于B/S结构的系统开发技术有J2EE中的SSH框架、微软的ASP.NET技术、PHP技术及最新出现的基于Node.js的开发技术。该系统采用成熟的开放源码的SSH框架来实现土地退化因素调查数据的管理。
网站的设计用Eclipse搭建SSH框架,通过Tomcat 8.0来发布网站。对于地图数据发布,使用ESRI公司的 ArcGIS Server 10.2来发布File Geodatabase地图数据。用户通过互联网来访问网站内容。
3.4.1基于SSH框架的土地退化因素调查系统的实现
分层式结构常被面向对象的软件体系采用,这也是最重要的结构。SSH框架可以将系统划分为客户层、业务逻辑层、表示层、持久层和数据库。这样就能使系统实现“高内聚、体耦合”,另一方面也能使系统得到更好的可拓展性和可维护性。基于SSH框架已经成为J2EE中的主流开发方法[9]。SSH由Spring、Hibernate和struts2 集合而成。总的来说,就是以struts框架为基础架构,首先获取页面数据,然后调用业务逻辑来对数据进行处理分析;Hibernate是对数据库进行访问的框架,封装了JDBC访问数据库的操作,编写DAO层来对数据库进行操作;Spring是用来封装struts2和Hibernate的,它是以一种低耦合方式来运行的,提供Ioc接口来对前端控制器、中间层业务逻辑和底层DAO进行管理[10]。
Bootstrap是目前最受欢迎的前端框架。Bootstrap 是基于 HTML、CSS和JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷。由Twitter设计师Mark Otto和Jacob Thornton合作开发的CSS/HTML框架提供了优雅的HTML和CSS规范,由动态CSS语言Less写成[11]。
3.4.2数据上传处理逻辑
地理文件数据库管理以ESRI中的File Geodatabase 数据库为主。按地理类型进行分类可分为8大类型:土地利用数据库.gdb、土地覆被数据库.gdb、土地退化专题数据库.gdb、地质灾害数据库.gdb、基础地理数据库.gdb、矿产资源数据库.gdb、社会经济数据库.gdb和其他数据库.gdb。
后台上传数据处理逻辑见图2。用户上传的数据是总体的文件地理数据库以及相应的元数据文档和数据说明文档,需要后台进行分类。后台可进行简单的智能分类,为确保正确地理要素与相应的元数据和说明文档的映射关系,用户需手动来进行确认操作(图3)。
图2 土地退化因素调查系统数据上传处理逻辑
图3 土地退化因素调查系统上传数据映射关系的确认
用户再次上传新的地理数据时,系统能够根据用户自定义的要素类所属类型与相应的元数据等文档进行自动解析并添加到相应的地理数据库。
3.4.3文件管理处理逻辑
用户上传的文件都是压缩包,包括地理文件。当前的空间数据库能够直接通过空间数据引擎以二进制形式将地理数据存储下来。鉴于目前的数据类型多、数据量大等特点,将数据以二进制形式保存在数据库,会明显增加数据库的开销,所以最好的方法就是用数据库来存储数据路径,以文件方式将数据保存在本地存储设备上[12]。系统存储数据是以哈希值散列方式存储的。
该系统使用的是MD5 HASH值来进行文件管理。为保证文件的完整性,当用户上传文件时,会生成主要文件的MD5值保存在数据库中,供用户下载后进行文件完整性校验。具体的上传和下载文件管理流程见图4。
3.4.4WebGIS处理逻辑
WebGIS功能主要是通过ArcGIS JavaScript API进行函数调用来实现的。而ArcGIS JavaScript API是使用Dojo这一面向对象的JavaScript框架来编写的。通过REST来访问发布的地图服务,从而实现连接的无状态性,利用Cache机制来提高性能。在利用REST API进行信息传输时,采用JSON这一轻量级的数据交换格式进行数据传输[13]。WebGIS的处理逻辑图见图5。
图4 土地退化因素调查系统文件管理逻辑
图5 土地退化因素调查系统WebGIS处理逻辑
4系统应用与测试
4.1系统数据审核
管理员与审核者都有审核上传数据功能,审核功能包括:数据列表查看、文档在线浏览、数据上传信息查看和数据在线浏览等。文件审核界面见图6。用户能够点击相应的按钮图标来进行审核操作。审核页面按照用户上传数据时所确认的映射关系进行分类展示。
基本地图浏览为对动态图层的基本浏览功能,地图为遥感卫星图层,用鼠标在图层上面划过能够显示基本信息,岩层基本信息见图7。通过鼠标滚轮或者左上角“+”与“-”操作能对地图进行缩放。通过HOME图标能恢复初始状态,通过定位图标能对当前IP位置进行定位。
图6 土地退化因素调查系统文件审核页面
4.2系统性能测试
4.2.1单页面加载时间测试
利用Chrome浏览器中的调试工具,在局域网条件下,抓取数据审核单个页面的响应时间数据,该页面时间瀑布图见图8。由图8可知,总体的加载完成时间为386 ms,其中主界面要素需要144 ms,而加载完成到浏览器解析完成时间为513 ms,说明该系统页面的请求响应时间是非常好的。
4.2.2压力测试
通过LoadRunner软件来测试虚拟50个用户中服务器的平均响应时间来检验该系统的性能。LoadRunner是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。企业使用LoadRunner能最大限度地缩短测试时间,优化性能,加速应用系统的发布周期。LoadRunner可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能。测试结果见图9。
图7 土地退化因素调查系统要素类在线浏览
图8 土地退化因素调查系统响应时间瀑布图
根据压力测试可以看出,当用户量达到50、每秒点击量约达200次时,网站的响应时间为1.90 s,说明网站的架构已经完全能够适用当前需求。由响应时间图也可以看出最快的响应时间能达到0.19 s,而该系统面向的用户群比较小,故在使用过程中能够在0.5 s内做出响应。
5总结
该系统是根据西部重点矿区土地退化调查数据现状进行开发的。经过需求分析、总体设计和详细设计,最后完成基于B/S的数据管理系统的开发。首先,对西部重点矿区土地退化调查数据来源进行详细分析,总结出数据特点,从而明确数据管理系统的基本需求。在充分调查了解土地数据来源与共享方式前提下,对系统的开发进行可行性分析。在获取具体的需求后,对系统进行总体分析、详细分析、模块设计、数据库设计和WebGIS功能模块实现设计等。然后,基于B/S模式的开发,利用SSH框架作为后台主要系统实现框架,结合前端Bootstrap框架来展示内容。而土地退化数据库采用Oracle 11g来满足对数据的管理,结合哈希值进行文件的本地管理。最后,通过ArcGIS Server发布地图服务,以满足用户对地图数据的浏览审核等操作。
图9 土地退化因素调查系统性能测试结果
各任务承担单位之间能通过内网对系统进行访问和相关的数据操作,并且严格按照数据共享方式来保证数据安全性。当前土地退化因素调查系统已经满足用户普通的数据上传下载、数据在线浏览、地理数据在线审核和地理数据单要素类下载等基本功能,但由于系统的开发周期较短,下一步需要对系统的并行能力做进一步提升,控制数据传输过程中的稳定性,并且实现续传等功能。由于自然本底调查数据与煤炭矿区、金属和非金属矿山的数据特点不一样,需要分别对各类型进行特殊处理,故系统还需要拓展适用范围以满足更大需求。
参考文献:
[1]李海东,沈渭寿,司万童,等.中国矿区土地退化因素调查:概念、类型与方法[J].生态与农村环境学报,2015,31(4):445-451.
[2]马荣华,胡孟春.基于RS与GIS的海南西部土地沙化/土地退化动态趋势研究[J].生态科学,2000,19(2):19-22.
[3]俞立民,李亚娟,汪泽鹏,等.宁夏综合生态系统管理元数据管理系统的建设与发布[J].宁夏农林科技,2012,53(5):121-122.
[4]张大鹏,张锦,郭敏泰,等.开源WebGIS软件应用开发技术和方法研究[J].测绘科学,2011,36(5):193-196.
[5]张自力.基于ArcSDE的空间数据库建设与管理研究[D].乌鲁木齐:新疆大学,2005.
[6]岑冬梅.基于SQLite的空间数据库存储技术的研究与实现[D].武汉:武汉科技大学,2009.
[7]姚鹤岭.基于REST的GIS Web服务研究[D].郑州:解放军信息工程大学,2005.
[8]刘鹏,赵羲,史宜南.ArcGIS Server平台下地图瓦片存储关键技术研究[J].地理空间信息,2014,12(5):35.
[9]李容.基于MVC模式的Web应用研究[J].软件导刊,2010,9(1):19-21.
[10]赵志成.基于J2EE协同办公管理系统的设计与实现[J].哈尔滨师范大学自然科学学报,2015,31(1):85-87.
[11]谈华宇,吴昶成,邱小平.基于Bootstrap框架的动态表单设计与实现[J].无线互联科技,2015,41(3):99-100.
[12]丁冬平.基于FPGA的SHA-3五种候选算法设计实现[D].西安:西安电子科技大学,2012.
[13]屈展,李婵.JSON在Ajax数据交换中的应用研究[J].西安石油大学学报(自然科学版),2011,26(1):95-98.
(责任编辑: 李祥敏)
Design and Implementation of Database Management System for Driving Factors of Land Degradation.
OUDe-pin,TANKun,ZHANGShu-bi,YANQing-wu
(School of Environment Science and Spatial Informatics, China University of Mining and Technology, Xuzhou 221116, China)
Abstract:It is a fundamental research to investigate or survey some key mining areas in West China for driving factors of land degradation therein. In order to solve the problem of how to store and share the data obtained in the surveys and investigations, it is essential to design an effective database management system. Based on features of the data already obtained during the surveys and investigations of the coal, metal and non-metal mining areas, the data to be acquired are characterized by enormity in volume, scatterness, diversity and confidentiality. The B/S structure presently in prevelance is chosen to meet the needs of users for uploading and storing data in a number of locations. Moreover, the background for data control adopts SSH+Tomcat, the mainstream frame of J2EE, to satisfy users′ concurrency, and the accompanying ArcGIS Server and ArcEngine to process geographic data. This system is found to have the functions of user management, data uploading and downloading, documents online browsing, and geographic data online browsing etc., and hence is adequate to meet users′ basic demand for examination and data sharing.
Key words:B/S; WebGIS; important mining area in West China; land degradation factor; database designing
作者简介:欧德品(1991—),男,广东罗定人,硕士生,从事遥感数据处理研究。E-mail: oudepin@163.com
DOI:10.11934/j.issn.1673-4831.2016.02.011
中图分类号:X87
文献标志码:A
文章编号:1673-4831(2016)02-0235-08
通信作者①E-mail: tankuncu@gmail.com
基金项目:国家科技基础性工作专项(2014FY110800)
收稿日期:2015-11-09