掌桥专利:专业的专利平台
掌桥专利
首页

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

文献发布时间:2023-06-19 12:05:39


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

技术领域

本发明涉及数据编译技术领域,特别涉及一种基于GeoHash的矢量数据编译方法。

背景技术

目前,GeoHash本质上是空间索引的一种方式,其基本原理是将地球理解为一个二维平面,将平面递归分解成更小的子块,每个子块在一定经纬度范围内拥有相同的编码。以GeoHash方式建立空间索引,可以提高对空间矢量数据进行编译的效率。现有技术中存在以下问题:1、构建的空间索引长度相对固定,无法根据不同数据源设置变长索引,不够灵活,在一定程度上降低了检索的效率;2、对矢量数据的属性信息及空间信息压缩度较小,导致编译后的二级制格式文件尺寸较大,占用过大内存,同时不利于数据处理。

发明内容

本发明旨在至少一定程度上解决上述技术中的技术问题之一。为此,本发明的目的在于提出一种基于GeoHash的矢量数据编译方法,构建的空间索引长度不固定,用户可以根据不同数据源设置变长索引,更加灵活,提高了索引检索的效率。

为达到上述目的,本发明实施例提出了一种基于GeoHash的矢量数据编译方法,所述方法包括:

获取地理坐标源数据,对所述地理坐标源数据进行解析,获取所述地理坐标源数据对应的经纬度范围;

设定单个网格对应的经纬度的跨度信息;

根据所述经纬度范围及单个网格对应的经纬度的跨度信息,确定索引所需的网格数量;

根据所述网格数量构建索引树,并对所述索引树进行初始化,生成索引树描述文件,根据所述索引树描述文件获取地理坐标源数据的geohash的bit长度;

读取目标数据,获取所述目标数据的经度和纬度;

根据所述geohash的bit长度,分别对目标数据的经度和纬度进行计算,得到所述目标数据对应的geohash值;

根据所述geohash值查询所述索引树,确定目标网格,将所述geohash值放入目标网格内,完成对所述目标数据的空间索引。

根据本发明的一些实施例,经纬度范围包括:起始经度、终止经度、起始纬度及终止纬度。

根据本发明的一些实施例,所述索引树包括第一类型节点、第二类型节点及第三类型节点;

所述第一类型节点包括64个子节点,基于6bit表示,即000000-111111;

所述第二类型节点包括16个子节点,基于4bit表示,即0000-1111;

所述第三类型节点包括4个子节点,基于2bit表示,即00-11。

根据本发明的一些实施例,根据所述网格数量构建索引树,并对所述索引树进行初始化,包括:

判断所述网格数量是否大于64,在确定所述网格数量大于64时,将所述网格数量除以64,确定第一类型节点的数量;

获取所述网格数量除以64后的第一剩余网格的数量是否大于16,在确定第一剩余网格的数量大于16时,将所述第一剩余网格的数量除以16,确定第二类型节点的数量;

获取所述第一剩余网格除以16后的第二剩余网格的数量并判断是否大于4,在确定所述第二剩余网格的数量大于4时,将所述第二剩余网格的数量除以4,得到第三类型节点的数量,同时将第三类型节点的最后一个节点作为最终存储的叶子节点。

根据本发明的一些实施例,所述索引树描述文件中记在对所述索引树进行初始化时生成的多个层级以及每个层级分别包括的子节点数;

根据每个层级分别包括的子节点数计算出地理坐标源数据的geohash的bit长度。

根据本发明的一些实施例,在对所述地理坐标源数据进行解析前,对地理坐标源数据的属性信息进行压缩,包括:

分别提取地理坐标源数据中各个数据的属性信息,并确定共同属性信息,将所述共同属性信息提取出来存储在头文件中。

根据本发明的一些实施例,对所述地理坐标源数据的压缩存储,包括:

获取所述地理坐标源数据的当前存储类型为double类型;

