一种时空地理大数据的检索方法及系统的利记博彩app

文档序号:9667440阅读:639来源:国知局
一种时空地理大数据的检索方法及系统的利记博彩app
【技术领域】
[0001] 本发明涉及时空数据检索与查询技术领域,主要涉及一种面向海量时空地理大数 据的检索方法及系统。
【背景技术】
[0002] 在地理信息领域,随着传感器技术的发展,采集数据的空间分辨率和时间分辨率 显著提高,导致所获取的数据规模呈指数级快速上升,以TB,甚至PB计量的观测数据给空 间数据存储和处理带来巨大的压力。此外,物联网、移动互联网和云计算技术及应用的蓬勃 发展,使得空间数据在处理的数据量和应用模式上发生了转变。这些因素都在宣示时空大 数据时代的来临。时空大数据除了具备普通大数据的"4V"特征外,时空大数据还具备时间 和空间上的强关联特性,这也正是时空大数据的核心价值所在。
[0003] 时空大数据来源主要包括原位传感器实时数据、GPS动态轨迹数据、视频流数据 等。这些观测数据具有结构复杂且结构不统一、观测密集且观测频率不一致、分布广泛且密 集程度不一致特点。
[0004]当前,传感网数据的索引技术还存在着诸多问题,主要体现在:
[0005] 传统的空间数据库和时空数据库常使用基于树的索引(如R-Tree、四叉树等)进 行索引。在时空数据库中,这两种索引结构尤其是R-Tree系列繁衍成了众多的家族树。在 时空数据库研究领域中,R-Tree的变种(3DR-Tree、RT-Tree、HR_Tree等)在学术领域中获 得认可和肯定,但是在商业应用却并不广泛。此外,在时空大数据背景下,R-Tree及其变种 并不适用于数据高并发、时空高维度的情况。这是由于随着数据的爆炸性增长及维度的增 加,R-Tree及变种树的维护变得异常复杂,其索引性能也随之急剧地恶化,令到树的操作成 本也随之变高。
[0006] 为了提高时空数据检索与查询的效率,需要引入行之有效的时空索引技术。传统 的时空索引技术通常借鉴于空间索引技术,不同之处在于时空索引中的维度除了空间维度 之外还包括时间维度。常用的一些空间索引方法不能直接应用于时空数据索引。这是因 为,传统的空间索引方法主要用来快速检索静态的空间对象,在静态数据库中更新的数据 较少,索引方法更多地只是考虑查询效率。而在移动对象数据库等应用中,时空对象的位置 频繁更新会引起索引结构的动态变化,所以时空索引除了要考虑数据的查询效率,还必须 考虑索引的更新问题。但目前尚未有行之有效的技术方案出现。

【发明内容】

