基于退化四叉树的时空网格索引查询方法和系统技术方案

技术编号:38904797 阅读:15 留言:0更新日期:2023-09-22 14:22
本发明专利技术公开了一种基于退化四叉树的时空网格索引查询方法和系统,包括:通过时空网格编码转换将时空位置信息转换为对应的时空网格编码,并通过空间尺度和时间尺度的格网化方法对两个尺度分别格网化然后合并得到完整的时空网格编码集合。在进行时空轨迹点查询时,利用时空查询区域网格化方法确定时空查询范围,查找相应的时空表,并通过数据库范围查询方式检索出满足条件的轨迹点数据。本发明专利技术的优点是:具有高效性、灵活性、数据可视化、兼容性和扩展性等优点,可实现时空数据与时空网格编码的高效转换,可减少在postgresql数据库中时空信息检索时间。空信息检索时间。空信息检索时间。

【技术实现步骤摘要】
基于退化四叉树的时空网格索引查询方法和系统


[0001]本专利技术涉及时空数据管理及查询
,特别涉及一种基于退化四叉树的时空网格索引查询方法和系统。

技术介绍

[0002]地理时空数据是指具有地理位置和时间信息的数据,在自然、社会、经济、环境等方面都具有重要的应用价值。随着科技的不断进步和数据获取技术的发展,人们能够更加精准地记录和分析地球上各种现象的变化和演化,例如气候变化、城市扩张、人口流动等。地理时空数据的研究可以帮助人们更好地理解和预测这些变化,为决策制定提供支持,同时也为各种领域的应用提供了数据基础。因此,地理时空数据的研究和应用已经成为当今世界各个领域中备受关注和重视的课题之一。时空轨迹数据蕴含着丰富的时空信息,能动态反映城市的运行状态,可以从中挖掘出高附加值的信息,从而为城市的高效管理、社会流畅运行、社会服务效率的提升提供决策支持。
[0003]目前,传统以对象为中心数据索引组织方法在时空轨迹数据组织和管理中较为常见,在这类索引中,国内外学者提出了很多经典索引,这些索引大多在空间索引结构体上衍生出三维面向实体的索引,如RT树、3DR树、STR树、MTSB树、PH树。这种传统的方法已很难适应高实时性时空轨迹点数据处理,难以实现实时或准实时的业务需求,数据建模方法难以满足大规模轨迹流数据的高效组织与管理需求。
[0004]目前,基于时空划分的索引方式成为当下地学领域的研究热点之一。基于时空划分的方式是在地球剖分格网上进行扩展的,地球剖分格网以地球的本质空间

球体(面)为空间划分对象,其可以无限细分,但又不改变形状,当细分到一定程度时,可以达到模拟地球的目的。地球剖分格网可作为时空统一数据组织框架,可以将不同来源数据组织到该框架中。同时,格网具有良好的层次性,适用于多分辨率数据的组织、管理与分析,也适用于动态连续的轨迹数据局部聚集特征的表达。
[0005]基于时空划分的索引方式的主要研究方向有两类,一类是单一索引即时空一体化网格,另一类是对时间和空间单独建立索引,两者分别查询。单一索引具体是针对单一字段建立的索引,该字段即包含空间信息又包含时间信息,通过地理网格编码与时间信息结合得到。单一索引不仅加大了数据存储空间和索引结构空间,还限制了索引的查询效率。基于时空划分的索引方式,程承旗(2019)将轨迹划分为子轨迹并建立四叉树空间索引,并对位于四叉树同一节点的子轨迹,依据其时间信息建立时间索引;实现了在具有较大时间跨度的空间区域上的高效查询,但限制了在时间维度的查询性能。
[0006]DQG格网是一种变经纬度格网,具有连续剖分层次性、父子单元嵌套性和网格编码连续性等特点。DQG与传统的经纬度GeoHash相比,不存在高纬度地区格网变形大缺陷,且格网索引效率高。同时DQG网格向高度维进行衍生,在高度维进行二分递归,基于退化八叉树剖分方式探讨DQG_3D格网,并使用编码将三维对象表达为一维格网,在继承二维DQG格网优点的同时,用于表达空中物体在网格空间中的位置。
[0007]综上所述,为了更好地组织高动态数据和高并发数据,基于时空划分的索引方法是更好的选择。且DQG格网编码的索引适用性更好,可对不同尺度的轨迹数据编码,建立轨迹点/轨迹线的时空索引。