将double类型的地理坐标源数据乘以1000000转换为int类型;

将地理坐标源数据的第一个数据存储为int类型,第一个数据之后的其他数据只存储与上一个数据的偏移量,并基于short类型存储。

根据本发明的一些实施例,在对所述地理坐标源数据进行解析前,还包括:

将所述地理坐标源数据映射为数据预处理模型对应的输入数据;

获取所述输入数据的类型,查询预设的类型-转换数据表,获取所述输入数据的类型对应的转换数据;

获取所述转换数据中的待匹配数据串;

将所述待匹配数据串输入模式匹配自动机中,所述模式匹配自动机中存储有正则模式数据串,将所述待匹配数据串与所述正则模式数据串进行匹配,确定待匹配数据串与正则模式数据串相匹配的子数据串并进行标记;

将待匹配数据串中带有标记的子数据串进行去除,生成目标数据串,将所述目标数据串与敏感数据串进行匹配,得到匹配信息,根据所述匹配信息确定所述转换数据中是否携带敏感数据;

在确定所述转换数据中携带敏感数据时,对所述转换数据进行去敏感处理,并将去敏感处理后的转换数据进行存储。

根据本发明的一些实施例,在完成对所述目标数据的空间索引后,计算对所述目标数据进行空间索引的准确度,并判断是否小于预设准确度,在确定所述准确度小于预设准确度时,对所述索引树进行重新构建;

所述计算对所述目标数据进行空间索引的准确度K:

其中,n为目标数据中包括的子目标数据的数量;s

根据本发明的一些实施例,所述在完成对所述目标数据的空间索引后,得到空间索引结果;

获取控制指令信号,计算所述控制指令信号的信噪比,在确定所述信噪比小于预设信噪比时,对所述控制指令信号进行降噪处理,根据所述降噪处理后的控制指令信号控制所述空间索引结果进行相应的显示;

所述计算所述控制指令信号的信噪比,包括:

计算所述控制指令信号的幅度A:

其中,E

根据所述控制指令信号的幅度A,计算所述控制指令信号的信噪比T:

其中,ε为各个信号节点中噪声的方差;t为控制指令信号的传输时长;χ

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1是根据本发明一个实施例的一种基于GeoHash的矢量数据编译方法的流程图;

图2是根据本发明一个实施例的一个经纬度范围确定的数据框的示意图;

图3是根据本发明一个实施例的一个经纬度范围确定的数据框进行划分的示意图;

图4是根据本发明一个实施例的4bit的空间索引GeoHash值的示意图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

如图1所示,本发明实施例提出了一种基于GeoHash的矢量数据编译方法,所述方法包括S1-S7:

S1、获取地理坐标源数据,对所述地理坐标源数据进行解析,获取所述地理坐标源数据对应的经纬度范围;

S2、设定单个网格对应的经纬度的跨度信息;

S3、根据所述经纬度范围及单个网格对应的经纬度的跨度信息,确定索引所需的网格数量;

S4、根据所述网格数量构建索引树,并对所述索引树进行初始化,生成索引树描述文件,根据所述索引树描述文件获取地理坐标源数据的geohash的bit长度;

S5、读取目标数据,获取所述目标数据的经度和纬度;

S6、根据所述geohash的bit长度,分别对目标数据的经度和纬度进行计算,得到所述目标数据对应的geohash值;

S7、根据所述geohash值查询所述索引树,确定目标网格,将所述geohash值放入目标网格内,完成对所述目标数据的空间索引。

