CN110928910B - 高速读写Shapfile中的矢量要素的方法和装置 - Google Patents

高速读写Shapfile中的矢量要素的方法和装置 Download PDF

Info

Publication number
CN110928910B
CN110928910B CN201911206894.9A CN201911206894A CN110928910B CN 110928910 B CN110928910 B CN 110928910B CN 201911206894 A CN201911206894 A CN 201911206894A CN 110928910 B CN110928910 B CN 110928910B
Authority
CN
China
Prior art keywords
vector elements
sub
grid
vector
establishing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911206894.9A
Other languages
English (en)
Other versions
CN110928910A (zh
Inventor
许家俊
石智峰
裴志远
胡华浪
刘海启
赵春梅
陶双华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Big Data Development Center Of Ministry Of Agriculture And Rural Areas
Original Assignee
Academy of Agricultural Planning and Engineering MARA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Academy of Agricultural Planning and Engineering MARA filed Critical Academy of Agricultural Planning and Engineering MARA
Priority to CN201911206894.9A priority Critical patent/CN110928910B/zh
Publication of CN110928910A publication Critical patent/CN110928910A/zh
Application granted granted Critical
Publication of CN110928910B publication Critical patent/CN110928910B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Remote Sensing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种高速读写Shapfile中的矢量要素的方法和装置,其中,该方法包括:建立数据缓冲区,数据缓冲区中包括:用以存储矢量要素的多个存储空间,及用以指示存储空间地址的指针;将待读取的Shapfile中的矢量要素依次写入存储空间中;指针始终指向首个未存储矢量要素的存储空间;根据数据缓冲区读取矢量要素;根据矢量要素建立空间索引文件;根据矢量要素的数据范围建立空间网格,其中,空间网格包括多个子网格;根据子网格建立要素偏移属性表,要素偏移属性表包括用以表征矢量要素在空间索引文件中的位置的要素偏移量;将空间索引文件、空间网格和要素偏移属性表进行打包存储。通过这种方法读取Shapfile中的矢量要素时,效率更高,且占用内存较低。

Description

高速读写Shapfile中的矢量要素的方法和装置
技术领域
本发明涉及地理信息处理技术领域,具体涉及一种高速读写Shapfile中的矢量要素的方法和装置。
背景技术
农业农村部粮食生产功能区和重要农产品生产保护区调查建库技术规程、数据库规范、建库指南和汇交办法已经颁布实施,在实际操作过程中,为了有效规范数据库成果的内容形式,并且有效检查成果对于规范的符合性,需要对粮食生产功能区和重要农产品生产保护区划定成果进行质量检查。在检查过程中,其中一项是对地理数据进行检查,因此首先需要将地理要素从数据成果中进行提取。地理要素作为矢量要素中的一种,通常存储于Shapfile中,但是现有技术中对Shapfile中的矢量要素的读取速度较慢,从而间接导致了对地理数据检查的速度较慢。
发明内容
因此,本发明要解决的技术问题在于克服现有技术中的Shapfile中的矢量要素的读取速度较慢的缺陷,从而提供一种高速读写Shapfile中的矢量要素的方法和装置。
本发明第一方面提供一种高速读写Shapfile中的矢量要素的方法,包括:建立数据缓冲区,数据缓冲区中包括:用以存储矢量要素的多个存储空间,及用以指示存储空间地址的指针;将待读取的Shapfile中的矢量要素依次写入存储空间中;指针始终指向首个未存储矢量要素的存储空间;根据数据缓冲区读取矢量要素;根据矢量要素建立空间索引文件;根据矢量要素的数据范围建立空间网格,其中,空间网格包括多个子网格;根据子网格建立要素偏移属性表,要素偏移属性表包括用以表征矢量要素在空间索引文件中的位置的要素偏移量;将空间索引文件、空间网格和要素偏移量进行打包存储。
可选地,根据矢量要素的数据范围建立空间网格的步骤,包括:根据矢量要素的数据的范围建立矢量地图;根据数据的范围将矢量地图划分为第一预设尺寸的多个第一子网格,将各第一子网格划分为第二预设尺寸的子网格;将矢量要素映射至子网格中。
可选地,根据数据的范围将矢量地图划分为第一预设尺寸的多个第一子网格的步骤之后,将各第一子网格划分为第二预设尺寸的子网格的步骤之前,还包括:为每个第一子网格建立第一网格属性表,第一网格属性表用于记录每个第一子网格的四至范围。
可选地,将各第一子网格划分为第二预设尺寸的子网格的步骤之后,所述将矢量要素映射至子网格中的步骤之前,还包括:为每个子网格建立第二网格属性表,第二网格属性表用于记录每个子网格的四至范围。
可选地,高速读写Shapfile中的矢量要素的方法,还包括:分别为第一子网格和子网格建立第三预设尺寸的缓冲区。
本发明第二方面提供一种矢高速读写Shapfile中的矢量要素的装置,包括:数据缓冲区建立模块,用于建立数据缓冲区,数据缓冲区中包括:用以存储矢量要素的多个存储空间,及用以指示存储空间地址的指针;矢量要素提取模块,用于将待读取的Shapfile中的矢量要素依次写入存储空间中;指针始终指向首个未存储矢量要素的存储空间;矢量要素读取模块,用于根据数据缓冲区读取矢量要素;空间索引文件建立模块,用于根据矢量要素建立空间索引文件;空间网格建立模块,用于根据矢量要素的数据范围为文件建立空间网格,其中,空间网格包括多个子网格;要素偏移属性表建立模块,用于根据子网格建立要素偏移属性表,要素偏移属性表用以表征矢量要素在索引文件中的位置的要素偏移量;存储模块,用于将空间索引文件和空间网格进行打包存储。
本发明第三方面提供一种计算机设备,包括:至少一个处理器;以及至少与一个处理器通信连接的存储器;其中,存储器存储有可至少被一个处理器执行的指令,指令至少被一个处理器执行,从而执行如本发明第一方面提供的高速读写Shapfile中的矢量要素的方法。
本发明第四方面提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使计算机执行如本发明第一方面提供的高速读写Shapfile中的矢量要素的方法。
本发明技术方案,具有如下优点:
1.本发明提供的高速读写Shapfile中的矢量要素的方法,先建立数据缓冲区,将待读取的Shapfile中的矢量要素依次写入数据缓冲区的存储空间中,然后根据数据缓冲区读取矢量要素,通过这种方法读取Shapfile中的矢量要素时,效率更高,且占用内存较低。然后根据矢量要素建立空间索引文件,根据矢量要素的数据范围建立空间网格,并且为网格中的子网格建立包括用来表征矢量要素在空间索引文件中位置的要素偏移量的要素偏移属性表,并且将空间索引文件、空间网格和要素偏移属性表进行打包存储,通过这种存储方法将矢量要素文件进行存储,后续对矢量要素进行提取时,只需根据要素偏移属性表中的偏移量查找空间索引文件,并通过空间索引文件对所需要的矢量要素进行提取即可,无需对所有文件进行遍历从而提取所需要的矢量要素。
2.本发明提供的高速读写Shapfile中的矢量要素的装置,先建立数据缓冲区,将待读取的Shapfile中的矢量要素依次写入数据缓冲区的存储空间中,然后根据数据缓冲区读取矢量要素,通过这种方法读取Shapfile中的矢量要素时,效率更高,且占用内存较低。然后根据矢量要素建立空间索引文件,根据矢量要素的数据范围建立空间网格,并且为网格中的子网格建立包括用来表征矢量要素在空间索引文件中位置的要素偏移量的要素偏移属性表,并且将空间索引文件、空间网格和要素偏移属性表进行打包存储,通过这种存储装置将矢量要素文件进行存储,后续对矢量要素进行提取时,只需根据要素偏移属性表中的偏移量查找空间索引文件,并通过空间索引文件对所需要的矢量要素进行提取即可,无需对所有文件进行遍历从而提取所需要的矢量要素。因此本发明提供的高速读写Shapfile中的矢量要素的装置为后续对矢量要素的快速查询奠定了基础。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中高速读写Shapfile中的矢量要素的方法的具体示例的流程图;
图2a为本发明实施例提供的数据缓冲区示意图;
图2b为本发明实施例提供的在数据缓冲区中存入一个数据的示意图;
图2c为本发明实施例提供的在数据缓冲区中存入一组数据的示意图;
图2d为本发明实施例提供的从数据缓冲区中读取数据的示意图;
图3为本发明实施例中高速读写Shapfile中的矢量要素的方法的具体示例的流程图;
图4为本发明实施例中第一子网格示意图;
图5-图7为本发明实施例中高速读写Shapfile中的矢量要素的方法的具体示例的流程图;
图8为本发明实施例中高速读写Shapfile中的矢量要素的装置的具体示例的原理框图;
图9为本发明实施例提供的计算机设备的结构框图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
实施例1
本发明实施例第一方面提供一种矢量要素的存储方法,如图1所示,包括:
步骤S10:建立数据缓冲区,数据缓冲区中包括:用以存储矢量要素的多个存储空间,及用以指示所述存储空间地址的指针,如图2a所示,在建立数据缓冲区时,会有一定的空间容量,本发明实施例中以空间容量(capacity)为10字节为例,即存储空间为10字节,在缓冲区中未存入数据时,指针位置(position)指向第一个存储空间,即,此时position的值为0,且在数据缓冲区中,通过界限(limit)表示空闲空间数量或数据缓冲区中待读取的数据量,在缓冲区中未存入数据时,limit值为10。
步骤S20:将待读取的Shapfile中的矢量要素依次写入所述存储空间中;指针始终指向首个未存储所述矢量要素的存储空间,如图2b和图2c所示,将矢量要素写入存储空间中时,每写入一个矢量要素,指针位置向后移一位,并且此时的limit表示数据缓冲区中空闲空间数量,每写入一个矢量要素,limit的值减少1。
步骤S30:根据数据缓冲区读取矢量要素。读取数据缓冲区中的矢量要素时,需调用flip()方法,如图2d所示,在调用该方法时,将limit设置为当前的position值,将position的值设置为0,此时的limit表示数据缓冲区中待读取的数据量,例如在图2c中,在数据缓冲区中存入了4个数,在读取数据时,将limit的值设置为4,由于position被设置为0,所以可以保证在下一步输出时读取到的是数据缓冲区中的第一个字节,而limit被设置为当前的position,可以保证读取的数据正好是之前写入到数据缓冲区中的数据。
步骤S40:根据矢量要素建立空间索引文件,在一具体实施例中,空间索引文件中记录了矢量要素所处位置,后续对矢量要素进行查询时,只需根据空间索引文件中矢量要素所处位置便可查询到所需的矢量要素。
步骤S50:根据矢量要素的数据范围建立空间网格,其中,空间网格包括多个子网格,在一具体实施例中,空间网格中子网格的数量及大小可以根据实际需求进行调整。
步骤S60:根据子网格建立要素偏移属性表,要素偏移属性表包括用以表征矢量要素在空间索引文件中的位置的要素偏移量。在一具体实施例中,要素偏移属性表如表1所示:
表1
子格网id1 Int偏移量
子格网id2 Int偏移量
子格网id3 Int偏移量
其中,Int偏移量即为矢量要素在空间索引文件中的位置的要素偏移量,后续对矢量要素进行查询时,可以根据要素偏移量查找相对应的空间索引文件,即根据上述表格中的Int偏移量查找相对应的空间索引文件,从而对矢量要素进行查询。
步骤S70:将空间索引文件、空间网格和要素偏移属性表进行打包存储。将上述文件进行存储,在对矢量要素进行查询时可直接进行查找,无需再次建立执行上述步骤S10-步骤S70重新进行空间索引文件、空间网格及要素偏移属性表的建立。
本发明实施例提供的高速读写Shapfile中的矢量要素的方法,先建立数据缓冲区,将待读取的Shapfile中的矢量要素依次写入数据缓冲区的存储空间中,然后根据数据缓冲区读取矢量要素,通过这种方法读取Shapfile中的矢量要素时,效率更高,且占用内存较低。然后根据矢量要素建立空间索引文件,根据矢量要素的数据范围建立空间网格,并且为网格中的子网格建立包括用来表征矢量要素在空间索引文件中位置的要素偏移量的要素偏移属性表,并且将空间索引文件、空间网格和要素偏移属性表进行打包存储,通过这种存储方法将矢量要素文件进行存储,后续对矢量要素进行提取时,只需根据要素偏移属性表中的偏移量查找空间索引文件,并通过空间索引文件对所需要的矢量要素进行提取即可,无需对所有文件进行遍历从而提取所需要的矢量要素。
在一可选实施例中,如图3所示,上述步骤S50具体包括:
步骤S51:根据矢量要素的数据的范围建立矢量地图。该数据主要是指几何体的位置数据。
步骤S52:根据数据的范围将矢量地图划分为第一预设尺寸的多个第一子网格。在一具体实施例中,可以根据实际需求对第一预设尺寸进行设置,在本实施例中,以第一预设尺寸值为1000米为例,建立的第一子网格的尺寸为1000×1000米,如图4所示。
步骤S53:将各第一子网格划分为第二预设尺寸的子网格。第二预设尺寸小于第一预设尺寸,在一具体实施例中,如第一子网格相同,子网格的第二预设尺寸也可根据实际需求进行设置。
步骤S54:将矢量要素映射至子网格中。
在一可选实施例中,如图5所示,步骤S50中,步骤S52之后,步骤S53之前,还包括:
步骤S55:为每个第一子网格建立第一网格属性表,第一网格属性表用于记录每个第一子网格的四至范围。第一网格属性表如表2所示:
表2
Figure BDA0002297120680000091
上述第一网格属性表中Xmax、Ymax、Xmin和Ymin为id为1的第一子网格的四至范围。
在一可选实施例中,如图6所示,上述步骤S53之后,还包括:
步骤S56:每个子网格建立第二网格属性表,第二网格属性表用于记录每个子网格的四至范围。第二网格属性表如表3所示:
表3
Figure BDA0002297120680000101
上述第二网格属性表中Xmax、Ymax、Xmin和Ymin为id为1的子网格的四至范围。
在一可选实施例中,如图7所示,上述步骤S53之后,还包括:
步骤S57:分别为第一子网格和子网格建立第三预设尺寸的缓冲区。缓冲区的第三预设尺寸可以根据实际需求进行设置,例如,对于地势复杂的区域,可以将缓冲区设置为1-10米,但是对于地势平坦的地区,可将缓冲区设置为50-100米。
在一具体实施例中,可以为上述高速读写Shapfile中的矢量要素的方法建立任务模型,将高速读写Shapfile中的矢量要素的方法封装为单个任务,通过执行该任务来执行对矢量要素文件进行存储的功能。
实施例2
本实施例提供一种高速读写Shapfile中的矢量要素的装置,如图8所示,包括:
数据缓冲区建立模块10,用于建立数据缓冲区,数据缓冲区中包括:用以存储矢量要素的多个存储空间,及用以指示存储空间地址的指针,详细描述见上述实施例1中对步骤S10的描述。
矢量要素提取模块20,用于将待读取的Shapfile中的矢量要素依次写入所述存储空间中;指针始终指向首个未存储所述矢量要素的存储空间,详细描述见上述实施例1中对步骤S20的描述。
矢量要素读取模块30,用于根据数据缓冲区读取矢量要素,详细描述见上述实施例1中对步骤S30的描述。
空间索引文件建立模块40,用于根据矢量要素建立空间索引文件,详细描述见上述实施例1中对步骤S40的描述。
空间网格建立模块50,用于根据矢量要素的数据范围为文件建立空间网格,其中,空间网格包括多个子网格件,详细描述见上述实施例1中对步骤S50的描述。
要素偏移属性表建立模块60,用于根据子网格建立要素偏移属性表,要素偏移属性表用以表征矢量要素在索引文件中的位置的要素偏移量件,详细描述见上述实施例1中对步骤S60的描述。
存储模块70,用于将空间索引文件和空间网格进行打包存储件,详细描述见上述实施例1中对步骤S70的描述。
本发明实施例提供的高速读写Shapfile中的矢量要素的装置,先建立数据缓冲区,将待读取的Shapfile中的矢量要素依次写入数据缓冲区的存储空间中,然后根据数据缓冲区读取矢量要素,通过这种方法读取Shapfile中的矢量要素时,效率更高,且占用内存较低。然后根据矢量要素建立空间索引文件,根据矢量要素的数据范围建立空间网格,并且为网格中的子网格建立包括用来表征矢量要素在空间索引文件中位置的要素偏移量的要素偏移属性表,并且将空间索引文件、空间网格和要素偏移属性表进行打包存储,通过这种存储装置将矢量要素文件进行存储,后续对矢量要素进行提取时,只需根据要素偏移属性表中的偏移量查找空间索引文件,并通过空间索引文件对所需要的矢量要素进行提取即可,无需对所有文件进行遍历从而提取所需要的矢量要素。因此本发明提供的高速读写Shapfile中的矢量要素的装置为后续对矢量要素的快速查询奠定了基础。
实施例3
本发明实施例还提供一种计算机设备,如图9所示,该计算机设备主要包括一个或多个处理器51以及存储器52,图9中以一个处理器51为例。
该计算机设备还可以包括:输入装置53和输出装置54。
处理器51、存储器52、输入装置53和输出装置54可以通过总线或者其他方式连接,图9中以通过总线连接为例。
处理器51可以为中央处理器(Central Processing Unit,CPU)。处理器51还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。存储器52可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据高速读写Shapfile中的矢量要素的装置的使用所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器52可选包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至高速读写Shapfile中的矢量要素的装置。输入装置53可接收用户输入的计算请求(或其他数字或字符信息),以及产生与高速读写Shapfile中的矢量要素的装置有关的键信号输入。输出装置54可包括显示屏等显示设备,用以输出计算结果。
实施例4
本发明提供一种计算机可读存储介质,该计算机可读存储介质存储计算机指令,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的高速读写Shapfile中的矢量要素的方法。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-StateDrive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

Claims (7)

1.一种高速读写Shapfile中的矢量要素的方法,其特征在于,包括:
建立数据缓冲区,所述数据缓冲区中包括:用以存储矢量要素的多个存储空间,及用以指示所述存储空间地址的指针;
将待读取的Shapfile中的矢量要素依次写入所述存储空间中;所述指针始终指向首个未存储所述矢量要素的存储空间;
根据所述数据缓冲区读取所述矢量要素;
根据所述矢量要素建立空间索引文件,空间索引文件中记录了矢量要素所处位置;
根据所述矢量要素的数据范围建立空间网格,其中,所述空间网格包括多个子网格;
根据所述子网格建立要素偏移属性表,所述要素偏移属性表包括用以表征所述矢量要素在所述空间索引文件中的位置的要素偏移量,以及子网格ID;
将所述空间索引文件、所述空间网格和所述要素偏移属性表进行打包存储;
所述根据所述矢量要素的数据范围建立空间网格的步骤,包括:
根据所述矢量要素的数据的范围建立矢量地图;
根据所述数据的范围将所述矢量地图划分为第一预设尺寸的多个第一子网格;
将各所述第一子网格划分为第二预设尺寸的所述子网格;
将所述矢量要素映射至所述子网格中。
2.根据权利要求1所述的高速读写Shapfile中的矢量要素的方法,其特征在于,所述根据所述数据的范围将所述矢量地图划分为第一预设尺寸的多个第一子网格的步骤之后,所述将各所述第一子网格划分为第二预设尺寸的所述子网格的步骤之前,还包括:
为每个第一子网格建立第一网格属性表,所述第一网格属性表用于记录每个所述第一子网格的四至范围。
3.根据权利要求1所述的高速读写Shapfile中的矢量要素的方法,其特征在于,所述将各所述第一子网格划分为第二预设尺寸的所述子网格的步骤之后,所述将所述矢量要素映射至所述子网格中的步骤之前,还包括:
为每个子网格建立第二网格属性表,所述第二网格属性表用于记录每个所述子网格的四至范围。
4.根据权利要求1所述的高速读写Shapfile中的矢量要素的方法,其特征在于,还包括:
分别为所述第一子网格和所述子网格建立第三预设尺寸的缓冲区。
5.一种高速读写Shapfile中的矢量要素的装置,其特征在于,包括:
数据缓冲区建立模块,用于建立数据缓冲区,所述数据缓冲区中包括:用以存储矢量要素的多个存储空间,及用以指示所述存储空间地址的指针;
矢量要素提取模块,用于将待读取的Shapfile中的矢量要素依次写入所述存储空间中;所述指针始终指向首个未存储所述矢量要素的存储空间;
矢量要素读取模块,用于根据所述数据缓冲区读取所述矢量要素;
空间索引文件建立模块,用于所述矢量要素建立空间索引文件,空间索引文件中记录了矢量要素所处位置;
空间网格建立模块,用于所述矢量要素的数据范围建立空间网格,其中,所述空间网格包括多个子网格;
要素偏移属性表建立模块,用于根据所述子网格建立要素偏移属性表,所述要素偏移属性表用以表征所述矢量要素在所述索引文件中的位置的要素偏移量,以及子网格ID;
存储模块,用于将所述空间索引文件和所述空间网格进行打包存储;
根据所述矢量要素的数据范围建立空间网格,包括:
根据所述矢量要素的数据的范围建立矢量地图;
根据所述数据的范围将所述矢量地图划分为第一预设尺寸的多个第一子网格;
将各所述第一子网格划分为第二预设尺寸的所述子网格;
将所述矢量要素映射至所述子网格中。
6.一种计算机设备,其特征在于,包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,从而执行如权利要求1-4中任一项所述的高速读写Shapfile中的矢量要素的方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如权利要求1-4中任一项所述的高速读写Shapfile中的矢量要素的方法。
CN201911206894.9A 2019-11-29 2019-11-29 高速读写Shapfile中的矢量要素的方法和装置 Active CN110928910B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911206894.9A CN110928910B (zh) 2019-11-29 2019-11-29 高速读写Shapfile中的矢量要素的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911206894.9A CN110928910B (zh) 2019-11-29 2019-11-29 高速读写Shapfile中的矢量要素的方法和装置

Publications (2)

Publication Number Publication Date
CN110928910A CN110928910A (zh) 2020-03-27
CN110928910B true CN110928910B (zh) 2021-08-17

Family

ID=69847086

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911206894.9A Active CN110928910B (zh) 2019-11-29 2019-11-29 高速读写Shapfile中的矢量要素的方法和装置

Country Status (1)

Country Link
CN (1) CN110928910B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112882662B (zh) * 2021-03-17 2022-05-27 中国人民解放军国防科技大学 一种基于连续内存的地理要素高效访问方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101435708A (zh) * 2008-12-05 2009-05-20 四川长虹电器股份有限公司 移动导航设备中矢量地图的实时漫游与缩放的方法
CN105760529A (zh) * 2016-03-03 2016-07-13 福州大学 一种移动端矢量数据的空间索引和缓存构建方法
CN106294575A (zh) * 2016-07-21 2017-01-04 国家林业局调查规划设计院 一种基于Lucene的林地图斑矢量数据查询方法
CN106934058A (zh) * 2017-03-22 2017-07-07 武汉中地数码科技有限公司 矢量数据读取方法及系统、矢量数据可视化方法及系统
KR101994871B1 (ko) * 2017-02-28 2019-07-01 서울과학기술대학교 산학협력단 다차원 데이터에 대한 색인 생성 장치
CN110059067A (zh) * 2019-04-04 2019-07-26 南京南瑞水利水电科技有限公司 一种水利空间矢量大数据存储管理方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101435708A (zh) * 2008-12-05 2009-05-20 四川长虹电器股份有限公司 移动导航设备中矢量地图的实时漫游与缩放的方法
CN105760529A (zh) * 2016-03-03 2016-07-13 福州大学 一种移动端矢量数据的空间索引和缓存构建方法
CN106294575A (zh) * 2016-07-21 2017-01-04 国家林业局调查规划设计院 一种基于Lucene的林地图斑矢量数据查询方法
KR101994871B1 (ko) * 2017-02-28 2019-07-01 서울과학기술대학교 산학협력단 다차원 데이터에 대한 색인 생성 장치
CN106934058A (zh) * 2017-03-22 2017-07-07 武汉中地数码科技有限公司 矢量数据读取方法及系统、矢量数据可视化方法及系统
CN110059067A (zh) * 2019-04-04 2019-07-26 南京南瑞水利水电科技有限公司 一种水利空间矢量大数据存储管理方法

Also Published As

Publication number Publication date
CN110928910A (zh) 2020-03-27

Similar Documents

Publication Publication Date Title
CN107957957B (zh) 测试用例的获取方法和装置
CN107301214B (zh) 在hive中数据迁移方法、装置及终端设备
US8370303B1 (en) Generating snapshots of data tables
CN111459982A (zh) 一种数据查询方法、装置、终端设备及存储介质
US20150032708A1 (en) Database analysis apparatus and method
CN113112208A (zh) 一种基于三维可视化模型的电力物资仓储管理方法
CN110955743B (zh) 为矢量要素建立空间索引文件的方法和装置
CN110928910B (zh) 高速读写Shapfile中的矢量要素的方法和装置
CN110750434A (zh) 接口测试方法、装置、电子设备和计算机可读存储介质
CN105426314A (zh) 一种fpga存储器的工艺映射方法
CN113064895B (zh) 一种图谱的增量更新方法、装置及系统
CN109271399A (zh) 一种数据库写入日志一致性的校验方法
CN115269502A (zh) 投标文件处理方法、设备及存储介质
CN114816247A (zh) 一种逻辑数据获取方法及装置
CN113420025A (zh) 构件数据的处理方法、装置及电子设备
CN114356912A (zh) 一种向数据库写入数据的方法及计算机设备
CN111427733A (zh) 一种测试磁盘稳定性的方法、系统、设备及介质
CN111651466A (zh) 数据采样方法及装置
CN110019507B (zh) 数据同步的方法及装置
CN115080680B (zh) 用于高精地图的激光点云数据处理方法、装置及设备
CN116821146B (zh) 一种基于Apache Iceberg的数据表列更新方法及系统
CN117392294B (zh) 一种动画文件检查修复方法、系统、电子设备及存储介质
CN116150212B (zh) 数据处理方法及设备
CN113568578B (zh) 一种图片处理方法、装置、电子设备和可读存储介质
CN113377757B (zh) 数据对账方法、装置、电子设备及机器可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Xu Jiajun

Inventor after: Shi Zhifeng

Inventor after: Pei Zhiyuan

Inventor after: Hu Hualang

Inventor after: Liu Haiqi

Inventor after: Zhao Chunmei

Inventor after: Tao Shuanghua

Inventor before: Xu Jiajun

Inventor before: Shi Zhifeng

Inventor before: Pei Zhiyuan

Inventor before: Hu Hualang

Inventor before: Zhao Chunmei

Inventor before: Wang Yingwei

Inventor before: Lin Guotian

Inventor before: Li Jianbo

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240422

Address after: 100125 Building 2, national agricultural exhibition hall, No. 16, North East Third Ring Road, Chaoyang District, Beijing

Patentee after: Big data development center of the Ministry of agriculture and rural areas

Country or region after: China

Address before: 100125, No. 41, wheat Street, Chaoyang District, Beijing

Patentee before: Ministry of Agriculture and Rural Planning and Design Institute

Country or region before: China

TR01 Transfer of patent right