技术实现思路

[0008]本专利技术针对现有技术难以对轨迹数据高效组织和管理,搜索效率慢的问题,提供了一种基于退化四叉树的时空网格索引查询方法和系统。在DQG多尺度的编码结构上,针对时间编码建立时间分区,去除非必要的时间节点,并在时间和空间尺度上采取融合的方法建立时空编码,使用键值存储的方式存储时间编码,从而提出了一种三维时空格网编码结构,并实现了与时空数据快速转换。在数据库postgresql中建立时空分区表,并使用基于退化四叉树的时空格网ST_DQG(Spatiotemporal Degenerate Quadtree Grids,ST_DQG)与B+树索引结合的建立时空索引,使用DQG多尺度节点范围查询进行时空数据检索。ST_DQG编码可以实现与时空数据快速转换,且具有多尺度的特性,从而提高了时空轨迹点数据搜索效率。
[0009]为了实现以上专利技术目的,本专利技术采取的技术方案如下:
[0010]一种基于退化四叉树的时空网格索引查询方法,包括:时空网格编码转换、时空数据网格化和时空轨迹点时空查询。
[0011]所述时空网格编码转换包括:
[0012]利用DQG多尺度空间格网结构,将网格单元进行编码。不同尺度的网格单元均通过时空网格编码结构来表示,每个时空编码对应一个网格单元,从而实现了时间和空间的整合。
[0013]在时空一体的网格结构中采用填充曲线Z

ordering算法,按照一定的连接顺序将三维时空格网连接成一条连续的曲线。通过该算法,可以将三维空间转换为一维编码模式,可以通过二分查找即可快速实现地理数据的快速访问。
[0014]根据生成的时空网格编码和实际时空位置信息,设计出时空网格编码转换算法。该算法根据编码规则将时空位置信息转换为对应的时空网格编码,同时也可以将时空网格编码转换为对应的时空位置信息。在进行时空点数据的查询检索时,可以通过时空网格编码转换算法在数据库中快速地检索出轨迹点数据。
[0015]所述时空数据网格化包括:
[0016]空间尺度的格网化:将查询区域在空间上按照一定的空间分辨率划分为一系列网格单元,采用行列号坐标+八分码形式的结构体作为网格单元的标识。网格单元的大小取决于空间分辨率的精度,越小的空间分辨率会划分出越小的网格单元。
[0017]时间尺度的格网化:将查询区域按照一定的时间分辨率划分为一系列时间段,采用32位无符号整型作为时间尺度的标识。时间尺度的划分可以根据实际数据的特点来确定,比如,一分、一个小时、一天等。
[0018]时空网格编码集合:将空间尺度和时间尺度的网格划分进行结合,采用时空坐标进行标识,得到完整的时空网格编码集合,并通过Z

ordering曲线合并减少时空编码集合数量。在进行时空数据查询时,可以通过该时空网格编码集合进行高效的检索查询,提高查询效率。
[0019]所述时空轨迹点时空查询包括:
[0020]将输入的PointM类型转换为时空编码并存储于合适的数据库表,然后对时空轨迹点数据进行等值或时空区域查询,按照时空查询区域网格化方法确定查询范围并查找相应时空表,最后通过数据库范围查询方式检索出满足条件的轨迹点数据。
[0021]进一步地,所述时空网格编码转换中时空索引结构采用时空信息联合编码,时间编码采用分区键和排序键的设计,具体指分为时空分区键和时空一体化编码,时空分区键由八分体码和时间编码分区键联合确定;时空一体化编码采用Morton码,由空间行列号和时间排序键交叉取位得到,并采用标记位的方式将其转换为多尺度编码。时间粒度根据数据大小、采样频率、数据库约束等因素进行计算得出,空间层级根据航线要素分布、存储代价、查询时间等因素确定本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于退化四叉树的时空网格索引查询方法,其特征在于,包括:时空网格编码转换、时空数据网格化和时空轨迹点时空查询;所述时空网格编码转换包括:利用DQG空间格网结构,将网格单元按多尺度进行编码;利用DQG多尺度空间格网结构,将网格单元进行编码;不同尺度的网格单元均通过时空网格编码结构来表示,每个时空网格编码对应一个网格单元,从而实现了时间和空间的整合;在时空一体的网格结构中采用填充曲线Z

