论文部分内容阅读
KML(KeyholeMarkupLanguage,2008年4月正式成为OGC规范)最初是由地理可视化公司Keyhole(2004年被GOOGLE收购)开发的,它是一种XML语法格式的语言,可用于保存点、线、图像、多边形或3D模型等特定的地理信息。KML凭借表达地理信息的便捷性和面向Web应用的特性,近年来逐渐受到了大家的青睐,大量KML文档快速涌现。这些数据可以用于Web地理搜索和空间数据位置挖掘等新型应用。随着数据量的不断增多,而关于KML文档的元数据信息严重缺失,人们需要花大量的时间筛选或不断地改变搜索条件才能找到真正需要的数据资源。因此开展KML数据集中管理的研究显得十分必要。
KML是基于XML的空间数据编码语言,它的半结构化特性决定了传统的关系型数据库并不适合KML数据的存储。较之于GML,KML特有的地理实体组织方式及基于网络应用的特性,都决定了KML的存储绝不能只是简单地照搬现有的XML和GML存储技术。很多学者在XML和GML的存储方面都做了大量的工作,但是目前却没有专门面向KML本原存储的研究。本文在研究XML和GML存储、索引、查询技术的基础上,结合KML文档表达空间地物的特点,通过分析对比常用的空间数据存储及索引方法,从KML数据管理、KML自身特性、KML在各种Web服务中的作用,以及满足用户需求的KML数据实时获取等角度出发,做了以下研究工作:
(1)从半结构化数据的存储粒度、元素结点编码方案及数据的物理存储模式出发,在保持KML文档自身数据结构的基础上,屏蔽底层具体的存储细节,进行适当的结点粒度划分,设计了NKDB(NativeKMLDatabase)存储策略及存储方法。
(2)设计了NKDB的索引机制。结合KML组织和表达地理信息的特点及NGDB的索引体系,设计符合NativeGMLDB软件系统的存储规范和查询规范的KML索引方法。
(3)在NativeGMLDB软件体系框架下对论文的设计进行了原型系统实现,通过实验对存储、内容查询及文档重构设计的可行性进行了验证。