一种基于GeoHash的矢量数据编译方法技术

技术编号:29526307 阅读:30 留言:0更新日期:2021-08-03 15:12
本发明专利技术公开了一种基于GeoHash的矢量数据编译方法,包括:获取地理坐标源数据对应的经纬度范围;设定单个网格对应的经纬度的跨度信息;根据所述经纬度范围及单个网格对应的经纬度的跨度信息,确定索引所需的网格数量;根据所述网格数量构建索引树,并对所述索引树进行初始化,生成索引树描述文件,根据所述索引树描述文件获取地理坐标源数据的geohash的b i t长度;读取目标数据,获取所述目标数据的经度和纬度;根据所述geohash的b it长度,分别对目标数据的经度和纬度进行计算,得到所述目标数据对应的geohash值;根据所述geohash值查询所述索引树,确定目标网格,将所述geohash值放入目标网格内。用户可以灵活自定义网格尺寸,避免数据冗余或者索引过多等问题。

【技术实现步骤摘要】
一种基于GeoHash的矢量数据编译方法
本专利技术涉及数据编译
,特别涉及一种基于GeoHash的矢量数据编译方法。
技术介绍
目前,GeoHash本质上是空间索引的一种方式,其基本原理是将地球理解为一个二维平面,将平面递归分解成更小的子块,每个子块在一定经纬度范围内拥有相同的编码。以GeoHash方式建立空间索引,可以提高对空间矢量数据进行编译的效率。现有技术中存在以下问题:1、构建的空间索引长度相对固定,无法根据不同数据源设置变长索引,不够灵活,在一定程度上降低了检索的效率;2、对矢量数据的属性信息及空间信息压缩度较小,导致编译后的二级制格式文件尺寸较大,占用过大内存,同时不利于数据处理。
技术实现思路
本专利技术旨在至少一定程度上解决上述技术中的技术问题之一。为此,本专利技术的目的在于提出一种基于GeoHash的矢量数据编译方法,构建的空间索引长度不固定,用户可以根据不同数据源设置变长索引,更加灵活,提高了索引检索的效率。为达到上述目的,本专利技术实施例提出了一种基于GeoHash的矢量数据编译方法,所本文档来自技高网...

【技术保护点】
1.一种基于GeoHash的矢量数据编译方法,其特征在于,所述方法包括:/n获取地理坐标源数据,对所述地理坐标源数据进行解析,获取所述地理坐标源数据对应的经纬度范围;/n设定单个网格对应的经纬度的跨度信息;/n根据所述经纬度范围及单个网格对应的经纬度的跨度信息,确定索引所需的网格数量;/n根据所述网格数量构建索引树,并对所述索引树进行初始化,生成索引树描述文件,根据所述索引树描述文件获取地理坐标源数据的geohash的bit长度;/n读取目标数据,获取所述目标数据的经度和纬度;/n根据所述geohash的bit长度,分别对目标数据的经度和纬度进行计算,得到所述目标数据对应的geohash值;/...

【技术特征摘要】
1.一种基于GeoHash的矢量数据编译方法,其特征在于,所述方法包括:
获取地理坐标源数据,对所述地理坐标源数据进行解析,获取所述地理坐标源数据对应的经纬度范围;
设定单个网格对应的经纬度的跨度信息;
根据所述经纬度范围及单个网格对应的经纬度的跨度信息,确定索引所需的网格数量;
根据所述网格数量构建索引树,并对所述索引树进行初始化,生成索引树描述文件,根据所述索引树描述文件获取地理坐标源数据的geohash的bit长度;
读取目标数据,获取所述目标数据的经度和纬度;
根据所述geohash的bit长度,分别对目标数据的经度和纬度进行计算,得到所述目标数据对应的geohash值;
根据所述geohash值查询所述索引树,确定目标网格,将所述geohash值放入目标网格内,完成对所述目标数据的空间索引。


2.如权利要求1所述的基于GeoHash的矢量数据编译方法,其特征在于,经纬度范围包括:起始经度、终止经度、起始纬度及终止纬度。


3.如权利要求1所述的基于GeoHash的矢量数据编译方法,其特征在于,所述索引树包括第一类型节点、第二类型节点及第三类型节点;
所述第一类型节点包括64个子节点,基于6bit表示,即000000-111111;
所述第二类型节点包括16个子节点,基于4bit表示,即0000-1111;
所述第三类型节点包括4个子节点,基于2bit表示,即00-11。


4.如权利要求3所述的基于GeoHash的矢量数据编译方法,其特征在于,根据所述网格数量构建索引树,并对所述索引树进行初始化,包括:
判断所述网格数量是否大于64,在确定所述网格数量大于64时,将所述网格数量除以64,确定第一类型节点的数量;
获取所述网格数量除以64后的第一剩余网格的数量是否大于16,在确定第一剩余网格的数量大于16时,将所述第一剩余网格的数量除以16,确定第二类型节点的数量;
获取所述第一剩余网格除以16后的第二剩余网格的数量并判断是否大于4,在确定所述第二剩余网格的数量大于4时,将所述第二剩余网格的数量除以4,得到第三类型节点的数量,同时将第三类型节点的最后一个节点作为最终存储的叶子节点。


5.如权利要求4所述的基于GeoHash的矢量数据编译方法,其特征在于,所述索引树描述文件中记在对所述索引树进行初始化时生成的多个层级以及每个层级分别包括的子节点数;
根据每个层级分别包括的子节点数计算出地理坐标源数据的geohash的bit长度。


6.如权利要求1所述的基于GeoHash的矢量数据编译方法,其特征在于,在对所述地理坐标源数据进行解析前,对地理坐标源数据的属性信息进行压缩,包括:
分别提取地理坐标源数据中各个数据的属性信息,并确定共同属性信息,将所述共同属性信息提取出来存储在头文件中。


7.如权利要求1所述的基于GeoHash的矢量数据编...

【专利技术属性】
技术研发人员:张凯郑应强高浩博
申请(专利权)人:北京连山科技股份有限公司
类型:发明
国别省市:北京;11

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

1