当前位置: 首页 > 专利查询>同济大学专利>正文

一种高性能GML流压缩方法技术

技术编号:3970652 阅读:408 留言:0更新日期:2012-04-11 18:40
本发明专利技术属于信息技术中的空间信息获取与处理技术领域,具体是一种GML流压缩方法—GSPress。它在只扫描GML文档一次且不利用GML文件的模式或DTD的情况下,将GML文档的结构和数据分离后分别进行压缩。对于GML文档中的结构部分采用自适应LZ77方法进行压缩;对于文档中的坐标数据则利用增量压缩的方法进行处理。实验结果表明,GSPress可以在压缩性能和压缩效率两个方面上取得较好的权衡,是一种高效的GML流压缩算法。

【技术实现步骤摘要】

本专利技术属于信息技术中的空间信息获取与处理
,具体涉及在Internet 环境下GIS空间信息数据流的压缩方法。
技术介绍
地理信息系统(简称GIS)近年来正成为越来越多的信息系统的支撑平台。随着 Internet的迅速发展和Web的广泛使用,GIS已经由专业人员使用的集中式系统逐步向分 布式、网络化的海量信息系统演变。而近年来移动Internet的快速出现和手机用户的飞速 增长,给移动空间信息服务带来了新的机遇。GIS、GPS、RS、移动Internet和移动设备(手 机、PDA等)的结合将使得人们可以利用手机或其它移动个人设备在任何时间、任何地点访 问任何空间信息。然而,要实现这一目标,现有空间信息处理方法与技术还面临着不少挑 战1)现有的GIS系统多是孤立、自主、异构的集中式GIS系统,它们的采用数据格式 和数据模型可能不同,开发工具与环境或者平台都可能不同,所以要对这些GIS系统进行 集成以实现空间信息的共享和GIS的互操作并不容易。2)在地理信息的表现方面,现有Web GIS要么在服务器端生成地图,再传到客户 端进行显示;要么先把地理信息传到客户端,然后由客户端程序(Applet或ActiveX)显示。 前一种方法效率低,服务器和网络负担重;后一种方法所用的技术和客户端设备有关。在目 前的移动网络环境下,客户端设备包括手机、PDA、车载计算机、笔记本电脑和台式计算机等 等。它们的处理能力、显示能力和通信能力都各不相同,现有技术很难同时适应各种不同的 客户端设备条件。为了改变当前GIS应用与其内部数据模型及数据格式紧密捆绑的现状,开放地 理信息系统组织(Open GIS Consortium, 0GC)推出基于XML的地理标记语言(Geography MarkupLanguage,GML)。GML以XML的格式来对区域、位置、内容信息进行编码,将内容和表 现形式分离。用GML来组织和表达数据,是实现地理空间数据的标准化、结构化和实现地理 信息系统的互操作的必由之路。目前GML得到了 Oracle,SQL Server等主流数据库以及 Maplnfo等重要的GIS软件厂商的大力支持,并已成为空间信息的标准表示与交换格式。参 考文献由于GML是一种自描述的、与编程语言和运行平台无关的空间信息表达与交换标 准语言,这就为空间信息的集成与共享以及实现GIS互操作提供了一种潜在的简单、灵活 的技术途径。用GML可以比较容易地构建面向对象的数据模型,可以清楚地表示地物对象 的属性信息和几何信息,可以简洁地描述地物之间的拓扑关系。GML的出现,解决了空间数 据格式不一致的问题,顺应了空间信息共享发展的要求,也符合当前所提出的语义Web要 求提供包含结构和语义的数据,使地理信息的相互交换变得更加容易。然而,GML迅猛发展 的同时也带来了 GML数据管理的问题,特别是GML的存储和传输问题。首先GML文档存在很大的冗余,它的冗余主要来自那些大量表示结构信息的重复标签、描述地物特征的各种属性及属性值等。近年来,由于地理信息系统的发展与普及,GML 文档数量随之增加,GML文档越来越大,文档内部冗余信息也越来越多,这就增加Web上数 据处理、数据存储和数据交换的代价。其次,GML文档中含有大量的浮点坐标数据、空间关系拓扑数据和时间序列数据。 由于地理定位的精度要求比较高,浮点坐标数据的数值一般精确到小数点后6 8位,时间 序列数据也精确到秒,而这些时间和空间数据都被当作一个文本串存储在GML文档中,这 样就非常浪费存储空间。由于GML这种天生的结构冗余、包含的数据量大,以及整个文档的纯文本表示,从 而造成了 GML文档的容量非常庞大。这些庞大的GML文档在存储时将占用大量的磁盘空间, 在用于传输时也将占用更多的带宽。为了解决由于GML文档数据量大而给网络传输带来的 负担,本专利技术设计了一种GML流压缩方法以保证GML数据在网络上的平稳传输。
技术实现思路
针对以上问题,本专利技术提出一种高效的GML流压缩方法,来提高GML数据传输效率。本专利技术提出的GML流压缩方法,具体步骤如下(1)对于给定的GML文件,首先利用SAX解析GML文档,解析结果是一系列事件标 记,根据不同的解析结果得到4个不同的数据流结构数据流、属性数据流、坐标数据流和 文本数据流。(2)然后针对不同的数据流采用不同的压缩算法对于结构数据流,采用自适应的基于词的LZ77算法进行压缩,即在压缩算法中对 结构数据利用自适应方法建立压缩字典,压缩字典初始化为空,遇到新的标签则放入字典, 在输出流中输出字符值;遇到出现过的标签则先缓存它,继续读取下一个标签,如果此标签 和缓存组成的集合不在字典中或者此标签为新出现的话,则输出缓存中标签集合在字典中 的索引,将此标签放入缓存。对于属性数据流,采用字符串搜索法进行压缩,即尝试寻找相邻属性间的最大的 公共子字符串(LCS)。如果此字符串存在,赋予它一个索引值,我们就可以利用相应的索引 值代替这个公共子字符串;如果不存在,则不进行替换,保留原值。此方法对于GML文档的 属性值,利用相同标签下相同属性值之间的相关性,取得属性和第一次遇到的属性间的最 大公共子字符串,将其存入字典,利用其在字典中的索引代替此字符串达到压缩的目的。对于坐标数据流和文本数据流采用增量压缩的方法进行压缩,该方法对于GML文 档中的坐标数据,利用存储相邻坐标之间的差值而不是存储原坐标值,先输出基准值,输出 其后坐标与基准坐标的差值,即输出坐标整数部分之间的差值,小数部分则保留原值。(3)利用上述不同的压缩算法进行压缩后得到不同的压缩流,然后合并成统一的 压缩流。此压缩流在网络上进行传输,在解压缩方得到压缩的数据流后同时进行解压缩,根 据数据流中的不同部分利用相对应的解压缩方法,最后组合成原始GML文件。本专利技术具有如下特点1)数据流中的数据随着时间推移而增加,系统内存中无法保留已经处理的全部数 据,所以在压缩中只能缓存部分数据;42)算法无须对数据整体进行二次扫描;3)由于数据流以网络速度进行传输,算法能够实时处理数据流。基于上述方法,本专利技术设计并且实现了一种GML流压缩器GSPress。它的设计原理 如下一、由于利用D0M技术解析GML文档需要消耗大量的内存,而且考虑到数据流是动 态的,所以GSPress先利用SAX解析GML文档,解析的结果是一系列事件标记。根据不同的 解析结果将信息输出到4种不同的数据流里结构数据流、属性数据流、坐标数据流和文本 数据流。二、对于结构数据流,由于其中存在大量相同的标签,并且数据流的总长度和各个 标签的概率是未知的,所以我们可以采用自适应的基于词的LZ77算法对其进行压缩,这样 压缩方的字典容量会随着遇到新词组个数的增加而自适应增大,出现新词组时则利用其在 字典中的索引值进行替换;选择基于词而非基于单个字符的LZ77方法是因为每一个标签 名由多个字符组成,在文档中标签名作为基本单位重复出现,所以将标签名作为字典中的 词条可以最大化字典中每一词条的代表能力从而增大压缩性能。三、由于相同标签的相同属性的属性值之间存在着相似性,虽然相似性不及标签 间的相似程度,但是我们也可以从其中找到一些规律。对于这些属性值本文档来自技高网
...

