基于SVG的网络地图浏览器的设计与实现
【摘要】:地图浏览器是Web GIS的客户端核心软件,广泛应用于地理空间信息的发布、浏览和查询。
SVG(Scalable Vector Graphics,可缩放矢量图形)是一种基于互联网第二代交互语言XML(Extensible Markup Language,可扩展标记语言)的开放标准的矢量图形描述语言。SVG能够彻底满足Web开发者对动态、可缩放和与平台无关的矢量图形的要求,是解决目前网络带宽严重不足的一种有效的解决方案,对地学工作者来说无疑给空间数据的发布、交换、表达带来了极大的便利。
Java是一种分布式的,具有跨平台特性的程序设计语言,具有很多面向网络应用的优良特性。Batik是Apache组织开发项目里最重要的SVG开放源代码软件计划之一,是一个基于Java技术的SVG工具集,适用于可缩放矢量图形(SVG)格式的各种应用。通过Batik提供的核心模块,开发人员可以在其应用程序中集成SVG的各种应用。在本文撰写过程中,作者利用Java语言结合Batik核心模块开发了专用于SVG地图数据发布的地图浏览器,并实现了地图浏览器的基本功能,如地图的缩放、漫游、属性查询和图层控制等,为进一步开发基于SVG的网络地理信息系统进行了有益的尝试。
本文首先分析了SVG的技术特点和文档结构;然后根据空间数据的地理实体模型,采用层和层组的数据组织方式,运用SVG对地理空间数据进行了编码,并介绍了SVG矢量地图制作与编码的一般过程;接下来阐述了Java语言和Batik的设计思想,并介绍了利用Jbuilder可视化Java开发工具进行编程的方法;最后阐述了浏览器的设计思想和关键技术,诸如:界面设计、功能设计、模块和类、接口设计模型,并利用面向对象的方法,从静态和动态方面分析了浏览器的部件结构、运行状态和事件交互过程,并给出了一些关键性程序代码。