电子地图技术方案_第1页
电子地图技术方案_第2页
电子地图技术方案_第3页
电子地图技术方案_第4页
电子地图技术方案_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、 基于MapXtreme的WebGIS技术方案摘要:本文分析了具有代表性的WebGIS平台MapXtreme的基本结构、工作原理以及基于MapXtreme的两种GIS数据管理策略,讨论了在GIS数据管理过程中可能遇到的问题,并提出了解决的方法。文章还描述了基于MapXtreme的WebGIS的体系结构,分析了在这种结构下的客户端解决方案、网站的扩展性策略等关键技术,最后简要介绍了一个实例。1. 引言 地理信息系统(Geographic Information System,简称GIS)是能够收集、管理、查询、分析、操作以及表现与地理相关的数据信息的计算机信息系统,能够为分析、决策提供重要的

2、支持。如何把因特网和GIS结合起来,即采用B/S的计算机模式,客户方不需要任何特殊的配置便可进行交互式地图操作以及方便的信息查询,是当前地理信息系统领域的一个研究热点。2. MapXtreme简介 MapXtreme是MapInfo公司推出的基于因特网/内联网的地图服务器。通过对GIS软件MapInfo和MapX的功能集成,信息管理员只需要在Web服务器上安装MapXtreme,并对其进行编程和管理,用户即可通过Web浏览器访问MapXtreme,并获得MapXtreme所提供的GIS功能,如地图的显示、制作专题地图进行地理分析等。MapXtreme采用的是服务器端解决方案,客户端只需要标准的

3、Web浏览器。MapXtreme的地图功能来自于地图引擎(MapEngine)。地图引擎包括三个核心部件:MapX、MapXServer和MapXBroker。MapX提供地图操作功能;MapXServer对MapX进行封装,使MapX能运行于安全的线程空间;MapXBroker则用于预启动MapXServer的实例,并可以用来对网站进行扩展。MapXCourier不是地图引擎的一部分,它可以用来在应用程序和地图引擎之间进行通信。MapXtreme系统主要由三个层次组成。顶层是因特网技术,采用TCP/IP、CGI、HTML等技术标准,保证了系统的标准性、开放性和先进性;底层是图形平台MapIn

4、fo Professional和基于ActiveX技术的MapX控件技术;中间的是MapXtreme,作为服务器端的新一代地图应用服务运行模式,采用内置开发工具、进程调度器、分布应用模式等新技术。MapXtreme基本不改变服务器端原有的GIS系统函数,几乎了所有的操作分析。3. 基于MapXtreme的WebGIS结构 我们采用如图1所示的四层体系结构,包括浏览器、Web服务器、应用服务器以及GIS数据服务器(OracleSpatial)。客户端用于向服务器发送数据请求并显示所请求的数据;Web服务器接受请求,并把应用服务器的处理结果返回给用户;应用服务器负责应用处理过程;数据服务器端只进行

5、数据的管理工作。在基于MapXtreme的工作方式下,所有的地图数据和应用程序都放在Server端,客户端只是提出请求,所有的响应都在Server端完成。只需在Server端进行系统维护即可,客户端无须任何维护,大大降低了系统维护的工作量。实际操作时,应用服务器和Web服务器可以安装在同一个服务器。数据库服务器可单独安装,也可与应用服务器和Web服务器安装在一起。4. 关键技术分析4.1 GIS数据管理GIS数据分为空间数据和属性数据,二者的紧密结合形成对地物的描述,对一类数据 的操作必然会影响与之相关的另一类数据。因此,如何在计算机中有效存储和管理这两类 数据是GIS的基本问题,也是GIS中

6、最底层和最基本的技术。在MapXtreme系统中可以采用 两种策略来管理GIS数据;文件策略和空间数据库策略。4.1.1文件策略地理信息系统中通常用“层”的概念来分别存储不同专题的空间信息,同一层上的空 间对象具有相同类型的属性信息,即每一层存放一种专题或者一类信息,并有一级对应的 数据。文件管理策略就是每一类型的地图数据都存放在一个.TAB文件中,对应地图对象的 属性数据则采用一般的关系数据库管理系统来管理,两者通过一定的机制关联起来,多个 不同类型的.TAB文件结合起来就可以用来表示综合的地图信息。这种策略至今仍是GIS的 一种主要数据管理方法。MapXtreme系统采用GeosetMan

7、ager来管理这些.TAB文件。GeosetManager可以将多个 .TAB文件打包为一个.GST文件,这个文件就包含对应的地图信息。把这个.GST文件设置为 MapXBroker的地图属性,用户通过访问MapXBroker就可以读取相应的地图数据,并可以在 地图上进行缩放、漫游、访问地图上连接的信息,以及制作专题地图进行地理分析等相关 操作。4.1.2空间数据策略空间数据库型GIS采用空间数据库来实现空间数据和属性数据的一体化管理,这可以 充分利用目前大型商业数据库的优势,容易实现分布式结构、多源数据库连接、多用户等 功能。因此,空间数据库是GIS领域的一个研究热点。我们采用Oracle公

