CN114048204A - 基于数据库倒排索引的北斗网格空间索引方法和装置 - Google Patents
基于数据库倒排索引的北斗网格空间索引方法和装置 Download PDFInfo
- Publication number
- CN114048204A CN114048204A CN202111143748.3A CN202111143748A CN114048204A CN 114048204 A CN114048204 A CN 114048204A CN 202111143748 A CN202111143748 A CN 202111143748A CN 114048204 A CN114048204 A CN 114048204A
- Authority
- CN
- China
- Prior art keywords
- grid
- beidou
- space
- level
- database
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000004590 computer program Methods 0.000 claims description 7
- DMBHHRLKUKUOEG-UHFFFAOYSA-N diphenylamine Chemical compound C=1C=CC=CC=1NC1=CC=CC=C1 DMBHHRLKUKUOEG-UHFFFAOYSA-N 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开实施例提供一种基于数据库倒排索引的北斗网格空间索引方法和装置,所述方法包括:获取目标查询范围,确定所述目标查询范围对应的北斗网格集合;对所述北斗网格集合中的每一个北斗网格,基于GIN倒排索引,在关系型数据库中确定该北斗网格对应的空间对象,遍历所述北斗网格集合中的全部北斗网格,确定对应的空间对象,生成空间对象集合。以此方式,能够在查询空间对象的过程中减小索引数据量,降低计算开销。
Description
技术领域
本公开的实施例一般涉及地理信息处理技术领域,并且更具体地,涉及一种基于数据库倒排索引的北斗网格空间索引方法和装置。
背景技术
传统的空间数据库针对空间数据类型(geometry)常结合R-Tree构建索引方法,从而满足提高检索性能的需求。
R-Tree索引的核心思想是聚合距离相近的节点并在树结构的上一层将其表示为这些节点的最小外接矩形,这个最小外接矩形就成为上一层的一个节点。因为所有节点都在它们的最小外接矩形中,所以跟某个矩形不相交的查询就一定跟这个矩形中的所有节点都不相交。叶子节点上的每个矩形都代表一个对象,节点都是对象的聚合,并且越往上层聚合的对象就越多。
R-Tree索引中表记录全部保存在叶子节点上,叶子节点所占空间达到数据库中的一个page,将发生分割,产生中间节点,中间节点所占空间达到数据库中的一个page将继续分割,这样随着数据量的增长,会产生较多的中间节点,导致索引逐渐增大。
同时,最小外接矩形只能粗粒度的估计空间数据之间的关系,存在一定的精度误差,因此,为了满足正确性的要求,需要进一步执行recheck操作,精确定位计算数据之间的关系,这样会增加计算开销,降低检索性能。
发明内容
根据本公开的实施例,提供了一种索引数据量小,计算开销低的基于数据库倒排索引的北斗网格空间索引方案。
在本公开的第一方面,提供了一种基于数据库倒排索引的北斗网格空间索引方法,包括:
获取目标查询范围,确定所述目标查询范围对应的北斗网格集合;
对所述北斗网格集合中的每一个北斗网格,基于GIN倒排索引,在关系型数据库中确定该北斗网格对应的空间对象,遍历所述北斗网格集合中的全部北斗网格,确定对应的空间对象,生成空间对象集合。
在一些实施例中,所述目标查询范围对应的北斗网格集合包括相同和/或不同网格层级的网格。
在一些实施例中,所述关系型数据库中的坐标信息以网格单元gridcell的形式存储,所述网格单元gridcell以tb_location表为模型进行存储,tb_location表中包括坐标系的经纬度和高程字段以及grid字段,其中,grid字段包括网格层级字段level、经纬度剖分编码字段code和高程剖分编码字段zcode。
在一些实施例中,所述方法还包括:
所述关系型数据库中的空间对象以网格单元集合geomgrids的形式存储,所述网格单元集合geomgrids包括对应的二维空间对象中的网格单元的经纬度剖分编码字段code和网格层级字段level,或者,三维空间对象中的网格单元的经纬度剖分编码字段code、网格层级字段level和高程剖分编码字段zcode。
在一些实施例中,所述方法还包括:
预先建立空间对象与网格单元的索引,基于网格单元gridcell建立空间对象与网格单元的GIN倒排索引。
在一些实施例中,所述预先空间对象与建立网格单元的索引,基于网格单元gridcell建立空间对象与网格单元的GIN倒排索引,包括:
预先确定每个空间对象中包含的最小网格层级网格单元,建立空间对象与所述最小网格层级网格单元的索引,基于所述最小网格层级网格单元,建立空间对象与网格单元的GIN倒排索引。
在一些实施例中,所述方法还包括:
在所述最小网格层级网格单元对应的网格层级对应的区间范围内,基于层级关系建立网格单元gridcell之间的索引。
在本公开的第二方面,提供一种基于数据库倒排索引的北斗网格空间索引装置,包括:
查询请求接收模块,用于获取目标查询范围,确定所述目标查询范围对应的北斗网格集合;
空间对象集合生成模块,用于对所述北斗网格集合中的每一个北斗网格,基于GIN倒排索引,在关系型数据库中确定该北斗网格对应的空间对象,遍历所述北斗网格集合中的全部北斗网格,确定对应的空间对象,生成空间对象集合。
在本公开的第三方面,提供了一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
在本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上所述的方法。
通过本公开的基于数据库倒排索引的北斗网格空间索引方法,能够减小索引数据量,降低计算开销的基于数据库倒排索引的北斗网格空间索引方法。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了本公开实施例一的基于数据库倒排索引的北斗网格空间索引方法的流程图;
图2示出了本公开实施例二的基于北斗网格关系型数据库的空间数据库的生成方法的流程图;
图3示出了本公开实施例三的基于数据库倒排索引的北斗网格空间索引装置的结构示意图;
图4示出了本公开实施例四的基于数据库倒排索引的北斗网格空间索引设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本公开实施例的基于数据库倒排索引的北斗网格空间索引方法,能够在查询空间对象的过程中减小索引数据量,降低计算开销。具体地,如图1所示,为本公开实施例一的基于数据库倒排索引的北斗网格空间索引方法的流程图。从图1中可以看出,本实施例的基于数据库倒排索引的北斗网格空间索引方法,可以包括以下步骤:
S101:获取目标查询范围,确定所述目标查询范围对应的北斗网格集合。
本实施例的方法,可以应用于一定区域范围内的空间对象的查询,例如某市区内有多少个学校,或有多少个小区等。该某市区即为本实施例中提及的目标查询范围,而学校(或小区)即为本实施例中提及的空间对象。本实施例的方法,基于预先构建的北斗网格关系型数据库,在构建北斗网格关系型数据库时,可以参见图2的基于北斗网格关系型数据库的空间数据库的生成方法的流程图,具体包括以下步骤:
S201:获取关系型数据库中的二维坐标信息或三维坐标信息,其中,所述二维坐标信息或三维坐标信息以tb_location表的形式存储在所述关系型数据库中。
先获取关系型数据库中的二维坐标信息或三维坐标信息,其中,所述二维坐标信息或三维坐标信息以tb_location表的形式存储在所述关系型数据库中。
S202:根据所述二维坐标信息或三维坐标信息的实际应用场景,确定对应的北斗剖分网格编码的层级,生成对应的层级字段level。
在获取到关系型数据库中的二维坐标信息或三维坐标信息后,需要进一步确定对应的北斗剖分网格编码的层级,生成对应的层级字段level。
S203:将所述二维坐标信息或三维坐标信息转化为对应层级的北斗剖分网格编码,生成对应的经纬度剖分编码字段code、高程剖分编码字段zcode。
S204:将所述层级字段level、所述经纬度剖分编码字段code和所述高程剖分编码字段zcode封装为同一字段grid,并将字段grid存储在所述关系型数据库中对应二维坐标信息或三维坐标信息的tb_location表中,生成网格单元gridcell。
网格单元gridcell为复合类型,用于表示北斗剖分中的一个2D或3D单元网格,2D或3D单元网格即为关系型数据中的坐标信息。北斗剖分网格分为2D网格和3D网格,其中2D网格由纬度、经度分别进行二进制剖分,然后通过莫顿编码合并成一维二进制编码。网格层级从1-32级,每级用2个二进制位表达,用64位无符号长整型(unsigned Long)可存储32级二维编码。3D网格在2D网格的基础上,增加了高程剖分编码,高程剖分的范围也是1-32级,用1个二进制位表示一级剖分。用32位无符号整型(unsigned Int)可存储32级高程编码。层级范围在1-32,可用unsigned char存储层级;由于gridcell是兼容2D/3D,需要指定一个类型标志dim,区别二三维网格。
综上所述,gridcell数据类型的结构如下:
结构中各变量如下表:
无论在32位操作***或64位操作***中,内存对齐后,一个gridcell对象占用的内存空间均为16字节。
并分别实现了二三维gridcell生成函数,其原型如下:
gridcell ST_AsGridcell(double lng,double lat,integer level)
gridcell ST_AsGridcell3D(double lng,double lat,double height,integerlevel)以ST_AsGridcell3D为例,说明计算步骤:
1.tb_location为关系型数据库中的表,lng、lat、height分别为坐标经度、纬度、高程。
2.在tb_location表中增加名为grid的字段,字段类型为gridcell
3.根据业务需求,确定网格的层级level
4.通过update语句,更新tb_location中的grid字段。
Update tb_location set grid=st_AsGridcell(lng,lat,height,level)。
5.在st_AsGridcell内部,对于每组传入的lng、lat、height、level,通过北斗网格剖分算法,生成对应的经纬度剖分编码code、高程剖分编码zcode,同level一起封装为gridcell对象返回。
6.Update语句将每个gridcell对象序列化后写入grid字段中
7.循环执行,直到表中所有行均被执行。
通过上述方法,可以将关系型数据库中的坐标信息转化为北斗剖分网格码的形式存储。并将北斗网格码形式的坐标信息和关系型数据库中原有的坐标信息封装在一起,保证数据封装性和一致性,数据管理方便,同时在数据库内部完成坐标信息编码形式的转换技术,从而能够充分利用数据库的并行计算能力。
并且,在北斗网格关系型数据库中,还定义有空间对象,所述关系型数据库中的空间对象以网格单元集合geomgrids的形式存储,所述网格单元集合geomgrids包括对应的二维空间对象中的网格单元的经纬度剖分编码字段code和网格层级字段level,或者,三维空间对象中的网格单元的经纬度剖分编码字段code、网格层级字段level和高程剖分编码字段zcode。一个网格单元集合geomgrids中可能会存在不同层级的单元网格,层级最高的网格单元的层级,为geomgrids对象的层级,称为detailLevel。也就是说,在北斗网格关系型数据库中,空间对象是与网格单元集合geomgrids一一对应的。为了实现空间对象与网格单元集合geomgrids的一一对应,可以建立空间对象与网格单元的索引,基于网格单元gridcell建立空间对象与网格单元的GIN倒排索引。具体地,预先确定每个空间对象中包含的最小网格层级网格单元,建立空间对象与所述最小网格层级网格单元的索引,基于所述最小网格层级网格单元,建立空间对象与网格单元的GIN倒排索引。并且,在所述最小网格层级网格单元对应的网格层级对应的区间范围内,基于层级关系建立网格单元gridcell之间的索引。
简单来说,就是一条空间数据记录对应一条geomgrids数据,一条geomgrids数据对应多条gridcell数据,每一条gridcell数据以及与gridcell相关的网格数据作为GIN索引的key值存储在索引结构中。
在对北斗网格关系型数据库中的数据结构进行说明后,下面以一个具体的实例为例,对本公开实施例的方案进行进一步的说明。首先,建立空间对象与网格单元集合geomgrids的关联关系,这里的空间对象不仅仅限于学校、小区,还可以是其他对象,例如辖区、湖泊、立交桥等等。以学校为例,确定每个学校中包含的北斗网格,并且被包含的北斗网格是层级最低的网格,例如,一个8级网格包括4个9级网格,并且8级网格和其包括的4个9级网格都在该学校的区域内,则仅建立该学校与该8级网格的关联关系,而不建立与其他4个9级网格的关联关系,即以8级网格对应的编码表示对应该学校中的区域,而并非以4个9级网格对应的编码表示对应该学校中的区域。通过上述方式,建立全部学校包含的北斗网格,同理,可以确定全部小区包含的北斗网格等。然后依照同样的方法,建立比学校区域更大的区域包含的北斗网格,例如城市、乡镇、县城、市、省等辖区等,或者也可以建立比学校区域更小的区域包含的北斗网格,例如宿舍、食堂、教学楼等,小区可以建立停车位、绿化带等所包含的北斗网格。然后建立空间对象与所述最小网格层级网格单元的索引,基于所述最小网格层级网格单元,建立空间对象与网格单元的GIN倒排索引。并且,在所述最小网格层级网格单元对应的网格层级对应的区间范围内,基于层级关系建立网格单元gridcell之间的索引。GIN(Generalized Inverted Index,通用倒排索引)是一个存储对(key,posting list)集合的索引结构,其中key是一个键值,而posting list是一组出现过key的TID(线程控制符)。对于表中的每一个属性,在建立索引时,每个item都可能会被解析成多个key,同一个TID可能会出现在多个posting list中,而每个key值只被存储一次,所以在相同的key在item中出现多次的情况下,GIN索引是非常简洁的。
S102:对所述北斗网格集合中的每一个北斗网格,基于GIN倒排索引,在关系型数据库中确定该北斗网格对应的空间对象,遍历所述北斗网格集合中的全部北斗网格,确定对应的空间对象,生成空间对象集合。
在本实施例中,所述目标查询范围可以是一个空间对象或者几个空间对象的集合,也可以是一块区域,确定所述目标查询范围对应的北斗网格集合后,对于北斗网格集合中的每一个北斗网格(该北斗网格为最小网格层级的北斗网格),基于GIN倒排索引,在关系型数据库中确定该北斗网格对应的空间对象,即与该网格存在索引关系的空间对象,例如,该网格在一个空间对象内,则存在索引关系的空间对象为一个,该网格部分在一个空间对象内,部分在另一个空间对象内,则存在索引关系的空间对象为两个,同理,与该网格存在索引关系的空间对象还可以为多个。按照同样的方式,遍历所述北斗网格集合中的全部北斗网格,确定对应的空间对象,生成空间对象集合,从而确定目标查询范围内存在的预查询的空间对象。
本实施例的上述过程只是对查询过程的原理进行说明,针对查询不同类型的空间对象,例如如何确定查询的空间对象是小区还是学校,则可以在空间对象对应的网格单元集合geomgrids中添加一个字段,该字段表征控件对象的属性,例如学校、小区等,这样,可以在查询空间对象的过程中,仅从学校或者仅从小区中查询。
由于全球的网格单元数量也是固定不变的,随着数据量的增大不会出现索引数据陡增的现象,因此,可以减小索引数据量,并且,有关北斗剖分码网格索引关系的精确判断,在索引检索的过程中通过整形数据的二进制位运算方法就能够精确匹配数据关系,不需要进一步的关系判断,降低计算开销,增大了查询性能。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应所述知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应所述知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
以上是关于方法实施例的介绍,以下通过装置实施例,对本公开所述方案进行进一步说明。
如图3所示,为本公开实施例三的基于数据库倒排索引的北斗网格空间索引装置的结构示意图。本实施例的基于数据库倒排索引的北斗网格空间索引装置,包括:
查询请求接收模块301,用于获取目标查询范围,确定所述目标查询范围对应的北斗网格集合。
空间对象集合生成模块302,用于对所述北斗网格集合中的每一个北斗网格,基于GIN倒排索引,在关系型数据库中确定该北斗网格对应的空间对象,遍历所述北斗网格集合中的全部北斗网格,确定对应的空间对象,生成空间对象集合。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图4示出了可以用来实施本公开的实施例方法的电子设备400的示意性框图。如图所示,设400包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的计算机程序指令或者从存储单元408加载到随机访问存储器(RAM)403中的计算机程序指令,来执行各种适当的动作和处理。在RAM 403中,还可以存储设备400操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
设备400中的多个部件连接至I/O接口405,包括:输入单元406,例如键盘、鼠标等;输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元401执行上文所描述的各个方法和处理,其被有形地包含于机器可读介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由ROM 402和/或通信单元409而被载入和/或安装到设备400上。当计算机程序加载到RAM 403并由CPU401执行时,可以执行上文描述的方法的一个或多个步骤。备选地,在其他实施例中,CPU401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述方法。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)等等。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (10)
1.一种基于数据库倒排索引的北斗网格空间索引方法,其特征在于,包括:
获取目标查询范围,确定所述目标查询范围对应的北斗网格集合;
对所述北斗网格集合中的每一个北斗网格,基于GIN倒排索引,在关系型数据库中确定该北斗网格对应的空间对象,遍历所述北斗网格集合中的全部北斗网格,确定对应的空间对象,生成空间对象集合。
2.根据权利要求1所述的基于数据库倒排索引的北斗网格空间索引方法,其特征在于,所述目标查询范围对应的北斗网格集合包括相同和/或不同网格层级的网格。
3.根据权利要求1所述的基于数据库倒排索引的北斗网格空间索引方法,其特征在于,所述关系型数据库中的坐标信息以网格单元gridcell的形式存储,所述网格单元gridcell以tb_location表为模型进行存储,tb_location表中包括坐标系的经纬度和高程字段以及grid字段,其中,grid字段包括网格层级字段level、经纬度剖分编码字段code和高程剖分编码字段zcode。
4.根据权利要求3所述的基于数据库倒排索引的北斗网格空间索引方法,其特征在于,所述方法还包括:
所述关系型数据库中的空间对象以网格单元集合geomgrids的形式存储,所述网格单元集合geomgrids包括对应的二维空间对象中的网格单元的经纬度剖分编码字段code和网格层级字段level,或者,三维空间对象中的网格单元的经纬度剖分编码字段code、网格层级字段level和高程剖分编码字段zcode。
5.根据权利要求4所述的基于数据库倒排索引的北斗网格空间索引方法,其特征在于,所述方法还包括:
预先建立空间对象与网格单元的索引,基于网格单元gridcell建立空间对象与网格单元的GIN倒排索引。
6.根据权利要求5所述的基于数据库倒排索引的北斗网格空间索引方法,其特征在于,所述预先空间对象与建立网格单元的索引,基于网格单元gridcell建立空间对象与网格单元的GIN倒排索引,包括:
预先确定每个空间对象中包含的最小网格层级网格单元,建立空间对象与所述最小网格层级网格单元的索引,基于所述最小网格层级网格单元,建立空间对象与网格单元的GIN倒排索引。
7.根据权利要求6所述的基于数据库倒排索引的北斗网格空间索引方法,其特征在于,所述方法还包括:
在所述最小网格层级网格单元对应的网格层级对应的区间范围内,基于层级关系建立网格单元gridcell之间的索引。
8.一种基于数据库倒排索引的北斗网格空间索引装置,其特征在于,包括:
查询请求接收模块,用于获取目标查询范围,确定所述目标查询范围对应的北斗网格集合;
空间对象集合生成模块,用于对所述北斗网格集合中的每一个北斗网格,基于GIN倒排索引,在关系型数据库中确定该北斗网格对应的空间对象,遍历所述北斗网格集合中的全部北斗网格,确定对应的空间对象,生成空间对象集合。
9.一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1~7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111143748.3A CN114048204A (zh) | 2021-09-28 | 2021-09-28 | 基于数据库倒排索引的北斗网格空间索引方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111143748.3A CN114048204A (zh) | 2021-09-28 | 2021-09-28 | 基于数据库倒排索引的北斗网格空间索引方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114048204A true CN114048204A (zh) | 2022-02-15 |
Family
ID=80204998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111143748.3A Pending CN114048204A (zh) | 2021-09-28 | 2021-09-28 | 基于数据库倒排索引的北斗网格空间索引方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114048204A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114238384A (zh) * | 2022-02-24 | 2022-03-25 | 阿里云计算有限公司 | 区域定位方法、装置、设备和存储介质 |
CN114820989A (zh) * | 2022-06-24 | 2022-07-29 | 中国空气动力研究与发展中心计算空气动力研究所 | 基于倒排索引的非结构网格共面关系快速建立方法 |
CN115374237A (zh) * | 2022-10-26 | 2022-11-22 | 北京数字政通科技股份有限公司 | 一种基于北斗网格码的矢量空间数据存储与查询方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103714145A (zh) * | 2013-12-25 | 2014-04-09 | 中国地质大学(武汉) | 关系型和Key-Value型数据库空间数据索引方法 |
CN109992636A (zh) * | 2019-03-22 | 2019-07-09 | 中国人民解放军战略支援部队信息工程大学 | 时空编码方法、时空索引及查询方法及装置 |
CN110147377A (zh) * | 2019-05-29 | 2019-08-20 | 大连大学 | 大规模空间数据环境下基于二级索引的通用查询算法 |
CN112347118A (zh) * | 2021-01-08 | 2021-02-09 | 阿里云计算有限公司 | 数据存储、查询与生成方法、数据库引擎及存储介质 |
-
2021
- 2021-09-28 CN CN202111143748.3A patent/CN114048204A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103714145A (zh) * | 2013-12-25 | 2014-04-09 | 中国地质大学(武汉) | 关系型和Key-Value型数据库空间数据索引方法 |
CN109992636A (zh) * | 2019-03-22 | 2019-07-09 | 中国人民解放军战略支援部队信息工程大学 | 时空编码方法、时空索引及查询方法及装置 |
CN110147377A (zh) * | 2019-05-29 | 2019-08-20 | 大连大学 | 大规模空间数据环境下基于二级索引的通用查询算法 |
CN112347118A (zh) * | 2021-01-08 | 2021-02-09 | 阿里云计算有限公司 | 数据存储、查询与生成方法、数据库引擎及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114238384A (zh) * | 2022-02-24 | 2022-03-25 | 阿里云计算有限公司 | 区域定位方法、装置、设备和存储介质 |
CN114820989A (zh) * | 2022-06-24 | 2022-07-29 | 中国空气动力研究与发展中心计算空气动力研究所 | 基于倒排索引的非结构网格共面关系快速建立方法 |
CN115374237A (zh) * | 2022-10-26 | 2022-11-22 | 北京数字政通科技股份有限公司 | 一种基于北斗网格码的矢量空间数据存储与查询方法 |
CN115374237B (zh) * | 2022-10-26 | 2023-01-03 | 北京数字政通科技股份有限公司 | 一种基于北斗网格码的矢量空间数据存储与查询方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114048204A (zh) | 基于数据库倒排索引的北斗网格空间索引方法和装置 | |
CN104199986B (zh) | 基于hbase和geohash的矢量数据空间索引方法 | |
CN112860689B (zh) | 一种基于时空网格数据的平台*** | |
CN107153711A (zh) | 地理信息数据处理方法及装置 | |
CN108009265B (zh) | 一种云计算环境下的空间数据索引方法 | |
CN103425772A (zh) | 一种具有多维信息的海量数据查询方法 | |
CN108804602A (zh) | 一种基于spark的分布式空间数据存储计算方法 | |
CN114048203A (zh) | 基于数据库B-tree索引的北斗网格空间索引与检索方法和装置 | |
CN113268557B (zh) | 一种适应显示导向型可视化分析的快速的空间索引方法 | |
CN114048271A (zh) | 北斗网格数据模型在数据库中的存储方法和装置 | |
CN113010620B (zh) | 基于地理多级网格的自然资源数据索引统计方法及*** | |
CN106991149B (zh) | 一种融合编码和多版本数据的海量空间对象存储方法 | |
CN114676368B (zh) | 基于标识码的地理实体信息展示方法、装置、设备及介质 | |
CN112214472A (zh) | 气象格点数据的存储及查询方法、装置及存储介质 | |
WO2022147923A1 (zh) | 一种面向空间数据的区块网安全组织存储映射方法 | |
CN116126942B (zh) | 一种多维空间气象网格数据分布式存储查询方法 | |
Jing et al. | An improved distributed storage and query for remote sensing data | |
Li et al. | Method for managing and querying geo-spatial data using a grid-code-array spatial index | |
CN116775661A (zh) | 基于北斗网格技术的空间大数据存储与管理方法 | |
CN106503811A (zh) | 一种基于大数据的基础设施全生命周期管理方法 | |
JP2023543004A (ja) | ヒルベルト曲線に基づくr木インデックスのマージ更新方法、装置及び媒体 | |
Wu et al. | A spatiotemporal trajectory data index based on the Hilbert curve code | |
CN112597262B (zh) | 一种基于空间网格的行业地址序号生成方法及装置 | |
CN103106254B (zh) | 多边形矢量数据文件的并行拼接方法 | |
CN116775971A (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 |