1、第 卷第期 年月测绘科学 作者简介:陈曦(),男,江苏盐城人,硕士研究生,主要研究方向为 系统开发和空间大数据关联分析。:收稿日期:基金项目:国家重点研发计划项目()通信作者:樊红 教授 :引文格式:陈曦,樊红 北斗网格空间关联模型及其支持的兴趣点快速检索 测绘科学,():(,():):北斗网格空间关联模型及其支持的兴趣点快速检索陈曦,樊红(武汉大学 测绘遥感信息工程国家重点实验室,武汉 )摘要:针对传统地理大数据的组织存储模式无法满足兴趣点()相关的经纬度和地名的快速检索及其关联检索新需求的问题,该文提出了基于北斗网格码的空间关联模型,使用 图数据库对地理大数据进行组织与存储,降低了地理大数
2、据关联难度;设计了基于该文空间关联模型的空间数据检索策略,提升了空间数据关联检索速度。分别设计了行政区、矩形和圆形三种空间搜索的网格检索优化策略,开展了查询效率对比实验验证。结果表明,基于北斗网格空间关联模型的检索策略,在网格搜索文本关键字结合检索模式中检索效率明显提高,改善了不同数据量情形下的检索效率;在全文检索空间文本混合搜索模式中极大程度减少中间结果的数量,节省了计算量,同时保持结果按相似度排序,可应用于多种行业地理大数据的高效检索。关键词:北斗网格位置码;空间关联模型:空间文本混合检索;图数据库【中图分类号】【文献标志码】【文章编号】(),(,):(),;,;,:;:;测绘科学第 卷引
3、言空间观测手段的进步和发展催生了空间大数据,同时推动空间大数据的应用从传统的测绘领域向相关行业发展,形成了多源异构的行业地理大数据。传统的行业数据查询通过关系数据库的组织和采用中间表建立 不 同数 据 的 联 系 得 以 实现,然而地理大数据提出了更多的 相关的经纬度和地名的检索及其关联检索新需求,如何有效地检索这些包含经纬度和广义地名位置信息的多源异构行业 大数据及其关联数据成为具有挑战性的问题。本文拟针对行业相关的地理大数据的快速检索问题开展聚焦研究,期望基于北斗网格码构建空间关联模型实现行业地理大数据的快速检索。一些学者关注和研究了地理大数据的高效检索问题。文献 从地理空间数据处理的角度
4、分析了 种 数据库的优缺点,肯定了图数据库在特定检索场景的优势。文献 提出一种基于矢栅一体化的多源地理空间信息关联模型,但是该模型的矢量数据与属性数据必须与栅格图像关联,不具有通用性。文献 研究了使用图数据库 处理相互连接且低结构化的空间大数据,然而空间数据的关联的挖掘要基于图论的运算,过程复杂且不直接。文献 通过建立空间规划单元关联模型能较好地查询关联数据,然而该模型使用的空间规划单元只支持空间包含操作,无法进行 经 纬 度 计 算 满 足 范 围 查 询 要 求 等。文献 提出的广义空间数据关联模型较为完善,使用了基于 及整型一维数组全球经纬度剖分网格(,)进行空间数据关联,但是该模型存在
5、不支持结果相似度排序、查询时间随空间范围线性增加等问题。文献 从地理空间数据的语义知识构造检索语句,无法针对空间条件的查询。基于文献分析,目前开展空间检索的文献为数不少,但是基于空间编码的关联检索的研究较少。全球覆盖的多级剖分的地理网格码研究的发展为建立关联模型提供了基础。本文拟利用目前我国自主制定的 北斗网格位置码全球空间网格划分和编码规范成果 实现行业 大数据的直接关联,首先构建了基于北斗网格码的空间关联模型,在此基础上研究了空间文本混合搜索关联检索策略,实现了行业 大数据的高效检索,同时开展了对比试验研究,验证了本文提出的关联模型和检索方法的可行性和有效性。空间关联模型的构建 北斗网格码
6、介绍北斗网格码,是在全球剖分网格基础上发展出的一种多尺度、离散、适用于导航定位服务的全球地理网格编码模型。北斗二维网格位置码编码规则由最多不超过 个码元组成,按照从左到右的顺序分成 段,分别对应地球表面南北半球以及第一级至第十级网格。北斗二维网格位置码编码结构与代码取值见表。表北斗二维网格位置码编码结构与代码取值 网格等级网格大小编码位数取值范围南北半球、第一级网格 第二级网格 第三级网格 第四级网格 第五级网格 第六级网格 第七级网格 第八级网格 第九级网格 第十级网格 从表可知,北斗网格码具备如下几个优点:)北斗网格位置码与现有地形图图幅 具有较好的兼容性。万与 万地形图图幅分别与第层、第
7、层二维网格等价,其他比例尺系列地形图也可以用合适层级的二维网格聚合形成。这种兼容性意味着对于任意一个比例尺的地形图均可以使用一组北斗网格码表示,为检索特定地形图的空间数据提供了便利。北斗网格位置码与国家基本比例尺地形图图幅的转换关系示例参见表。第期陈曦,等 北斗网格空间关联模型及其支持的兴趣点快速检索表北斗网格码与国家基本比例尺地形图图幅的转换关系 图幅比例尺图幅经纬度范围北斗网格位置码层级网格大小转换方式 万 等价 万 网格聚合 万 网格聚合 万 网格聚合万 等价 万 网格聚合万 网格聚合 网格聚合)北斗网格码的编码按照层级进行,可以根据实际的精度需求缩短编码的等级,以节省存储空间。并且同一
8、经纬度的高等级编码一定以低等级编码为前缀,相同长度相同前缀的编码一定属于同一级网格,这种特性使得在检索网格时只需要简单的前缀匹配即可。基于北斗网格码的空间关联模型为了有效地组织行业地理大数据,提高其空间关联检索效率,本文设计了一种基于北斗网格码的空间关联模型。该模型包含种数据节点:节点、广义地名节点、北斗网格位置码编码节点、非结构化数据节点。节 点 直 接 描 述 数 据,包 括 空 间 数据(如经纬度)和属性数据(如实体名称)。节点是该模型的基础实体节点,其他节点均需直接与 节点建立联系,从而形成图结构。广义地名节点描述行政区名称等,包括 省、市、县、街道(乡),并 与 其 管 辖 的 行
9、政 区 建 立“管辖”关联。在按照行政区进行空间检索时,需要从行政区节点开始进行检索,因此 节点需要与广义地名节点建立“位于”关联。北斗网格位置码编码节点代表了一个北斗网格码对应的空间范围。参照各层级网格的实际长度范围(见表),分别计算出省、市、县、街道(乡)包括的北斗网格位置码,据此建立广义地名节点和覆盖地名区域的北斗网格位置码编码节点之间的“覆盖”关联。同时北斗网格位置码编码节点内部低等级编码与高等级编码建立“包含”关联。上述策略可以保证按照省市县街道(乡)的逻辑检索到所有网格。乡一级北斗网格位置码编码节点需要与同一级网格中的所有 节点建立“拥有”关联。表北斗网格层级映射表 北斗网格编码层
10、级定义层级经纬度范围长度范围 省 市 县 街道(乡)节点只包含了最基础的名称、空间位置等信息,非结构化数据节点用来存储 非结构化数据,可记录文字、图片、视频、矢量数据、栅格数据、三维模型等多种数据类型。每一个 非结构化数据节点均包含实体名称、数据类型、数据内容等字段,并与对应的 节点建立“拥有属性”关联。因此模型中的种节点之间存在以下联系,如图所示。图空间关联模型示意图 以实 体 名 称 为“武 汉 大 学”的 节 点 为例,通过该 的经纬度坐标(,)计 算 出 其 北 斗 网 格 位 置 码 为 ,则该 节点需要与名称为 的第四级北斗网格位置码节点建立“拥有”关联,同时北斗网格码节点也递归地
11、与上一级北斗网格码节点建立“拥有”关联,即 拥 有 拥 有 拥有 。由于“武汉大学”位于湖北省武汉市武昌区珞珈山路,因此该 节点与名为“珞珈山路”的广义地名节点建立“位于”关联,同时广义地名节点也递归地与上一级广义地名节点建立“管辖”关联,即湖北省 管辖武汉市 管辖武昌区 管辖珞珈山路。最后,“武汉大学”的非结构化数据,例如介绍视频、封面照片、三维模型、街景等,以各自的 形成非 结 构 化 数据 节点,并与该 节 点 形 成“拥有属性”关联。本文使用图数据库 作为数据存储与模型构建的平台。基于图模型来存储实体关系数测绘科学第 卷据,其中实体对应图的节点,关系对应图的边,节点和关系的属性用来存储
12、对应的相关数据,这种图模型能够直观简洁的存储与访问本文设计的模型中的各个节点与关系。此外,可扩展数十亿节点和关系的存储,文件输入输出性能高,尤其是路径查询具备独特优势,这对于海量的 节点的存储、各个节点之间众多的联系的查询提供了便利。基于关联模型的空间数据检索 空间查询的整体解决方案本文重点研究空间文本混合检索,考虑空间网格搜索文本关键字检索结合和单一全文检索实现空间网格文本关键字检索两种检索形式,空间搜索细分为行政区搜索、矩形搜索、圆形搜索。本文将基于论文构建的北斗网格码的空间关联模型设计和优化这两类检索形式从而优化 行业大数据的检索,其解决方案如下:)网格搜索文本关键字检索结合模式。检索空
13、间范围较小情形(北斗网格码大于等于级),基于空间编码节点建立网格索引,先搜索待检索范围网格集,即大致确定复合空间条件的网格集,再依次对落入网格集点的关联 节点进行实体名称等关键字匹配。检索空间范围较大情形(北斗网格码小于级),采用混合索引方式,在顶层建立北斗网格节点的网格索引,其后再为每个格网建立 节点实体名称集的二级文本索引。故查询分成两步,先解算出符合空间条件的格网集,再遍历其每个格网保留符合条件的 节点集。如图所示。图网格搜索文本关键字检索流程图 )全文检索空间文本混合搜索模式。基本策略是在全文索引中加入北斗网格码信息,对每一个 节点的实体名称字段和北斗网格码字段同时建立全文索引,检索时
14、同时对这两个字段进行关键词匹配。若目标 节点包含在由空间搜索条件规定的某一空间范围内,则该空间范围的网格码必为目标 节点网格码的前缀,故使用通配符匹配可以确定是否存在此前缀关系。如图所示。图全文检索空间文本混合检索流程图 网格搜索关键算法策略基于论文关联模型实现空间搜索优化的关键是将几何空间搜索转化为待检索范围包含的网格集及网格编码集的计算,称为网格搜索或网格计算。下面分别给出行政区、矩形和圆形搜索时网格搜索的核心算法思想。行政区搜索的网格计算行政区搜索依据行政区名称确定空间范围,根据输入的行政区名称在 数据库中检索出对应的广义地名节点,该广义地名节点关联的编码节点的北斗网格位置码即为待搜索的
15、网格编码。矩形搜索的网格计算矩形搜索按照用户指定的矩形框搜索。一方面,转化后的网格集的空间范围必须能完全覆盖矩形搜索框,另一方面,也要避免网格集包含过多的搜索区域外网格,使用高等级网格意味着待检索网格数量急剧增加(每增加一级网格的等级,网格的数量将扩大至少倍),这会导致在 中检索北斗网格位置码编码节点时间消耗增加。因而,搜索中要求尽量使用较优层级网格较精确第期陈曦,等 北斗网格空间关联模型及其支持的兴趣点快速检索覆盖选中区域。因此确定较优网格层级是算法的核心。本文设计了一种较优网格层级的计算方式,以保证在覆盖矩形框的同时降低待检索网格数量。假设绘 制 的 矩 形 搜 索 框 的 西 南 角 经
16、 纬 度 为,东北角经纬度为,这两点的北斗二维网格编码,设分别为 和,其中,与 是计算得出两个角点的 级编码。计算 和 的编 码共 同 前 缀 ,设 对应的网格码为 。根据北斗二维网格码的编码规则,是 网格和 网格的上层父亲,也是完全覆盖搜索范围的最小单一网格。给出较优搜索层级的计算过程如式()所示。(,)()式中:为较优搜索层级;为父亲网格 的层级;为求最小值函数。其中,的取值不能大于北斗网格码的最高层级第 级。待检索的网格集合为从 到 的所有级北斗二维网格,见式()。()式中:为待检索的网格集合;和 编码分别代表 与 对应的级的编码。以图为 例,西 南 角 网 格 十 级 编 码 为 ,东 北 角 的 网 格 编 码 为 ,其公共前缀为 ,为第级网格,它是完全覆盖搜索范围的最小单一网格,其中包含了 个级网格,而图中待检索区域只占了个级网格,因此需要选取较优层级为级。图矩形搜索网格确定示意图 对 和 缩短至第四级,得到 和 ,那么待检索的网格为 到 的所有网格集:、,参见图中黄色区域。圆形搜索的网格计算圆形搜索是用户指定的圆形搜索框进行搜索。与矩形搜索网格确定的原则一样,圆形网格的核