一种无冗余的大规模地形数据组织方法和读取方法技术

技术编号:6309941 阅读:254 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种大规模地形数据无冗余的组织方法以及读取方法,其特征在于:先对原始地形数据进行均匀分块,并构建文件RowFile、文件ColFile来存储地形分块间公共边的顶点,最后构建地形子块文件存储该块的内部顶点。本发明专利技术对地形子块产生冗余的区域进行单独的存储,不同地形子块共享冗余区域,该方法消除了数据冗余,很好地解决了存储空间浪费过大的问题,是一种适合大规模地形数据组织存储的方法。

【技术实现步骤摘要】

本专利技术涉及一种数据的组织和读取方法,属于信息数据存储领域,具体涉及一种 针对大规模地形数据无冗余的组织方法和读取方法。
技术介绍
随着“数字地球”概念的提出,以及航拍技术的发展,地形可视化领域可获得的原 始地形数据规模逐渐增大,待处理的地形数据规模已达到TB级别。如此巨大的数据不可能 全部载入内存,因此必须存储在外存上,待需要时再载入部分数据进入内存参与绘制。这就 是常用的out-of-core技术。Out-of-core技术中最重要的就是将原始地形数据合理的划分并存储在外存上。 目前国内外主流的大规模地形数据组织方法分为两步1、先将原始地形划分成若干规模较小的地形子块;2、再对地形子块进行多分辨率组织,将组织好的多分辨率地形数据存储在外存 上。第一、原始地形划分方法主要是使用均勻分块方法,即将原始地形划分成大小相 同的子块。例如赵友兵等人将4097X2049的地形按矩形网格平均分为128X64个小块,每 块大小为33X33(赵友兵、石教英、周骥等,一种大规模地形的快速漫游算法.计算机辅助 设计与图形学学报,2002,14(7) :624-628.)。这种方法简单有效的将大地形划分成大小相 同的子块,子块作为数据调度的基本单位。然而一般的地形块划分方法,不可避免的会在地形块边缘处产生顶点冗余,如图1 所示。第二、对子块进行多分辨率组织则主要使用金字塔模型,即按一定的方法将地形 剖分成不同的分辨率层次,地形数据按层次进行存储,最常用的剖分层次的方法是使用四 叉树剖分。例如戴晨光等人就使用了瓦片金字塔来组织地形多分辨率数据(戴晨光,张永 生,邓雪清.一种用于实时可视化的海量地形数据组织与管理方法.系统仿真学报,2005, 17(2) :406-409.)。虽然使用金字塔模型能够很好的将地形子块剖分成不同分辨率的层次 数据,但是这种方法普遍存在数据冗余过大,以牺牲外存存储空间来换取处理时间的弊端。其中专利号200710051621. 2,“一种基于对象存储的地形数据存储方法” 的中国专利,是将地形数据及其属性数据组织成地形存储对象存储在基于对象存储系统 中,相邻或相近地形数据瓦片的地形存储对象分布于基于对象存储系统内的不同基于对象 存储设备。由于该方案是按金字塔分层方式存储的,层间仍然会产生冗余。因此冗余成为了一种技术缺陷,尤其是在存储大规模数据时更为突出,属于影响 数据存储的一种弊端,故需要解决这种的缺陷。
技术实现思路
本专利技术所要解决的技术问题是提供一种无冗余的大规模地形数据组织方法以及读取方法,该方法对地形子块产生冗余的区域进行单独存储,不同地形子块共享冗余区域, 针对现有技术中数据存储时出现冗余的缺陷,解决存储空间浪费过大的问题。本专利技术所提出的技术问题是这样解决的构造一种无冗余的大规模地形数据组织 方法,其特征在于(1)、先对原始地形数据进行均勻分块;(2)、构建文件RowFile、文件ColFile来存储地形子块公共边的顶点;(3)、对每个地形子块的内部顶点数据构建文件单独存储。根据本专利技术所述的一种无冗余的大规模地形数据组织方法,其特征在于文件 RowFile是按行来存储公共边的顶点。根据本专利技术所述的一种无冗余的大规模地形数据组织方法,其特征在于文件 ColFile是按列来存储公共边的顶点。根据本专利技术所述的一种无冗余的大规模地形数据组织方法,其特征在于按照如 下方式分块其中原始大地形的分辨率为M*N,其中M*N满足(2m+l)*(2n+l);平均分块的 地形子块的分辨率为K*K,即(2让+1)*(21^+1),其中1<1^<1^11(111,11);分块数目为P*Q块, 其中 P*Q 满足为((M-I) / (K-I)) * ((N-I) / (K-I))。根据以上所述的一种无冗余的大规模地形数据组织方法,其特征在于对于M*N 的原始大地形,平均分块大小为K*K,分块数目为P*Q块,其中文件RowFlie —共存放了 Q+1行边界数据;它的顶点编号规则为顶点编号 从序号ο开始;从第O到M-I的顶点是第O行边界,而从M到2M-1的顶点为第1行边界,以 此类推,故第η行的边界是从n*M到(n+l)*M-l的顶点(O彡η彡Q)。在行边界文件中,从 它存放的某个地形子块的第一个行边界点开始的K个连续的顶点组成该地形子块的行边界。其中文件ColFile—共存放了 Ρ+1列边界数据,它的顶点编号规则为顶点编号从 序号O开始;从第O到Q*(K-2)-l的顶点为地形第O列边界,而从Q*(K-2)到2Q*(K_2)_1 的顶点为第1列边界,以此类推,故第η列边界是从n*Q*K*(K-2)到(n+1) *Q*K* (K_2)-1的 顶点(0<η<Ρ)。在列边界文件中,从它存放的某个地形子块的第一个列边界点开始的 K-2个连续的顶点组成该地形子块的列边界。本专利技术还包括一种无冗余的大规模地形数据的读取方法,其特征在于始大地形 的分辨率为M*N,其中M*N满足(2m+l)*(2n+l);平均分块的地形子块的分辨率为K*K,即 (2k+l)*(2k+l),其中 1 < k^min(m, η);分块数目为 P*Q 块,其中 P*Q 满足为((M-I)/ (K-I)) * ((N-I) / (K-I));对于第X块,它处在第X/P行,第P列,其中X/P为向下取整除 法,X% P为取余操作;它的上边界起始顶点在RowFile中的编号为(X/P)*M+(X% P)*(K-I);下边界起 始顶点在RowFile中的编号为(X/P+1)*M+(X% P)*(K-I);左边界起始顶点在ColFile中 的编号为(X% P)*Q*(K-2) + (X/P)*(K-2);右边界起始顶点在ColFile中的编号为(X% P+l)*Q*(K-2) + (Χ/Ρ)* (K-2)。本专利技术的有益效果为本专利将地形子块的公共边顶点单独存储,通过将地形子 块与公共边顶点组合的形式还原地形子块数据。地形子块与公共边之间的关系由地形子块 的编号和公共边文件中的顶点编号对应起来,查找非常方便。该方法存储数据基于顶点,因此完全没有数据冗余,克服了现有技术中的关于冗余的缺陷。当绘制多分辨地形块数据时, 可以在内存中构建一个索引结构,记录每个分辨率层次所包含的顶点,按照索引结构将相 应分辨率的顶点载入内存即可完成多分辨率地形绘制。所以使用本专利的方法不仅消除了 外存存储数据上的冗余,而且仍然可以实现多分辨率绘制的要求,因此本专利成功给出了 一种较理想的大规模地形数据组织和读取方法。附图说明图1是现有技术中数据冗余存储的结构示意2是对原始全分辨率地形的分块的示意3是本专利技术无冗余的数据存储结构的示意4是一种关于5*5的地形数据的采样点示意4a是数据使用三角形扇方式时的第0层存储的数据的示意4b是数据使用三角形扇方式时的第1层存储的数据的示意5a是数据使用三角形方式时的第0层存储的数据的示意5b是数据使用三角形扇方式时的第1层存储的数据的示意图。具体实施例方式下面结合附图对本专利技术做进一步的说明。图1是一种现有技术的数据存储的结构示意图,其中相邻地形子块边缘处表示的 是会产生冗余的顶点。如图2所示,是对原始全分辨率为17*17的地形分本文档来自技高网
...

【技术保护点】
一种无冗余的大规模地形数据组织方法,其特征在于,按照下列方式进行:(1)、先对原始地形数据进行均匀分块;(2)、构建文件RowFile、文件ColFile存储地形子块公共边的顶点;(3)、对每个地形子块的内部顶点数据构建文件单独存储。

【技术特征摘要】

【专利技术属性】
技术研发人员:邱航陈雷霆蔡洪斌赵庆李德政曹跃何明耘
申请(专利权)人:电子科技大学
类型:发明
国别省市:90[中国|成都]

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

1