【技术保护点】
本专利技术为一种GML流压缩方法,其特征在于具体步骤如下:(1)对于给定的GML文件,首先利用SAX解析GML文档,解析结果是一系列事件标记,根据不同的解析结果得到4个不同的数据流:结构数据流、属性数据流、坐标数据流和文本数据流;(2)针对不同的数据流采用不同的压缩算法:对于结构数据流,采用自适应的基于词的LZ77算法进行压缩,即在压缩算法中对结构数据利用自适应方法建立压缩字典,压缩字典初始化为空,遇到新的标签则放入字典,在输出流中输出原值;遇到出现过的标签则先缓存它,继续读取下一个标签,如果此标签和缓存组成的集合不在字典中或者此标签为新出现的话,则输出缓存中标签集合在字典中的索引,将此标签放入缓存;对于属性数据流,尝试寻找相邻属性间的最大的公共子字符串;如果此字符串存在,也将其放入字典,利用相应的索引值代替这个最大公共子字符串;如果不存在,保留原值;此方法利用相同标签下相同属性值之间的相关性,取得属性和第一次遇到的属性间的最大公共子字符串,将其存入字典,利用其在字典中的索引代替此字符串达到压缩的目的;对于坐标数据流我们采用增量压缩的方法进行压缩,该方法对于GML文档中的坐标数据,利用存储相邻坐标之间的差值而不是存储原坐标值,向压缩数据流中输出相邻坐标整数之间的差值,输出坐标小数部分的原值;对于文本数据流,将原始值输入到压缩数据流中。(3)利用上述不同的压缩算法进行压缩后得到不同的压缩流,最后合并成统一的压缩流后利用Gzip压缩;此压缩流在网络上进行传输,在解压缩方得到压缩的数据流后同时进行解压缩,根据数据流中的不同部分利用相对应的解压缩方法,最后组合成原始GML文件。...

【技术特征摘要】

【专利技术属性】
技术研发人员:关佶红于一男周水庚朱付保
申请(专利权)人:同济大学复旦大学
类型:发明
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利