以金字塔架构存储地形影像数据的方法技术

技术编号:2919600 阅读:371 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种以瓦片金字塔架构存储地形影像数据的方法,首先确定金字塔库中各数据层的数据精度与网格数;然后获取原始数据,并确定原始数据的精度,以及地理范围;根据与原始数据精度相同的金字塔数据层的网格数,将原始数据切成瓦片;确定当前瓦片,并根据当前瓦片的地理范围,确定当前瓦片在所述与原始数据精度相同的金字塔数据层中的存储位置;从所述确定的存储位置开始,向上生成该当前瓦片所在的完全四叉树;将该当前瓦片放入所述确定的存储位置,根据该当前瓦片的数据,从该存储位置向上更新该当前瓦片所在四叉树的父结点的对应数据,直至顶层。本发明专利技术很好的解决了不同分辨率的原始数据的融合问题。

【技术实现步骤摘要】

本专利技术涉及一种数据存储方法,尤其涉及一种。
技术介绍
GIS(Geographic Information System,地理信息系统)所涉及的地理范围正在逐渐的加大,应用比较广的是城市级别范围,最大的甚至发展到全球范围。随着地理范围的扩大,其使用的数据也随之增大。海量数据的管理和应用已经成为一个制约各种应用到影像/地形数据(后文中统称为网格数据)的系统的严重瓶颈。正射影像数据一般采取分幅管理的方式,即按照一定的规则,将整个城市的数据分成若干片,并且编号,易于管理。对于一个大型城市,通常0.5米分辨率正射影像数据大约上千幅,每一幅大约在100M左右,总量大约在几百G左右。为了便于在三维引擎中使用甚至进行网络发布,通常将原始网格进行预处理。现在常用的方法是构建瓦片金字塔库存储网格数据。金字塔是一种多分辨率的层次模型。不同的层代表不同的数据精度,不同层的地理范围相同。当需要不同精度数据时,从不同的数据层提取,不必进行实时的重采样,同时减少了数据读取量。原始网格数据一般分为地形数据和正射影像数据两种。地形数据也叫作数字高程模型数据。原始数据中一般直接包含地理范围,数据精度等参数。正射影像数据一般包含配准文件,通过配准文件可以直接得到影像的地理范围,通过配准文件和影像的象素数可以计算出图幅的精度。瓦片金字塔,如图1所示,就是在金字塔中将每一层的数据切割成固定大小,提取数据的时候从相应的层获取被提取范围包围的小块数据。瓦片金字塔模型进一步减少了数据实时处理工作量,使得调用数据的算法简单,调用速度快。瓦片金字塔的这些特性对于海量地形实时可视化非常重要。目前比较成熟的应用到影像库的系统都采取这种金字塔库的构架,在预处理时,首先把原始网格数据看成是一整个影像数据,然后切割成同样尺度的数据块,例如,原始影像数据为1000×1000像素,分辨率为1米/像素,这样的100幅原始数据切割为网格数为256×256的数据块,这就要求把原始数据组合成一副大影像,然后依次读取出256×256的数据块。然后将高精度的原始数据抽稀成数据量相同的粗精度数据块。数据金字塔的每一层的数据精度并没有统一的规定,层与层之间的关系也不确定。通常在使用中根据应用的需要,会具体定义每一层的精度。例如,从底层开始到上层的精度分别为1米、2米、5米、10米每像素等。每一层的数据可以直接从原始数据提取,也可以从下层比较高的精度的数据提取。提取可以使用不同的算法,比较简单的算法是根据地理范围的高精度数据的均值生成粗精度数据的像素。如果用两个块来表示四个数据块,图2A-图2C就表示出了目前的瓦片金字塔的构建步骤。首先把原始网格数据作为金字塔的底层,即第0层,并对其进行分块,形成第0层的瓦片矩阵。在第0层的基础上,按照每2×2网格合为一个网格的方法,生成第1层瓦片矩阵。如此循环下去,形成瓦片金字塔。由此可以看出,现有的,是从底层高精度的数据往高层粗精度数据合并。生产过程是以层为单位,逐层递增的。从它的构建过程还可以看出瓦片金字塔的是一种典型的四叉树结构。这种逐层向上合并的算法比较符合金字塔的物理意义,结构比较简单清晰。但是这种方法是以层为单位来处理数据,比较适合处理大量相同精度的数据,无法处理数据精度复杂的情况。而且其中没有包含关于不同来源数据相互覆盖的信息,所以无法实现不同精度数据的融合。
技术实现思路
本专利技术所要解决的技术问题在于提供一种,以解决不同精度数据的融合问题。本专利技术提供一种以瓦片金字塔架构存储地形影像数据的方法,包括如下步骤(1)确定金字塔库中各数据层的数据精度与网格数;(2)获取原始数据,并确定原始数据的精度,以及地理范围;(3)根据与原始数据精度相同的金字塔数据层的网格数,将原始数据切成瓦片;(4)确定当前瓦片,并根据当前瓦片的地理范围,确定当前瓦片在所述与原始数据精度相同的金字塔数据层中的存储位置;(5)从所述确定的存储位置开始,向上生成该当前瓦片所在的完全四叉树;(6)将该当前瓦片放入所述确定的存储位置,根据该当前瓦片的数据,从该存储位置向上更新该当前瓦片所在四叉树的父结点的对应数据,直至顶层。其中,所述步骤(2)中,可进一步包括步骤赋予原始数据覆盖级别属性;所述步骤(5)中,在生成当前瓦片所在的完全四叉树时,如果在有效父结点的搜索路径中,发现某一级父结点或当前节点已经存在,则停止搜索,并设该搜索到的结点为挂接点;所述步骤(6),在当前瓦片进入金字塔过程中,如果所述挂接点原有数据的覆盖级别高于当前瓦片数据的覆盖级别,则该当前瓦片数据停止进入金字塔;如果所述挂接点原有数据的覆盖级别低于当前瓦片数据的覆盖级别,则当前瓦片数据进入金字塔,覆盖原有数据,并向上更新。其中,所述覆盖原有数据,并向上更新过程中,如果被覆盖的瓦片下面有子结点,则将子结点删除。其中,所述如果挂接点原有数据的覆盖级别高于当前瓦片数据的覆盖级别,则该当前瓦片数据停止进入金字塔步骤,可以进一步包括如下步骤检测原有瓦片数据中是否存在无效数据;如果存在无效数据,则在当前瓦片数据中提取相应部分的数据,以替换原有瓦片数据中的无效数据部分。其中,所述如果挂接点原有数据的覆盖级别低于当前瓦片数据的覆盖级别,则当前瓦片数据进入金字塔,覆盖原有数据步骤,可以进一步包括如下步骤检测当前瓦片数据中是否存在无效数据;如果存在无效数据,则在覆盖原有瓦片数据时,保留与当前瓦片数据的无效部分对应的数据。本专利技术提供的四叉树瓦片金字塔的构建方法,使用以瓦片四叉树为基准的构建方法代替了传统的逐层向上的构建方法,并与覆盖级别、网格掩码等技术共同作用,成为一个完善的融合多精度数据的海量瓦片金字塔构建方法。附图说明图1为用于存储网格数据的现有瓦片金字塔架构的示意图;图2A-图2C为现有的以金字塔架构存储网管数据的过程示意图;图3为根据本专利技术的实施例,以金字塔架构存储网格数据的流程示意图;图4A-图4D为根据本专利技术的实施例所述的基于四叉树的金字塔构建方式示意图;图5A-图5C为根据本专利技术的实施例所述的基于四叉树的金字塔构建方式中的不同情况的示意图;图6为根据本专利技术的实施例所述的使用覆盖级别来融合不同精度的原始数据的情况示意图。具体实施例方式如图3所示,为根据本专利技术的实施例,以金字塔架构存储网格数据的流程示意图。首先,确定金字塔库中各数据层的数据精度与网格数(步骤301);然后获取原始数据,并确定原始数据的精度,以及地理范围(步骤302);根据与原始数据精度相同的金字塔数据层的网格数,将原始数据切成瓦片(步骤303);确定当前瓦片,并根据当前瓦片的地理范围,确定当前瓦片在所述与原始数据精度相同的金字塔数据层中的存储位置(步骤304);从所述确定的存储位置开始,向上生成该当前瓦片所在的完全四叉树(步骤305);将该当前瓦片放入所述确定的存储位置,并设置该位置为叶子结点(步骤306);根据该当前瓦片的数据,从该叶子结点向上更新该当前瓦片所在四叉树的父结点的对应数据,直至顶层(步骤307)。本专利技术所述的基于四叉树的金字塔构建方式,与现有技术的最大不同之处是不再是对金字塔的层,整体从下到上的更新,而是以原始数据为基础的更新方法。简单来说就是每一幅原始数据存储入到金字塔中时,金字塔中所有层和原始数据地理范围相同的数据都会本文档来自技高网
...

【技术保护点】
一种以瓦片金字塔架构存储地形影像数据的方法,其特征在于,包括如下步骤:(1)确定金字塔库中各数据层的数据精度与网格数;(2)获取原始数据,并确定原始数据的精度,以及地理范围;(3)根据与原始数据精度相同的金字塔数据层 的网格数,将原始数据切成瓦片;(4)确定当前瓦片,并根据当前瓦片的地理范围,确定当前瓦片在所述与原始数据精度相同的金字塔数据层中的存储位置;(5)从所述确定的存储位置开始,向上生成该当前瓦片所在的完全四叉树;(6)将 该当前瓦片放入所述确定的存储位置,根据该当前瓦片的数据,从该存储位置向上更新该当前瓦片所在四叉树的父结点的对应数据,直至顶层。

【技术特征摘要】

【专利技术属性】
技术研发人员:孙庆文
申请(专利权)人:北京灵图软件技术有限公司
类型:发明
国别省市:11[中国|北京]

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

1