ordering算法,按照一定的连接顺序将三维时空格网连接成一条连续的曲线;通过填充曲线Z

ordering算法将三维空间转换为一维编码模式;根据生成的时空网格编码和实际时空位置信息,设计出时空网格编码转换算法;时空网格编码转换算法根据编码规则将时空位置信息转换为对应的时空网格编码,或者将时空网格编码转换为对应的时空位置信息;所述时空数据网格化包括:空间尺度的格网化:将查询区域在空间上按照一定的空间分辨率划分为一系列网格单元,采用行列号坐标+八分码形式的结构体作为网格单元的标识;时间尺度的格网化:将查询区域按照一定的时间分辨率划分为一系列时间段,采用32位无符号整型作为时间尺度的标识;时空网格编码集合:将空间尺度和时间尺度的网格划分进行结合,采用时空坐标进行标识,得到完整的时空网格编码集合,并通过Z

ordering曲线合并减少时空编码集合数量;所述时空轨迹点时空查询包括:将输入的PointM类型转换为时空编码并选取合适数据库表,然后对时空点数据进行等值或时空区域查询,按照时空查询区域网格化方法确定查询范围并查找相应时空表,最后通过数据库范围查询方式检索出满足条件的轨迹点数据。2.根据权利要求1所述的一种基于退化四叉树的时空网格索引查询方法,其特征在于:所述时空网格编码转换中时空索引结构采用时空信息联合编码,时间编码采用分区键和排序键的设计,具体指分为时空分区键和时空一体化编码,时空分区键由八分体码和时间编码分区键联合确定;时空一体化编码采用Morton码,由空间行列号和时间排序键交叉取位得到,并采用标记位的方式将其转换为多尺度编码;时间粒度根据数据大小、采样频率、数据库约束等因素进行计算得出,空间层级根据航线要素分布、存储代价、查询时间等因素确定;空间纬度不仅可以是二维还可以是三维空间,时间编码则采用扩展二分法。3.根据权利要求1所述的一种基于退化四叉树的时空网格索引查询方法,其特征在于:所述将时空位置信息转换为对应的时空网格编码,包括以下步骤:S11:给定经纬度高度坐标时间信息(L,B,H,T),根据经纬度与八分码的关系,确定时空单元所对应的八分码octant;S12:根据给定的空间剖分等级level,计算纬度差ΔB,从而得到行号i;S13:计算给定的空间剖分等级Level下i行格元的经度差ΔL;S14:根据经度差ΔL和经度L计算列号j;S15:根据空间剖分层级,计算高度差ΔH并得到层号h;S16:将时间t转换为时间结构体pg_tm tm,并按照时间扩展二分法将其转换为时间编码TCode;
S17:根据时间粒度T,将时间编码TCode分为分区键FTCode和排序键PTCode,并将时间分区键和八分体编码结合为时空分区键FST_Code,对时间排序键进行变换;S18:将行号i、列号j、层号h、时间排序键PTCode进行交叉取位,得到二进制的时空编码stcode,加入空间剖分层级形成多尺度编码,组合FST_Code,时空编码stcode,时间粒度T和时间层级TLevel,从而生成时空结构体STcode_FP64。4.根据权利要求1所述的一种基于退化四叉树的时空网格索引查询方法,其特征在于:所述将时空网格编码转换为对应的时空位置信息,包括以下步骤:S21:由时空结构体STcode_FP64,得到时间粒度T,时间剖分层级TLevel,并得到空间剖分层级Level;S22:根据时空分区键,取出uint32_t类型中最高位为前三位的八分码octant,根据时间粒度T,...

【专利技术属性】
技术研发人员:赵学胜黄晓刚李靖吕子川
申请(专利权)人:中国矿业大学北京
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1