[0007] 针对现有技术不足,本发明融合时空编码技术,提供一种时空地理大数据的检索 方法及系统。
[0008] 本发明的技术方案提供一种时空地理大数据的检索方法,存储时空数据时,根据 时空数据生成时空编码,然后存入数据库,所述时空数据包含空间属性及时间属性;进行时 空范围查询时,根据所要查询的时间及空间范围,转换生成相应时空编码,然后通过与数据 库中存储的时空编码进行字符串模糊匹配,得到查询结果;
[0009] 所述生成时空编码,包括以下步骤,
[0010] ①根据精度要求,依次计算经度、炜度、时间三个维度的二叉树的叶子节点的范围 如下,
[0011]
[0012] 其中,r表示最底层叶子节点二分范围的大小,[Xmin,,Xmax]表示根节点的范围,h 表示二叉树的层数;
[0013] ②根据步骤①所得结果数值,分别对经度、炜度、时间转换成十进制编码如下,
[0014]
[0015] 其中,\表示输入的数值,Cd表示十进制的编码;
[0016] ③将步骤②所得的十进制编码转换成二进制编码;
[0017] ④将经度、炜度、时间的二进制编码按照预定顺序交叉编码,获得交叉的二进制编 码;
[0018] ⑤将交叉的二进制编码转换成Base64字符串;
[0019] ⑥在Base64字符串前面添加年份信息;
[0020] 进行时空范围查询时,实现方式为,设输入空间范围Es及时间范围Et,搜 索返回符合查询条件Q(Es,Et)的时空点集合,其中,Q(Es,Et)对应的时空范围为 (Lonnin,Lat_,Timenin),(Lon_,Lat_,Timenax) ;Lonnin为时空范围中的最小经度值,Latηιη 为时空范围的最小炜度值,Time_为时空范围的最小时间值;Lon_为时空范围的最大经 度值,Lat_为时空范围的最大炜度值,Time_为时空范围的最大时间值;根据查询条件 Q(Es,Et)进行搜索的过程如下,
[0021] 步骤1,在八叉树上找能够包含Q(Es,Et)的最小包围盒:
[0022] 1A)根据给定的空间范围Es及时间范围Et,计算经度、炜度、时间的差值dlcin、dlat、 dtime如下,
[0023]
[0024] 1B)根据步骤1A)所得结果,得到经度、炜度、时间的分辨率rlcin、rlat、rtinK,包括令 -^londi〇n、rial:diat、rtime ^time?
[0025] 1C)根据步骤IB)所得分辨率ric]n、riat、rtinK,得到每一个维度在各自的二叉树上的 深度hlOT1、hlat、htinie;
[0026] ID)比较hlcm、hlat、htinie得到最小值h咖;
[0027] IE)根据查询条件Q(Es,Et)的时空立方体,基于ID)所得h_生成时空立方体八 个端点的时空编码相应的字符串集合,记为字符串集合a;
[0028] IF)根据步骤1E)中的字符串集合,对时空立方体八个端点原始的经度、炜度、时 间继续分割两次,生成新的字符串集合,记为字符串集合b;
[0029] 步骤2,精简步骤字符串集合;
[0030] 2A)比较查询条件Q(Es,Et)的时空立方体与步骤1F)中所得字符串集合b的交 集;
[0031] 2B)根据交集结果,对步骤1F)中所得字符串集合b去交集中重复的字符串;
[0032] 如果去除重复的字符串后,数目少于64,则采用当前的字符串集合b作为匹配依 据,进入步骤2C);
[0033] 否则,比较查询条件Q(Es,Et)的时空立方体与步骤1的E)中所得字符串集合a 的交集,对字符串集合a去交集中重复的字符串,采用当前的字符串集合a作为匹配依据, 进入步骤2C);
[0034] 2C)根据步骤2B)的结果,和数据库中存储的时空编码进行字符串模糊匹配;
[0035] 步骤3,根据查询条件Q(Es,Et)对匹配的记录进行过滤。
[0036] 而且,步骤1C)中,根据分辨率计算二叉树上的深度采用以下公式,
[0037]
[0038] 其中,h= 21,1表示Base64编码字符串的长度,r表示最底层叶子节点二分范围 的大小,采用分辨率。
[0039] 而且,步骤2C)中,设匹配的记录值为(Lon,Lat,Time),相应过滤条件如下,
[0040]
[0041] 其中,Lon,Lat,Time分别为记录值的经度、炜度、时间。
[0042] 本发明还相应提供一种时空地理大数据的检索系统,包括时空数据存储模块和时 空范围查询模块,
[0043] 所述时空数据存储模块,用于根据时空数据生成时空编码,然后存入数据库,所述 时空数据包含空间属性及时间属性;所述生成时空编码,包括以下步骤,
[0044] ①根据精度要求,依次计算经度、炜度、时间三个维度的二叉树的叶子节点的范围 如下,
[0045]
[0046]其中,r表示最底层叶子节点二分范围的大小,[Xmin,,Xmax]表示根节点的范围,h 表示二叉树的层数;
[0047] ②根据步骤①所得结果数值,分别对经度、炜度、时间转换成十进制编码如下,
[0048]
[0049] 其中,&表示输入的数值,C d表示十进制的编码;
[0050] ③将步骤②所得的十进制编码转换成二进制编码;
[0051] ④将经度、炜度、时间的二进制编码按照预定顺序交叉编码,获得交叉的二进制编 码;
[0052] ⑤将交叉的二进制编码转换成Base64字符串;
[0053] ⑥在Base64字符串前面添加年份信息;
[0054] 所述时空范围查询模块,用于根据所要查询的时间及空间范围,转换生成相应 时空编码,然后通过与数据库中存储的时空编码进行字符串模糊匹配,得到查询结果;进 行时空范围查询时,实现方式为,设输入空间范围Es及时间范围E,搜索返回符合查询条 件Q(Es,Et)的时空点集合,其中,Q(Es,Et)对应的时空范围为(Lon_,Lat_,Time_), (Lon_,Lat随,Time_) ;Lon議为时空范围中的最小经度值,Lat_为时空范围的最小炜度 值,Time_为时空范围的最小时间值;Lon_为时空范围的最大经度值,Lat_为时空范围的 最大炜度值,Time_为时空范围的最大时间值;根据查询条件Q(Es,Et)进行搜索的过程如 下,
[0055] 步骤1,在八叉树上找能够包含Q(Es,Et)的最小包围盒:
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1