当前位置:主页 > 经济论文 > 经济理论论文 >

基于SVG的地图服务系统的实现

发布时间:2015-03-08 10:03

摘 要:所谓地图服务就是利用成熟的网络技术、通信技术、GIS(地理信息系统)技术,实现一种新的地图服务方式。本文介绍了SVG技术及如何在地图服务系统实现。

关键词:SVG;地图服务系统

  一.引言
  SVG是可缩放矢量图(Scalable Vector Graphics)的简称,是一种采用XML来描述二维图形的语言,是基于XML的一个全新的标准开放的矢量图像和动画格式。SVG可以构造三种类型的图形对象:矢量图形、位图图象和文字。图形对象可以被组化、样式化、变形和重新组合,包括图象嵌套、变形处理、剪辑路径、Alpha蒙板、滤镜特效和模板对象。最关键的是:SVG完全用普通文本来描述。也就是说这是一种专门为网络而设计的、基于文本的图像格式。SVG是基于XML的言语,所以可扩展性很强,能够描述任意复杂的图像。SVG是设计与编程之间的桥梁,与传统的图像制作方法不同,SVG图形是由程序代码生成的,这种语言是基于XML的,因此它可以和W3C的其他标准(如CSS、DOM等)无缝集成。SVG不同于传统的二元(平面)图像和动画制作,它使用简单的一元(文本)语句完成矢量图像,具有超强交互性和超强显示效果等特点。SVG图像中的文字独立于图像,适合对精度要求极高的地图进行显示,并且可以编辑和查询地图中的文字,特别适用于网络速度较慢情况下的地理信息网络发布。
  二、基于SVG技术的地图服务系统
  地图服务系统涉及福建省各个城市的地图数据,除了提供地图服务中的位置标示、位置检索、公交乘车路线换乘、关注点周边信息查询等基本服务外,还包括基于GIS平台支持下的移动位置服务(LBS)业务。为实现较高的代码重用性,使系统有较高的稳定性,并考虑系统的可扩展性,地图服务系统采用SVG技术提供业务功能支持、以J2EE技术对远程访问控制。
  系统基于J2EE结构,以Oracle Spatial为空间数据平台,以SVG作为地图图形数据和交互信息的载体,结合XML/XSL作为数据交换手段,通过ECMAScript脚本语言提供界面操纵能力,采用B/S架构,以Web应用方式实现主要的业务流程。
  (一)客户端功能设计
  客户端采用插件SVG的形式,由于目前主流浏览器还不支持SVG,因此要采用Adobe的SVG插件SVG Viewer3.0来对SVG文档进行操作。为了更好地满足地图服务系统的实际需求,该系统在客户端必须完成以下地图基本功能:
  1、作为地图引擎的基本功能,提供基础地图的展现。
  2、为最终用户提供方便的放大、缩小以及查看当前比例尺寸的功能。
  3、提供非拖放方式的地图漫游功能,增加键盘支持。
  4、提供快速的鼠标漫游地图功能。
  5、提供用户在地图上测算路径距离的手段。
  6、在用户多次缩放、查找等操作后,回到使用地图的初始化状态。
  (二)服务器端功能设计
  服务器端主要功能是接收客户端提出的请求并进行分析,从数据源服务器中提取符合请求的原始数据,并通过转换,转换为可解析的格式良好的数据文档。功能主要集中在Web服务器和应用程序服务器两个方面,它们是地图服务系统的核心,其主要作用是动态地检索和过滤地理空间数据和属性数据,为客户端地图动态交互提供数据源。服务器端需实现以下功能:
  1、解析输入请求,并将请求分发到相对应的对象进行处理。
  请求路由器分别实现如下方法:
  doGet方法:解析用户的请求,根据请求的内容,将请求分发到相对应的对象进行处理。
  doPost方法:解析用户的请求,并根据请求格式的不同区分为SOAP请求和普通的表单POST请求,最后将请求分发到相对应的对象进行处理。
  2、从SuperMap Deskpro生成的工作空间文件中读取地图结构、地图显示风格等内容,用于支持SVG元素工厂和SVG组装器的工作。由格式解析器来负责处理由SuperMap Deskpro生成的地图工作空间SXW文件。
  格式解析器必须完成如下工作:
  根据传入的名称,读取对应的SXW文件并在内存中生成XML树;
  接受检索请求,返回图层信息和图层显示风格信息
  3、数据缓存器缓存用户调用请求产生的结果数据,并根据用户请求从Oracle数据库中的缓存数据存储表中直接读取数据。用于提高服务器性能。数据缓存器自行维护一块缓存数据,采用名称—内容方式存储数据。
  4、生成对应数据库表的命名SVG元素,,并以对象数组方式返回。用于支持SVG组装器。调用方传入数据库表名和命名方案,由SVG元素工厂完成如下工作:
  根据表名称自动连接数据库,返回请求的数据记录
  工厂根据记录中描述的数据类型生成相应的点、线、面、文本对象
  工厂向格式解析器查询记录对应的显示风格,并设置到对象中;
  工厂向调用方返回元素对象数组
  5、根据请求生成对应的SVG文件。由SVG组装器完成如下的工作:
  解析请求内容,创建SVG文件框架,获取需要生成的地图名称;
  根据地图名称,创建格式解析器对象;
  从格式解析器获取图层描述信息;
  根据图层描述信息,从SVG元素工厂获取对应的SVG元素数组,并从元素数组生成SVG片段,拼装到SVG文件中;
  返回SVG字符串。
  6、数据更新器通过调用SVG组装器来生成SVG,更新SVG文件内容。
  三、结束语
  SVG的“矢量描述”并不是一个全新的概念,但它综合了矢量图形、点阵图像和纯文字的优点,用一种标准来进行描述,这较之于网络上流行的压缩式点阵图像优越。统一的标准和开放性是SVG的强大生命力所在。OGC组织己经把SVG作为Web地图表示的推荐标准。因此,SVG是Web地图的合理有效的载体。
参考文献:
 [1][美]Bill Trippe. Kate Binder著,高伟等译,SVG设计,机械工业出版社,2003年.
 [2]许林.WebGIS体系结构及底层服务的研究与实现 ,2005.3.
 [3]刘啸、毕永年等编著,基于XML的SVG应用指南,北京科海集团公司出版,2001.3 .
 [4]吴彬卓 . SVG在WebGIS中的应用研究 , 2005.6.



本文编号:16819

资料下载
论文发表

本文链接:https://www.wllwen.com/jingjilunwen/jingjililun/16819.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户b47f3***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com