电子地图(MapXTreme)技术方案

上传人:cn****1 文档编号:508648940 上传时间:2023-01-28 格式:DOCX 页数:8 大小:33.89KB
返回 下载 相关 举报
电子地图(MapXTreme)技术方案_第1页
第1页 / 共8页
电子地图(MapXTreme)技术方案_第2页
第2页 / 共8页
电子地图(MapXTreme)技术方案_第3页
第3页 / 共8页
电子地图(MapXTreme)技术方案_第4页
第4页 / 共8页
电子地图(MapXTreme)技术方案_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《电子地图(MapXTreme)技术方案》由会员分享,可在线阅读,更多相关《电子地图(MapXTreme)技术方案(8页珍藏版)》请在金锄头文库上搜索。

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

7、管理这些.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 = http:/localhost:80/mapxtreme480/servlet/ma

10、pxtreme;/ 返回响应的输出流ServletOutputStream 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.ge

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

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

13、plet的使用也会影响页面的显示速度。胖客户端类型的应用在第一次访问服务器时,会下载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) 在当前网速快,电脑配置好的大环境下,可以选用瘦客户端策略。客户端不需要安装任何软件,就像浏览网页一样操作电子地图。(2) 地图数据采用文件策略与空间数据库策略混合的方式。文件策略的优势是数据源链接速度快、空间操作响应速度快,我们将背景图、小区分布图等保密要求不高和不常更新的数据以文件形式保存。空间数据库策略的优势是解决多用户并发编辑的问题、解决数据安全的问题、高效的空间索引机制、数据的分布式存储和管理以及GIS的长事物处理等,故我们将关键数据放到空间数据库中保存。(3

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 国内外标准规范

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号