上述技术方案的工作原理:获取地理坐标源数据,对所述地理坐标源数据进行解析,获取所述地理坐标源数据对应的经纬度范围;设定单个网格对应的经纬度的跨度信息;即用户自定义的最小网格经纬度跨度。根据所述经纬度范围及单个网格对应的经纬度的跨度信息,确定索引所需的网格数量;根据所述网格数量构建索引树,并对所述索引树进行初始化,生成索引树描述文件,根据所述索引树描述文件获取地理坐标源数据的geohash的bit长度;读取目标数据,获取所述目标数据的经度和纬度;根据所述geohash的bit长度,分别对目标数据的经度和纬度进行计算,得到所述目标数据对应的geohash值;根据所述geohash值查询所述索引树,确定目标网格,将所述geohash值放入目标网格内,完成对所述目标数据的空间索引。

上述技术方案的有益效果:用户可以根据不同数据源设置变长索引,更加灵活,提高了索引检索的效率,同时用户可以灵活自定义网格尺寸,避免数据冗余或者索引过多等问题。

根据本发明的一些实施例,经纬度范围包括:起始经度、终止经度、起始纬度及终止纬度。

根据本发明的一些实施例,所述索引树包括第一类型节点、第二类型节点及第三类型节点;

所述第一类型节点包括64个子节点,基于6bit表示,即000000-111111;

所述第二类型节点包括16个子节点,基于4bit表示,即0000-1111;

所述第三类型节点包括4个子节点,基于2bit表示,即00-11。

上述技术方案的工作原理:所述索引树包括第一类型节点、第二类型节点及第三类型节点;所述第一类型节点包括64个子节点,基于6bit表示,即000000-111111;所述第二类型节点包括16个子节点,基于4bit表示,即0000-1111;所述第三类型节点包括4个子节点,基于2bit表示,即00-11。

上述技术方案的有益效果:索引树设置多种类型的节点,便于根据不同的网格数量建立不同的索引树,同时便于提高索引检索的效率。

根据本发明的一些实施例,根据所述网格数量构建索引树,并对所述索引树进行初始化,包括:

判断所述网格数量是否大于64,在确定所述网格数量大于64时,将所述网格数量除以64,确定第一类型节点的数量;

获取所述网格数量除以64后的第一剩余网格的数量是否大于16,在确定第一剩余网格的数量大于16时,将所述第一剩余网格的数量除以16,确定第二类型节点的数量;

获取所述第一剩余网格除以16后的第二剩余网格的数量并判断是否大于4,在确定所述第二剩余网格的数量大于4时,将所述第二剩余网格的数量除以4,得到第三类型节点的数量,同时将第三类型节点的最后一个节点作为最终存储的叶子节点。

上述技术方案的工作原理:判断所述网格数量是否大于64,在确定所述网格数量大于64时,将所述网格数量除以64,确定第一类型节点的数量;获取所述网格数量除以64后的第一剩余网格的数量是否大于16,在确定第一剩余网格的数量大于16时,将所述第一剩余网格的数量除以16,确定第二类型节点的数量;获取所述第一剩余网格除以16后的第二剩余网格的数量并判断是否大于4,在确定所述第二剩余网格的数量大于4时,将所述第二剩余网格的数量除以4,得到第三类型节点的数量,同时将第三类型节点的最后一个节点作为最终存储的叶子节点。具体的,可以是第一类型节点A-第一类型节点B-第二类型节点A-第三类型节点。可以将第一类型节点A作为第一层,第一类型节点B作为第二层,依次类推,设置多个层级。

上述技术方案的有益效果:便于在对索引树进行初始化时,根据网格数量设置不同长度的索引,更加灵活,便于快速实现初始化,提高处理速度。

根据本发明的一些实施例,所述索引树描述文件中记在对所述索引树进行初始化时生成的多个层级以及每个层级分别包括的子节点数;

根据每个层级分别包括的子节点数计算出地理坐标源数据的geohash的bit长度。

上述技术方案的工作原理:所述索引树描述文件中记在对所述索引树进行初始化时生成的多个层级以及每个层级分别包括的子节点数;根据每个层级分别包括的子节点数计算出地理坐标源数据的geohash的bit长度。

上述技术方案的有益效果:快速实现层级的构建,层级的结构的设置,便于提高初始化的准确度,同时也便于准确计算出地理坐标源数据的geohash的bit长度。

