论文部分内容阅读
许多涉及海量空间数据共享、交换、集成和服务的WebGIS应用系统,如:空间数据集成系统,空间信息共享服务等应用系统,它们以空间信息共享的GML数据格式传输和处理。由于GML空间数据包括大量冗余的、结构化的空间矢量数据,GML数据的传输和存储的代价都非常高。尤其在移动GIS领域,此问题尤为突出,如何有效降低数据流量已成为一个迫切需要解决的问题,有效的办法就是对GML空间数据进行压缩。虽然,普通的文本压缩算法可以压缩GML空间数据,但这些算法没有考虑GML的结构特色;而专门针对XML的一些较为成熟的压缩系统也都没有考虑GML独有的特点。
本文在XBW变换[1]和传统的文本数据压缩算法的基础上,分析并结合GML文档的结构特点,给出了一种主要应用于GML空间数据交换和存档的高压缩率的专用压缩技术:对解析后的GML数据,经过GBW变换,再采用GZip或LZMA压缩输出。具体的实施技术路线简单介绍如下:
首先,在研究了GML3.0规范,分析了GML空间数据的特征、GML模式及GML建模规则后,又进一步深入研究了GML文档解析方法DOM、SAX和VTD—XML。对三者比较后,选择开源码的VTD—XML作为解析技术,设计了GML空间数据解析引擎,它可高效的识别出GML中空间数据和结构数据结构。
然后,详细分析XBW变换的原理及其作用,在此基础上改进和扩充为GBW变换,并且用于GML空间数据压缩。GBW变换主要解决了XBW变换不支持字符串和属性问题,并且加了字典替换和空间数据压缩、改进了其中的排序算法;从逻辑角度而言,它很容易地将相同路径的数据相邻存放,从而提高压缩效率。
最后,在上述理论和方法研究的基础上,实现了本文提出的压缩方法。实验从压缩率、压缩时间和解压缩时间三个因素,分别与目前开源的通用压缩算法对比,实验证明了该压缩技术的优越性。