基于SVG的轻量级WebGIS研究

基于SVG的轻量级WebGIS研究

论文摘要

本文开发了一个基于SVG原型系统,研究并提供一个具有空间分析功能的轻量级WebGIS解决方案。论文采用面向对象的设计方法,在参考OGC(Open Geospatial Consortium)简单对象模型的基础上,构建基于SVG的对象模型,采用面向对象数据库DB4O作为后台数据服务器上的数据“缓存”,避免了传统GIS应用中,对象模型与关系数据库的“阻抗失配”矛盾。论文通过客户端脚本语言JavaScript调用SVG的DOM接口,实现了地图放大、缩小、漫游、属性查询、测距、复位等GIS基本功能。这些基本功能在客户端实现,用户与系统交互速度快,服务器负担较轻,克服了一般“服务器策略”WebGIS系统响应速度受制于网络带宽、服务器负担比较重的缺点。论文采用了Ajax的异步刷新机制,可以选择性的动态加载数据,节约了网络带宽,弥补了一般SVG应用系统数据加载耗时过长的缺点。在此基础之上,用户通过XMLHttpRequest向服务器发送空间分析请求,服务器解算后返回数据到客户端,再通过JavaScript解析返回结果,并只刷新发生变化的地图部分,使用户感受到Web程序的“桌面应用程序”的效果。论文基于轻量级的JavaEE架构,采用MVC模式实现逻辑层和表现层的分离,并以Java Servlet作为MVC模式的控制器。GIS应用服务器的空间解算使用JTS(Java Topology Suite)作为底层几何拓扑关系解算库,实现了缓冲区分析和两种模式的空间查询。这些空间分析功能的实现,弥补了一般SVG应用系统缺乏GIS空间分析的缺点,提升了SVG解决复杂问题的能力。论文原型系统由于是基于开源和免费的技术(其中DB4O、JTS、TomCat为开源产品,Java为免费产品)实现的,这样不但构建系统的软件成本较低廉,而且系统的维护和扩展都具有很好的保证,同时也不会受制于某一个厂家。研究表明,基于SVG显示矢量地图,结合Ajax、JTS、DB4O、Java Servlet及轻量级JavaEE构建的WebGIS,具有交互快、低成本、功能强大、平台开放、容易维护等优点,是轻量级WebGIS应用领域的一个具有实用价值的可选方案。

