基于达梦数据库的WebGIS系统解决方案

文章来自达梦技术社区http://bbs.dameng.com/

  Google Earth 的推出,无疑在GIS 行业引发了一次不小的地震,非GIS 行业的这种准GIS 服务模式,对所谓专业的GIS 服务是个不小的冲击,尤其是对WebGIS领域。因此,WebGIS技术近年发展迅速,引起了地理信息发布技术新的变革,也为实现GIS信息共享提供了技术保障。本文基于达梦数据库DM5.6和搜索引擎版MapGIS,设计实现了一套完整的WebGIS解决方案,该方案在消防行业中也得到了成功的应用。

1、 实现技术简介

  1.1  Ajax技术

  Ajax是异步JavaScript和XML的缩写。Ajax不是一种技术,它实际上是几种技术的组合,每种技术都有其独特之处,合在一起就成了一个功能强大的新技术。AJAX包括:

(1) 基于标准化的XHTML和CSS;
(2) 通过DOM实现动态显示和交互;
(3) 通过XML和XSLT来进行数据交换和处理;
(4) XMLHttpRequest通过异步方式获取数据;
(5) 使用JavaScript来整合以上所有的技术。

  DOM

  文档对象模型(Document Object Model,DOM)是表示文档(比如HTML 和XML)和访问、操作构成文档的各种元素的应用程序接口(API)。它以树形结构表示HTML 和XML 文档,定义了遍历这个树和检查、修改树的节点的方法和属性。

  文档对象模型(DOM)是给 HTML 与 XML 文件使用的一组 API。它提供了文件的结构表述(representation),让你可以更改其中的内容及可见物。其本质是建立网页与 Script. 或程序语言沟通的桥梁。

  1.2  VML技术

  VML(Vector Markup Language)是一个最初由Microsoft 开发的XML 词表,换句话说,是基于XML 的可用来描述矢量图形的标记语言。现在只有IE5.0 以上版本对VML提供支持。使用VML 可以在IE 中绘制矢量图形,所以有人说VML 就是在IE 中实现了画笔的功能。

  VML 的全称是Vector Markup Language(矢量可标记语言),矢量的图形,意味着图形可以任意放大缩小而不损失图形的质量。VML 以最简洁的标记代码,在WEB 页快速绘制输出矢量图型(线段、圆形、矩形、圆矩形、矢量图像、曲线、多边形、弧型)、并修饰这些图形。

2、系统原理及设计

  传统GIS 体系结构经历了单机模式、主机终端式的集中模式、客户机/服务器模式(C/S 模式)。到了WebGIS 阶段,体系结构就演变成为浏览器/服务器模式(B/S 模式)。根据系统负载在客户端和服务器端的分配比例,又可分为胖服务器端模型、胖客户端模型和混合模型。

  胖服务器端模型指浏览器只负责接收和显示GIS 图片及数据的B/S 体系结构;胖客户端模型指浏览器能处理、加工数据、并显示处理结果;混合模型是为充分发挥网络及计算机性能对前两种体系结构的综合。

  本系统采用混合模型,使用Hibernate和JSP的轻量级架构,矢量数据分析使用MapGridSvr完成,为达到系统设计目标之一“快速”的要求,系统的地图采用文件的方式存储在服务器上,信息点数据及业务数据存储在达梦数据库中,系统的体系结构如图1所示,WebGIS系统是个完整独立的应用系统,不但功能独立,也考虑了和其它应用系统集成的接口问题,接口的数据统一使用RemoteProc方式提供,详细的接口及系统架构如图2所示。

图1 WebGIS体系结构

  系统的客户端主要使用javascript、html、vml、css等技术实现,地图使用文件的方式读取,地图的属性及其信息点的现实都采用ajax技术实现。这种实现方式的优势是:(1)速度快;(2)页面无刷新;(3)能够满足大用户量的访问。

  服务器端实现采用符合SUN 的J2EE 规范的平台,J2EE平台是一个平台无关、可移植、多用户、安全和标准的企业级Java 服务器端部署平台,可开发和部署多层体系结构的Web应用。对于服务器端基于J2EE 规范的开发,只要选择适当的J2EE 服务器端产品,使用适当的设计模式,在软件成本控制、开发周期上都会受益,对于整个WebGIS应用的开发也有事半功倍的效果。

图2 WebGIS系统设计图