8、司的空间数据库管理系统OracleSpatial来管理地图数据,利用 OracleSpatial需要注意以下几个方面问题:(1)地图数据的上传。现有的地图数据大多以.TAB文件的格式存放,我们首先需要把 以文件格式存放的GIS数据导入服务器端的OracleSpatial中,数据上传工具采用MapInfo 公司的数据转化工具EasyLoader。上传结束后,OracleSpatial会为每一个上传的.TAB文 件在数据库中新建一个同名的表格,对应.TAB文件的空间数据和属性数据都存放在这个表 格中。(2)地图数据的显示。MapXtreme可以读取并显示OracleSpatial中的地图数据(如下

9、代码),在显示的地图上可以进行缩放、漫游、访问地图上连接的信息,以及制作专题地图进行地理分析等相关操作。. .public void doGet(HttpServletRequest request, HttpServletResponse response)throws IOException, ServletException / 设置ContentTyperesponse.setContentType(“image/gif”);/ mapxtremeservlet地图服务器urlString m_mxtURL = ""/ 返回响应的输出流ServletOutputSt

10、ream sos = response.getOutputStream();/ 创建MapJ对象MapJ m_mapj = new MapJ();try /地图定义文件(也可以将地图定义保存到数据库中)String m_mapPath="E:gisappMapDataOthersmap.mdf" / 加载地图 m_mapj.loadMapDefinition(m_mapPath); / 设置地图初始大小m_mapj.setDeviceBounds(new DoubleRect(0, 0, 800, 600); request.getSession().setAttribut

11、e("worldMap", m_mapj);/ 创建图像请求器(包装mapj对象,图片的色位,底色,格式信息)ImageRequestComposer irc = ImageRequestComposer.create(m_mapj, 256,Color.white, mimeType);/ 创建mxtj的图像渲染器MapXtremeImageRenderer renderer = new MapXtremeImageRenderer(m_mxtURL);/ 用渲染器渲染请求器renderer.render(irc);/ 渲染器输出图片流到输出流,客户端显示之rendere

12、r.toStream(sos);/ 释放渲染器对象renderer.dispose(); catch (Exception e) e.printStackTrace();. .4.2 客户端策略根据具体的应用,在客户端可以采取三种策略:瘦客户型、混合客户型和胖客户型。瘦客户型在客户端不需要安装任何其它插件,只需要一个浏览器即可,服务器将地图分析结果以位图的开工插入到HTML页面,并将其传送到客户端浏览器中,显示出来。混合客户型的应用每次在访问服务器时,都会从服务器上下载JavaApplet,它能增强客户端浏览器的地图分析功能。但是,下载Applet会增加网络的流量,并且Applet的使用也会影

13、响页面的显示速度。胖客户端类型的应用在第一次访问服务器时,会下载MapJ控件。它可以接受服务器端传送过来的矢量地图数据,直接在客户端基于矢量数据进行地理分析。虽然这种方式能最大可能地增加客户端的功能,但由于这种方式每次都要传送大量的矢量地图数据,所以初次登录时页面显示速度最慢。4.3 扩展机制在构建WebGIS应用之前,应当事先考虑到网站的扩展问题。对MapXtreme来说,地图引擎在用户的每一个会话期间都要创建一个MapXServer对象实例,并保持其激活状态直至用户会话结束;每个MapXServer都会战胜自己独立的处理空间(CPU、内存硬件资源),如果同时有几百甚至上千个用户访问的话,服

14、务器将面临严峻的考验;另外为每一个用户都维持一个激活的MapXServer实例是一种低效率的做法,如何解决这个问题将直接关系到我们开发的系统是否具有实用价值,是否具有生存价值。我们可以采用两种工作机制来实现平衡,以解决这个问题:横向扩展和纵向扩展。(1)横向扩展。横向扩展指的是和种分布式配置方式,是通过增加服务器的数目来分担单台服务器的过重负载的。这种方式需要在每台服务器上安装MapXtreme,适合于访问量非常大的系统,但代价非常昂贵。(2)纵向扩展。纵向扩展是通过MapXtreme的MapXBroke组件优化Web服务器来实现的。MapXBroker是作为一种系统服务运行于服务器系统上的,

15、当它启动时就会创建一个MapXServer的共享池(称为预启动机制)。当一个MapXtreme应用程序需要执行与地图操作相关的请求时,就向MapXBroker申请一个MapXServer的对象实例;当含地图的主页动态生成以后,再把MapXServer实例释放给共享池,以便其它用户申请。这种共享机制使有限的资源可以支持多个用户并发请求;这种机制的另一个好处在于当应用程序申请MapXServer对象时,该对象已经存在于共享池中并运行着(预启动机制),因而比申请时再创建一个MapXServer对象要快得多。在实际的应用中,可以根据具体情况采用横向扩展与纵向扩展相结合的方法。5. 具体实现(1) 在当

16、前网速快,电脑配置好的大环境下,可以选用瘦客户端策略。客户端不需要安装任何软件,就像浏览网页一样操作电子地图。(2) 地图数据采用文件策略与空间数据库策略混合的方式。文件策略的优势是数据源链接速度快、空间操作响应速度快,我们将背景图、小区分布图等保密要求不高和不常更新的数据以文件形式保存。空间数据库策略的优势是解决多用户并发编辑的问题、解决数据安全的问题、高效的空间索引机制、数据的分布式存储和管理以及GIS的长事物处理等,故我们将关键数据放到空间数据库中保存。(3) 根据MapXtreme内部提供的MapJ对象实现地图的放大、缩小、定位、测量等功能,实现二次开发。(4) 设定地图放大的比例精确到小区。(5) 具体详细操作提供搜索功能,可以根据图元属性搜索图元,搜索到的图元以高亮显示。选中图元(如退役干部)时,从

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论