【技术实现步骤摘要】
一种基于连续内存的地理要素高效访问方法
本专利技术涉及数据访问
,具体为一种基于连续内存的地理要素高效访问方法。
技术介绍
随着地理信息采集技术的发展,地理数据的规模不断扩大,要求GIS算法能够快速访问较大规模的数据,地理要素数据作为一种重要的地理信息类型,在国土、地质、水文等领域起到关键作用,这些应用迫切需要提高地理要素数据访问的效率。当前地理要素数据的主流访问方法是通过OGR、ArcEngine等面向对象的程序库,这些访问库的特点是将地理要素及其组成拆散成多层、多个小的对象,在内存分散存储,这些对象的创建和删除为数据访问带来了很高的负荷,影响了地理要素数据访问的性能,对地理要素简单遍历的时间甚至数倍于从外存读取数据文件的时间。当前基于连续内存的要素格式包括WKB、FlatGeoBuf等,这些格式主要面向外存存储,常常采用与内存不同的大小端,需要额外的序列化/反序列化开销,同时,由于这些格式通常采用非常紧凑的存储空间排布,访问程序往往需要从空间开始进行线性读取,不能支持有效的并行访问。在实际使用中,这些基于连 ...
【技术保护点】
1.一种基于连续内存的地理要素高效访问方法,其特征在于:包括如下步骤:/n步骤1:建立内存组织模型,在内存单元上,使用8字节的连续单位,因为相等大小的内存更容易跳转,并使随机访问成为可能。为了简化存储,参考Shapfile的方式,不区分多线(MultiLineString)与多面(MultiPolygon),形成的四种要素类型的内存结构;/n每个要素头部为id,尾部设置一个终结符,方便从任何位置开始遍历余下的要素;/n中间部分分为索引区与数据区,数据区连续存储点坐标,取用时可以直接按照双精度浮点数批量读取;索引区存储坐标的结构关系,取用时按64位整型读取;/n索引区可包含多 ...
【技术特征摘要】
1.一种基于连续内存的地理要素高效访问方法,其特征在于:包括如下步骤:
步骤1:建立内存组织模型,在内存单元上,使用8字节的连续单位,因为相等大小的内存更容易跳转,并使随机访问成为可能。为了简化存储,参考Shapfile的方式,不区分多线(MultiLineString)与多面(MultiPolygon),形成的四种要素类型的内存结构;
每个要素头部为id,尾部设置一个终结符,方便从任何位置开始遍历余下的要素;
中间部分分为索引区与数据区,数据区连续存储点坐标,取用时可以直接按照双精度浮点数批量读取;索引区存储坐标的结构关系,取用时按64位整型读取;
索引区可包含多层,面要素具有两层索引,第一层的值指示第二层的位置,面要素的第二层与线要素、多点要素的第一层索引指示数据区的位置,点要素没有索引区;
索引区末尾冗余存放下一级索引区的长度(面要素)或点的总数,方便直接读取要素的概况而无需遍历,也使得第n+1个索引值减去第n个索引值具有一致的语义,即第n个结构单元的长度;
步骤2:设置软件结构
(1)外部访问层,以尽可能快的速度将外部文件数据按照定义的格式装入内存;
(2)内存容器层,内存容器层为读取的内容提供弹性、经济、高效的内存管理工具,设计可自动调整大小的大内存池来存储所有要素数据;
(3)要素访问层,要素访问层为内存容器中的要素...
【专利技术属性】
技术研发人员:杨岸然,贾庆仁,陈荦,熊伟,钟志农,景宁,
申请(专利权)人:中国人民解放军国防科技大学,
类型:发明
国别省市:湖南;43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。