3、系统的优势

  3.1 突显“快速”

  (1)地图底图变革

  就提供地理底图的方式来讲,WebGIS系统再也不是传统的方式——服务器端将矢量地图临时生成栅格图发给客户端,而是事先生成好栅格图,用户请求时不必做任何处理就可以即时发给客户端;就客户端的显示方式来讲,摒弃了传统的一张地图的显示方式,客户端采用多幅小图拼接的方式显示,总体看起来像是小图片填充一个大的栅格的效果。

  (2)地图的文件存储

  WebGIS系统为了提高响应速度,将地图底图以文件的方式存储在服务器上,以文件流的形式读取地图数据速度远远比从数据库中读取要来得快。另外,由于用户对地图数据的维护量基本趋于零,因此地图的这种管理形式完全可以满足需求。

  (3)B/S的优势

  基于B/S模式的构架,客户端和服务器端分担不同的任务,分散处理加快了系统的运行速度。

3.2 地图数据和业务数据相对分离

  (1)分开存储

  地图数据采用文件的方式存储,业务数据采用DM数据库存储。地图数据的文件存储减少了数据访问的时间,为客户端的快速响应提供保障,而业务数据用DM数据库存储也为信息点的高效利用、管理和维护提供了方便。

  (2)分开管理

  WebGIS系统极大的降低了用户对专业地理信息数据的维护,基本趋于零维护,用户更多的是维护、管理自己非常熟悉的业务数据。对地图数据的维护可以交给更专业的公司完成,而且更新和维护的成本相对较低。如果用户的业务数据维护的好,我们甚至可以不维护或者少维护地图数据。

  (3)分层显示

  地图的底图用文件的形式读取直接通过IE显示,用户的业务数据可以按照用户的需求分层叠加到地图底图上,地图只作为地图显示,更加丰富的信息点和业务信息可以定制叠加,非常灵活。

  (4)有机结合

  WebGIS系统之所以能快速、直观的完成专业GIS才能实现的功能就是因为地图底图和业务数据存在内在的关联,关联点就是经纬度坐标。通过经纬度坐标可以将信息点和地图位置唯一的对应起来,使得用户的业务数据、信息点数据具有了空间属性。这是WebGIS系统之所以能实现强大GIS功能的主要原因之一。

  3.3 强大的信息点反显功能

  丰富的信息展示功能是地理信息系统的关键所在,而现代城市发展过快,业务数据增长不规律。因此光靠更新地图来更新信息点不但成本高,而且周期过长。WebGIS系统提供了强大的信息点反显的功能,能根据客户需求分层、直观的现实各类信息点。不仅解决了地图信息点实时更新的问题,而且在一定程度上降低了地图维护的费用。

  3.4 复杂空间数据问题的巧妙解决

  WebGIS系统不但能满足兴趣点定位的需求,而且可以处理常用的线数据、面数据。为了避免矢量化问题对响应速度的影响,我们在处理线数据和面数据的过程中巧妙的用点数据回避。用点数据和vml的绘制的线以及点数据和vml绘制的多边形来描述线数据和面数据,而通过点、线以多边形之间的计算来巧妙的解决各种常用的空间线和面数据。

  3.5解除版权、涉密的后顾之忧

  矢量数据,尤其是大比例尺的矢量数据一般是涉及到版权、涉密等问题。栅格化处理更跟好的保护版权,有为我们日常应用提供方便;另外,考虑到涉密等问题,WebGIS系统能更好的伪装经纬度信息,可以很方便的使用相对坐标表示各种信息点。

  3.6 丰富的接口,方便集成到其他系统

  WebGIS系统具有丰富的接口,可以与GPS结合实现信息点实时定位,也可以实现路径回放;也可以为其他系统提供空间距离计算、区域判断、信息点回显、线数据查询等接口;后台程序基本能满足很多非专业用户对的地理信息的需求,接口定制开发速度快。

  4、 应用实例

  该设计方案在宜昌市消防通信指挥系统中已经得到了成功的应用,附件一为该系统主要页面及功能展示。

  5、 总结

  本文基于达梦数据库架构的WebGIS解决方案,属于规范的分布式体系,其在消防行业的应用让我们看到了WebGIS的优势所在,该方案不拘泥于任何行业或业务,属于通用的解决方案,可以非常方便的应用或者集成到其它行业的应用系统中。

  附件一:WebGIS应用展示

  1.  基本操作界面

图3 基本操作界面

2. 遥感影像叠加

图4. 遥感影像叠加

3. 三维数据图叠加

图5. 三维数据叠加

4. 灾害圈显示(灾害圈范围内的消火栓和重点单位)

 (a) 平面图

(b) 遥感影像

图6. 灾害圈显示

5. GPS车辆跟踪

图7. GPS车辆跟踪

6. 消防站实力显示

图8. 消防实力展示

7. 实时路径分析

图9. 实时路径分析

8. 面数据管理

图10. 面数据管理

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23392679/viewspace-627924/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23392679/viewspace-627924/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值