根据本发明的一些实施例,在对所述地理坐标源数据进行解析前,对地理坐标源数据的属性信息进行压缩,包括:

分别提取地理坐标源数据中各个数据的属性信息,并确定共同属性信息,将所述共同属性信息提取出来存储在头文件中。

上述技术方案的工作原理:地理坐标源数据中各个数据的属性信息中有很多共用的属性信息,例如道路等级,poi类型等,若每个数据都记录着自己的这些信息,会浪费很大的存储空间,所以提前将共同属性信息提取出来记录在头文件中,同时数据编译过程中,每个数据的属性信息中只记录属性编号。

上述技术方案的有益效果:实现对数据的有效压缩,将共同属性信息只存储一次,同时在数据编译过程中,基于属性编号进行编译,减少了很多不必要的数据传输及运算,减少了数据编译的时间,提高了数据编译的效率。使得编译的二级制格式文件尺寸较小,占用内存小,便于数据处理。

根据本发明的一些实施例,对所述地理坐标源数据的压缩存储,包括:

获取所述地理坐标源数据的当前存储类型为double类型;

将double类型的地理坐标源数据乘以1000000转换为int类型;

将地理坐标源数据的第一个数据存储为int类型,第一个数据之后的其他数据只存储与上一个数据的偏移量,并基于short类型存储。

上述技术方案的工作原理及有益效果:地理坐标源数据包括地理坐标数据,一般是采用double类型存储的,而且小数点后一般最多只需要保存6位,所以将double类型数据乘1000000,转换为int类型,每个地理坐标数据能节省4个字节,然后对于除了第一个地理坐标数据外,其余的地理坐标数据都只存储其与上一个地理坐标数据的偏移量,改为short类型存储,更加节省空间。

根据本发明的一些实施例,在对所述地理坐标源数据进行解析前,还包括:

将所述地理坐标源数据映射为数据预处理模型对应的输入数据;

获取所述输入数据的类型,查询预设的类型-转换数据表,获取所述输入数据的类型对应的转换数据;

获取所述转换数据中的待匹配数据串;

将所述待匹配数据串输入模式匹配自动机中,所述模式匹配自动机中存储有正则模式数据串,将所述待匹配数据串与所述正则模式数据串进行匹配,确定待匹配数据串与正则模式数据串相匹配的子数据串并进行标记;

将待匹配数据串中带有标记的子数据串进行去除,生成目标数据串,将所述目标数据串与敏感数据串进行匹配,得到匹配信息,根据所述匹配信息确定所述转换数据中是否携带敏感数据;

在确定所述转换数据中携带敏感数据时,对所述转换数据进行去敏感处理,并将去敏感处理后的转换数据进行存储。

上述技术方案的工作原理及有益效果:将所述地理坐标源数据映射为数据预处理模型对应的输入数据;获取所述输入数据的类型,查询预设的类型-转换数据表,获取所述输入数据的类型对应的转换数据;根据输入数据的类型进行转化,对数据的结构进行统一化,避免因数据结构的不同,需要不同的处理软件进行处理,提高了数据处理的效率。获取所述转换数据中的待匹配数据串;将所述待匹配数据串输入模式匹配自动机中,所述模式匹配自动机中存储有正则模式数据串,将所述待匹配数据串与所述正则模式数据串进行匹配,确定待匹配数据串与正则模式数据串相匹配的子数据串并进行标记;将待匹配数据串中带有标记的子数据串进行去除,生成目标数据串,将所述目标数据串与敏感数据串进行匹配,得到匹配信息,根据所述匹配信息确定所述转换数据中是否携带敏感数据;在识别待匹配数据串中的敏感数据时,根据待匹配数据串中的具有正则化的子数据串及不具有正则化的子数据串分别进行匹配,便于提高匹配的准确性,便于准确识别出转换数据中是否携带敏感数据。在确定所述转换数据中携带敏感数据时,对所述转换数据进行去敏感处理,并将去敏感处理后的转换数据进行存储。避免对存储模块造成病毒侵入,提高了数据存储的安全性。

