[发明专利]高速读写Shapfile中的矢量要素的方法和装置有效
申请号: | 201911206894.9 | 申请日: | 2019-11-29 |
公开(公告)号: | CN110928910B | 公开(公告)日: | 2021-08-17 |
发明(设计)人: | 许家俊;石智峰;裴志远;胡华浪;刘海启;赵春梅;陶双华 | 申请(专利权)人: | 农业农村部规划设计研究院 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/22;G06F16/29 |
代理公司: | 北京三聚阳光知识产权代理有限公司 11250 | 代理人: | 李博洋 |
地址: | 100125 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 高速 读写 shapfile 中的 矢量 要素 方法 装置 | ||
本发明提供一种高速读写Shapfile中的矢量要素的方法和装置,其中,该方法包括:建立数据缓冲区,数据缓冲区中包括:用以存储矢量要素的多个存储空间,及用以指示存储空间地址的指针;将待读取的Shapfile中的矢量要素依次写入存储空间中;指针始终指向首个未存储矢量要素的存储空间;根据数据缓冲区读取矢量要素;根据矢量要素建立空间索引文件;根据矢量要素的数据范围建立空间网格,其中,空间网格包括多个子网格;根据子网格建立要素偏移属性表,要素偏移属性表包括用以表征矢量要素在空间索引文件中的位置的要素偏移量;将空间索引文件、空间网格和要素偏移属性表进行打包存储。通过这种方法读取Shapfile中的矢量要素时,效率更高,且占用内存较低。
技术领域
本发明涉及地理信息处理技术领域,具体涉及一种高速读写Shapfile中的矢量要素的方法和装置。
背景技术
农业农村部粮食生产功能区和重要农产品生产保护区调查建库技术规程、数据库规范、建库指南和汇交办法已经颁布实施,在实际操作过程中,为了有效规范数据库成果的内容形式,并且有效检查成果对于规范的符合性,需要对粮食生产功能区和重要农产品生产保护区划定成果进行质量检查。在检查过程中,其中一项是对地理数据进行检查,因此首先需要将地理要素从数据成果中进行提取。地理要素作为矢量要素中的一种,通常存储于Shapfile中,但是现有技术中对Shapfile中的矢量要素的读取速度较慢,从而间接导致了对地理数据检查的速度较慢。
发明内容
因此,本发明要解决的技术问题在于克服现有技术中的Shapfile中的矢量要素的读取速度较慢的缺陷,从而提供一种高速读写Shapfile中的矢量要素的方法和装置。
本发明第一方面提供一种高速读写Shapfile中的矢量要素的方法,包括:建立数据缓冲区,数据缓冲区中包括:用以存储矢量要素的多个存储空间,及用以指示存储空间地址的指针;将待读取的Shapfile中的矢量要素依次写入存储空间中;指针始终指向首个未存储矢量要素的存储空间;根据数据缓冲区读取矢量要素;根据矢量要素建立空间索引文件;根据矢量要素的数据范围建立空间网格,其中,空间网格包括多个子网格;根据子网格建立要素偏移属性表,要素偏移属性表包括用以表征矢量要素在空间索引文件中的位置的要素偏移量;将空间索引文件、空间网格和要素偏移量进行打包存储。
可选地,根据矢量要素的数据范围建立空间网格的步骤,包括:根据矢量要素的数据的范围建立矢量地图;根据数据的范围将矢量地图划分为第一预设尺寸的多个第一子网格,将各第一子网格划分为第二预设尺寸的子网格;将矢量要素映射至子网格中。
可选地,根据数据的范围将矢量地图划分为第一预设尺寸的多个第一子网格的步骤之后,将各第一子网格划分为第二预设尺寸的子网格的步骤之前,还包括:为每个第一子网格建立第一网格属性表,第一网格属性表用于记录每个第一子网格的四至范围。
可选地,将各第一子网格划分为第二预设尺寸的子网格的步骤之后,所述将矢量要素映射至子网格中的步骤之前,还包括:为每个子网格建立第二网格属性表,第二网格属性表用于记录每个子网格的四至范围。
可选地,高速读写Shapfile中的矢量要素的方法,还包括:分别为第一子网格和子网格建立第三预设尺寸的缓冲区。
本发明第二方面提供一种矢高速读写Shapfile中的矢量要素的装置,包括:数据缓冲区建立模块,用于建立数据缓冲区,数据缓冲区中包括:用以存储矢量要素的多个存储空间,及用以指示存储空间地址的指针;矢量要素提取模块,用于将待读取的Shapfile中的矢量要素依次写入存储空间中;指针始终指向首个未存储矢量要素的存储空间;矢量要素读取模块,用于根据数据缓冲区读取矢量要素;空间索引文件建立模块,用于根据矢量要素建立空间索引文件;空间网格建立模块,用于根据矢量要素的数据范围为文件建立空间网格,其中,空间网格包括多个子网格;要素偏移属性表建立模块,用于根据子网格建立要素偏移属性表,要素偏移属性表用以表征矢量要素在索引文件中的位置的要素偏移量;存储模块,用于将空间索引文件和空间网格进行打包存储。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于农业农村部规划设计研究院,未经农业农村部规划设计研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911206894.9/2.html,转载请声明来源钻瓜专利网。