基于WebGIS的电子政务应用(基于J2EE的MVC架构)
基于WebGIS的电子政务应用
摘要:随着WebGIS的快速发展和在政务办公方面的广阔应用,本文采用J2EE平台构建政务系统,并着重论述如何使用开源GeoServer搭建电子政务地图。
关键词:WebGIS, GeoServer,电子政务,J2EE
0.引言
由于Internet的爆炸性发展,Web服务正在进入千家万户,WebGIS给更多用户提供了使用GIS的机会。随着近年来政务信息化的大力发展,WebGIS在电子政务方面的应用也越来越多。尤其是针对市、县级*系统,城镇办公系统以及各地门户网站等,为快速实现电子化,就需要一套投入相对较小、功能全面而效果明显的WebGIS系统。本文主要从WebGIS的发展特点入手,讨论了目前WebGIS的发展领域及在政务方面的应用范围,并以开源的OpenGIS为具体实施平台,围绕电子政务中的地图系统进行研究,首先阐述在J2EE下采用MVC框架搭建WebGIS开发平台;然后逐步利用GeoServer、OpenLayers、PostgreSQL实现政务地图方案;最后切实讨论了如何将本电子地图方案有效整合到市、县级*机构的管理系统当中去。
1. WebGIS的发展及特点
WebGIS,即通过互联网对地理空间数据进行发布和应用,以实现空间数据的共享和互操作,如GIS信息的在线查询和业务处理等。WebGIS是利用Web技术来扩展和完善地理信息系统的一项技术。WebGIS主要作用是进行空间数据发布、空间查询与检索、空间模型服务、Web资源的组织等。从系统集成的角度,综合OpenGIS, ESR, Intergraph的观点,WebGIS具有以下特点:
首先WebGIS是一个开放系统。注重数据共享、软件重用、跨平台运行和易于集成等。简单地说,它能够共享多种来源、多级尺度、存放在不同地点的地理数据;能够通过对象管理、中件和插件等技术手段与非GIS系统(如Delphi)集成;并能够通过JAVA、CORBA、DCOM等技术跨平台协作运行,支持用客户机/服务器模式等。
其次,WebGIS适合在万维网环境中运行。将GIS软件与Web服务器集成,通过普通浏览器,用户可以在任何地方操纵网络GIS,享用地理空间信息服务,从而将GIS扩展成为公众服务系统;同时拓宽地图出版渠道,降低数据散发成本,提高地理数据共享程度。
最后,Web GIS支持数据分布(Data distribution)和计算分布(distributed processing)。GIS服务器为局域和远程用户提供GIS服务,如地理数据目录服务,地理数据存取服务,地理空间分析服务,地理模型系统服务,地理空间可视化服务等。
2. WebGIS在电子政务方面的应用
随着“数字地球“,“数字城市”的提出,电子政务也越来越成为*部门努力地方向。WebGIS技术为管理者在网站上提供了一个空间管理的平台,*管理者可以通过门户网站实现对社区、城市管理、公共交通、旅游资源、土地、企业等进行图形化管理,而用户也可以通过门户网站提供的服务更加有效的安排自己的活动,做到*与群众互动联系。
据估计,人类信息的75%--80%都与地理空问位置有关。WebGIS在电子政务中的普遍应用,如济宁市的“数字国土”信息应用系统,日照市的“数字城管”系统,电力系统中利用WebGIS的地域配电系统,丽水市的水雨情WebGIS预警与发布系统等,这些具体WebGIS应用都极大的改变着人们的办公习惯。
根据目前来看,WebGIS技术在以下方面将会大有作为:
1,WebGIS在规划、建设与管理方面应用
在各种基础设施建设中,事故时有发生;建设的市场不规范,许多问题急待解决;交通、土地、水资源、能源、环卫、生态环境、灾害管理和决策的水平急需改善和提高。通过WebGIS就能够更完整、准确和全面地把握环境的动态空间特征。
2,WebGIS在城市化与城市可持续发展方面应用
我国1999年的城市化水平已经达到30.9%,进入了城市化的快速发展时期。城市化是社会经济发展的必然趋势,它将给社会发展带来新的机遇,从而提高我国的总体国力和现代化水平,但城市化同时也将带来一系列问题,如空间布局混乱、人口膨胀、环境危机、资源危机、耕地浪费、交通堵塞、灾难加剧和人居质量恶化等。为了缓解这些危机,运用WebGIS及时准确地掌握相应的空间信息。
3,WebGIS在住宅产业发展方面应用
住宅产业是当前的一大热点。随着住房制度改革的深入,在社区和住宅的规划设计、建设以及住宅营销和物业管理等方面住宅产业信息化的需求十分旺盛。
4,WebGIS在服务方面应用
目前信息服务业方兴未艾,特别是基于空间信息的服务,*、消防、金融、保险、通讯等特殊行业对地理信息服务的潜在需求很大;为企业提供信息服务,可以提高它们在市场经济条件下的应变能;为社会公众提供开放性的资讯服务,从而改善人们的生活质量。各种空间信息服务对于基于网络的WebGIS来说,无疑是最佳的解决方案。
综合WebGIS在各方面的使用情况,本文主要采用开源的OpenGIS系统论述其在市、县级各种管理系统平台上的搭建。比如交通、国土、水利能源等部门的管理系统,这样既可以最大限度的节省系统开支,还可以快速达到政务电子化的应用需求。
3. WebGIS系统体系结构设计
3.1 基于J2EE架构的MVC框架
J2EE的提出基于三个基本思想:基于标准协议、共享公共服务、软件组件化。J2EE各种应用程序和组件之间的通信是建立在标准协议的基础之上的,这些协议包括HTTP、TCP/ IP、SSL、RMI等,而WebGIS正是利用这些协议让用户只要有浏览器就可以获得信息;J2EE各种应用程序的组件运行在容器里,另外应用程序还要调用一些其他的服务,J2EE中这些服务集成在一起或提供统一的API进行调用,其中包括JDBC (Java Database Connectivity , Java数据库互连),而WebGIS中的数据是巨大的,采用JDBC可以快速地和不同厂商的关系数据库进行连接;J2EE的三个主要组件模型是:JSP、Servlet和EJB,在 WebGIS中,这三个组件可以提供强大的动态页面机制。
总之,在J2EE平台进行开发可以提供包括表示层(如JSP等)、业务层(如 EJB等) 、资源层(如JDBC等)的多层支持。本文所研究对象即采用这种MVC框架实现系统整体方案。
3.2 关于系统结构服务器、客户端的选择与设计
3.2.1,客户端类型的选择
一般而言,客户端可以配置成三种:瘦客户端,胖客户端以及中型客户端。
在瘦客户端配置下,用户所有的请求必须通过服务器端响应,通过嵌入在HTML中的静态图像(栅格图像)返回响应信息,在胖客户端配置下,客户端首先需要下载JavaApplet,所有的地图操作都由执行Applet完成。另外,服务器返回的是矢量数据,客户端从远程数据库中接收空间对象,中客户端介于瘦/胖客户端之间,它也必须下载Java Applet,但它从服务器端接收的是栅格图像,这样的环境可以允许更健壮和更灵活的用户界面,同时减少从服务器端下载的数据量。
对于不同类型的WebGIS系统,客户所需要的功能也不同。如在一个包含各行业分布的城市电子地图中,WebGIS系统要为用户提供放大、缩小、漫游、测距等基本功能,另外应该提供双向查询,如指定范围内的点击查询,结果以文字形式给出;或者通过文字查询进行目标定位等功能。这样的系统需要经常性地从客户端(浏览器)处获取用户操作点坐标集合,因此客户端必须具有显示地图和响应地图上的鼠标操作的能力。这样,在客户端的设计中,可以选择多种开发方式,不同的开发方式决定了不同的客户端形式,如可以采用包含IMG类型的HTML表单,也可以选择JavaScript,这两种对应的是瘦客户端;采用Java Applet的则是中客户端。
本文讨论的电子地图方案,利用OpenLayers客户端显示数据,实际上是采用的就是基于JavaScript的瘦客户端开发模式。
3.2.2,服务器端的分析设计
首先,客户端(浏览器)传递到服务器端的请求服务信息内容,包括用户在地图上操作点的位置坐标信息、服务请求工具号信息、查询的数据等信息。其次,处理用户操作地图位置坐标信息的入口,整个服务采用MVC结构,所有的操作都是由它响应服务请求的,采用JSP、Java Servlet等技术,这里对一些简单的操作如放大、缩小、平移等直接响应。对于地图信息数据,可以存在MapInfo表文件中,或者分布于各种数据库中,通过JDBC可以对 RDBMS的空间数据进行存取。最后,结果发送给用户,如包含查询数据的结果等。这里如果有地图状态的变化,根据配置的不同,服务器端可以直接产生一个图像流数据返回,或者将重新生成的地图的URL返回与客户端显示。
本文采用J2EE架构下的GeoServer+OpengLayers+PostGIS平台设计地图模块。
4.政务地图模块的实现
基于上述J2EE平台,本文采用胖服务器/瘦客户端模式的实时地图发布系统,利用开源的地图服务器GeoServer,客户端数据显示OpenLayers,数据源PostGIS(PostgreSQL)逐步实现政务地图模块的构建。
4.1,PostgreSQL的安装与地理空间数据库实现
PostgreSQL 是一种对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大、特性最丰富和最复杂的*软件数据库系统。PostGIS在对象关系型数据库PostgreSQL上增加了存储管理空间数据的能力。
步骤:下载安装完PostgreSQL后,以系统提供的“PostGIS”数据库为母板创建一个数据库,取名为mychina;再把预先准备好的数据china.shp用命令导入到mychina数据库。
4.2,GeoServer的安装与数据配置
GeoServer是 OpenGIS Web服务器规范的 J2EE 实现,是能够对地图进行平移、缩放操作的工具。利用 GeoServer可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过 GeoServer可以比较容易的在用户之间迅速共享空间地理信息。同时,作为服务器,它的功能一般通过与OpengLayers、Google Earth、uDig、GVSig等客户程序结合使用表现出来。
GeoServer能够发布的数据类型有:地图或影象(应用WMS), 实时数据(应用WFS),用户更新、删除和编辑的数据(应用WFS-T)。
步骤:先在服务器上先安装JDK,然后安装GeoServer,接着打开GeoServer服务,并进行数据配置,数据集来源选择上一步的PostGIS,并填入正确的数据库的连接信息;
4.3,OpenLayers的客户端数据显示
OpenLayers是一个用于开发WebGIS客户端的JavaScript包。OpenLayers支持的地图来源包括Google Maps、Yahoo、 Map、微软Virtual Earth等,用户还可以用简单的图片地图作为背景图,与其他的图层在OpenLayers中进行叠加,在这一方面OpenLayers提供了非常多的选择。
地图数据在GeoServer中配置好之后,可以用HTML代码编写OpenLayers的WMS的请求服务。编写好之后,可以在浏览器上查看中国地图。
4.4,本方案在政务地图上的应用
针对市、县级的*网站、部门管理系统,或者行业网站的管理系统,均可以利用本方案有效构建或升级现有系统。
首先在服务器搭建GeoServer,利用PostGIS存储基础地图数据及城市要素的空间数据和非空间属性数据,最后使用OpenLayers与各个管理系统当中欲显示的图层叠加,在网站页面上显示相应的地图数据即可。当然,地图数据源除了用已有的外,还可以选择Google Maps、Yahoo、Map、微软Virtual Earth等。
5.结语
WebGIS提供了一种易于维护的分布式GIS解决方案,它在*上网中的作用将更为突出。在*机关进行信息检索、决策分析以及所发布的政务信息中,如人口分布、地域概况、科教文卫信息等,绝大部分与空间定位信息有关,另外,空间信息与属性信息应该是紧密联系的,并能以可视化的方式将其表现出来。因此,一个开放的*电子系统、地图化的*网站是一个重要的标志。
本文讨论了J2EE平台下利用开源的GeoServer搭建政务地图模块,相对于目前商业WebGIS系统所需的昂贵投资,本方案由于系统开支小,技术复杂度低,功能相对全面等特点,可以充分运用到市、县级的交通、国土、水利能源等部门的管理系统当中去,通过应用WebGIS,可以使*管理人员或用户更加方便、快捷、直观的把握地区空间特征、准确掌握相应空间资源。
参考文献
[1].刘吉夫,张福平,杨雪超. WEBGIS及其应用[J].江西气象科技 .2003, 26(1)
[2].贺媛媛,张颖. WebGIS的发展现状及前景[J]. 石家庄铁路职业技术学院学报 .2008,7(1).
[3].孙远远,吕永胜. WEBGIS在电子政务中的应用.浙江测绘2005年第3期
[4].宋杨,万幼川,陈鹏.基于ArcIMS的WebGIS在电子政务信息系统中的应用.测绘工程 .Vo1.14.No.3SEP.2005
[5].张海玲,胡宾,益建芳.基于WEBGIS的电子政务系统浅析.测绘与空间地理信息 . Vol.27.NO.2.Apr.2004
[6].李广羽,郑舒予,贾未.基于 We b G I S的数字城市应用平台设计。中国管理信息化 . Vo1.12.No.19. 0ct.2009.
[7].营建华,董志.政务电子地图服务平台的设计与实现.地理空间信息 . Vo1.8.No.3. Jun.2010.
[8].营建华,董志.政务电子地图服务平台的设计与实现。地理空间信息 .Vo1.8.No.3. Jun.2011
[9].武志鹏,李名世,李颂 .J2EE平台WebGIS设计技术探讨 .Vo44.No.5. 0ct.2005.
[10].冯亦参.基于geotools实现WebGIS应用软件 .中文核心期刊《微计算机信息》(测控自动化)2006年第22卷第11-1期
文献来源:
UNDONER(小杰博客) :http://blog.csdn.net/undoner
LSOFT.CN(琅软中国) :http://www.lsoft.cn