根据本发明的一些实施例,在完成对所述目标数据的空间索引后,计算对所述目标数据进行空间索引的准确度,并判断是否小于预设准确度,在确定所述准确度小于预设准确度时,对所述索引树进行重新构建;

所述计算对所述目标数据进行空间索引的准确度K:

其中,n为目标数据中包括的子目标数据的数量;s

上述技术方案的工作原理及有益效果:在完成对所述目标数据的空间索引后,计算对所述目标数据进行空间索引的准确度,并判断是否小于预设准确度,在确定所述准确度小于预设准确度时,对所述索引树进行重新构建。在对目标数据进行空间索引后,对获取的空间索引结果进行评价及计算准确度,准确度小于预设准确度时,表示在空间索引过程中存在异常,示例的入索引树没有正确构建或者索引树的结构受到破坏,需要重新构建索引树,重新进行空间索引。基于目标数据中包括的子目标数据的数量、第i个子目标数据的实际位置等准确的计算出目标数据进行空间索引的准确度,提高了判断与预设准确度大小的准确性。

根据本发明的一些实施例,所述在完成对所述目标数据的空间索引后,得到空间索引结果;

获取控制指令信号,计算所述控制指令信号的信噪比,在确定所述信噪比小于预设信噪比时,对所述控制指令信号进行降噪处理,根据所述降噪处理后的控制指令信号控制所述空间索引结果进行相应的显示;

所述计算所述控制指令信号的信噪比,包括:

计算所述控制指令信号的幅度A:

其中,E

根据所述控制指令信号的幅度A,计算所述控制指令信号的信噪比T:

其中,ε为各个信号节点中噪声的方差;t为控制指令信号的传输时长;χ

上述技术方案的工作原理及有益效果:所述在完成对所述目标数据的空间索引后,得到空间索引结果;获取控制指令信号,计算所述控制指令信号的信噪比,在确定所述信噪比小于预设信噪比时,对所述控制指令信号进行降噪处理,根据所述降噪处理后的控制指令信号控制所述空间索引结果进行相应的显示;提高了对空间索引结果显示的准确性。控制指令信号可以是语音控制指令信号。准确计算出控制指令信号的幅度进而准确计算出控制指令信号的信噪比,提高了判断与预设信噪比大小的准确性,同时便于保证控制指令信号的信噪比,提高了对控制指令信号的识别准确性,便于实现可靠的控制操作。

具体的,在一实施例中,设定经纬度范围为0,0至40,40;根据所述经纬度范围确定数据框,如图2所示。确定geohash的bit长度为4bit,设定位于数据框中线左边值为1,右边值为0;位于中心线上边值为1,下边值为0,将数据框划分为A,B,C,D四个网格,每个网格的代码如图3所示。接着对ABCD四个网格按照左1右0,上1下0的原则,把每个网格再次分割为4个网格,如图4所示。假设目标数据的坐标为26,15,在空间索引时,首先,参考如图3所示,确定图3中网格左右中心线分别为20,0—20,40,上下中心线为0,20—40,20,由于26>20,此点在中心线右边,编码为0,由于15<20,此点在中心线下边,编码为0,所以前两位编码为00,可知此点在D网格内。其次,参考如图4所示,D网格的左右中心线为30,0—30,20,上下中心线为20,10—40,10,由于26<30,此点在中心线左边,编码为1,由于15>10,此点在中心线上边,编码为1,所以后两位编码为11,可知此点在Da网格内。综上所述,此点的编码为0011。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

相关技术
  • 一种基于GeoHash的矢量数据编译方法
  • 基于hbase和geohash的矢量数据空间索引方法
技术分类

06120113162252