论文目录

  • 摘要
  • Abstract
  • 第1章 引言
  • 1.1 课题研究背景
  • 1.2 国内外研究现状
  • 1.2.1 WebGIS 的研究现状
  • 1.2.2 基于SVG 的WebGIS 的研究现状
  • 1.3 论文研究的内容和方法
  • 1.3.1 论文研究的主要内容
  • 1.3.2 论文研究的方法
  • 1.4 论文研究的目的和意义
  • 1.4.1 论文研究的目的
  • 1.4.2 论文研究的意义
  • 1.5 论文结构安排
  • 第2章 基于SVG 的WEBGIS 概述
  • 2.1 SVG 简介
  • 2.1.1 什么是SVG
  • 2.1.2 SVG 规范的提出
  • 2.1.3 SVG 的特征
  • 2.2 SVG 引入WEBGIS 的可能性
  • 2.3 WEBGIS 实现策略
  • 2.3.1 基于“富服务器”模式
  • 2.3.2 基于“富客户端”模式
  • 2.3.3 类“富客户端”的“客户端-服务器平衡”模式
  • 2.3.4 基于SVG 的“客户端-服务器平衡”模式
  • 2.4 一般基于SVG 的WEBGIS
  • 2.5 基于JTS、DB4O、SERVLET、AJAX 的SVG WEBGIS
  • 2.6 本章小结
  • 第3章 面向对象数据库在SVG WEBGIS 中的应用
  • 3.1 面向对象的GIS 数据模型简介
  • 3.1.1 什么是面向对象
  • 3.1.2 面向对象的核心技术
  • 3.1.3 面向对象技术与GIS 相结合
  • 3.1.4 复杂GIS 对象数据模型简介
  • 3.1.5 当前面向对象GIS 数据模型的“遗憾”
  • 3.2 “对象”与“关系”之间的矛盾:“阻抗失配”效应
  • 3.2.1 “对象”与“关系”模型的区别
  • 3.2.2 解决“阻抗失配”的解决方案
  • 3.3 面向对象数据库简介
  • 3.3.1 什么是面向对象数据库
  • 3.3.2 面向对象数据库的优点
  • 3.3.3 开源OODB DB4O 简介
  • 3.4 DB4O 应用到GIS 的可行性分析
  • 3.4.1 传统OODB 在GIS 应用惨淡的原因
  • 3.4.2 DB4O 与传统OODB 的区别
  • 3.4.3 DB4O 在SVG WebGIS 中应用的可行性
  • 3.4.4 DB4O 在WebGIS 应用的局限性
  • 3.5 SVG WEBGIS 面向对象数据建模
  • 3.5.1 基于OGC 的数据建模
  • 3.5.2 空间对象模型到Java 的映射
  • 3.6 基于DB4O 的SVG WEBGIS 的工作模式
  • 3.6.1 基于DB4O 的SVG WebGIS 系统架构
  • 3.6.2 “数据库服务器管理工具”实现
  • 3.6.3 C/S 架构“数据库导入程序”的实现
  • 3.6.4 Web Server 基于Java Servlet 对DB4O 的应用
  • 3.7 本章小结
  • 第4章 SVG WEBGIS 基本功能的实现
  • 4.1 基本功能实现的关键技术
  • 4.1.1 HTML 和XHTML
  • 4.1.2 CSS(Cascading Style Sheets)
  • 4.1.3 客户端脚本语言JavaScript
  • 4.1.4 DOM 技术简介
  • 4.1.5 SVG DOM 常用属性和方法介绍
  • 4.2 基于VIEWBOX 、VIEWPORT 中心缩放和漫游
  • 4.2.1 viewBox 与viewPort 简介
  • 4.2.2 中心缩放
  • 4.2.3 地图漫游
  • 4.3 图层控制
  • 4.4 属性查询
  • 4.5 测距尺
  • 4.6 本章小结
  • 第5章 SVG WEBGIS 高级功能的实现
  • 5.1 高级功能实现关键技术
  • 5.1.1 Ajax
  • 5.1.2 Servlet
  • 5.1.3 轻量级的Java EE 架构
  • 5.1.4 JTS Topology Suite
  • 5.2 基于AJAX、SERVLET、DB4O 的SVG 数据动态加载
  • 5.2.1 动态加载的工作流程
  • 5.2.2 动态加载程序实现的关键代码
  • 5.2.3 动态加载的优点
  • 5.3 缓冲区分析
  • 5.3.1 什么是“缓冲区分析”
  • 5.3.2 缓冲区分析的工作流程
  • 5.3.3 缓冲区分析实现的关键代码
  • 5.4 空间查询
  • 5.4.1 什么是空间查询
  • 5.4.2 空间查询的工作流程
  • 5.4.3 空间查询程序实现的关键代码
  • 5.5 本章小结
  • 第6章 原型系统的实现
  • 6.1 系统运行环境和开发工具
  • 6.1.1 系统运行环境
  • 6.1.2 系统开发环境
  • 6.2 原型系统实现的功能结构
  • 6.3 原型系统B/S 架构部分功能展示
  • 6.3.1 WebGIS 的基本功能
  • 6.3.2 WebGIS 高级功能实现
  • 6.4 原型系统 C/S 架构部分
  • 6.4.1 数据库服务器管理程序
  • 6.4.2 数据库数据入库程序
  • 6.5 本章小结
  • 第7章 结论与展望
  • 7.1 主要结论
  • 7.2 需要进一步开展的工作
  • 参考文献
  • 致谢
  • 个人简历、在学期间发表的学术论文与研究成果
  • 相关论文文献

    标签:;  ;  ;  

    基于SVG的轻量级WebGIS研究
    下载Doc文档

    猜你喜欢