地理围栏的地址编码确定方法、位置确定方法及装置转让专利

申请号 : CN202110309554.X

文献号 : CN113076719B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杜晓宇蒋宁曾琳铖曦吴海英刘洪政

申请人 : 马上消费金融股份有限公司

摘要 :

本申请提供一种地理围栏的地址编码确定方法、位置确定方法及装置,该地理围栏的地址编码确定方法包括:确定覆盖第一区域的多个地址编码,得到第一地址编码集合;其中,所述第一区域为地理围栏的外边界所围合区域,所述第一地址编码集合中的地址编码的长度至少部分不相同;确定覆盖所述地理围栏包括的孔洞的多个地址编码,得到第二地址编码集合;从所述第一地址编码集合中删除第一目标地址编码,得到所述地理围栏的地址编码集合。通过本申请提供的地理围栏的地址编码确定方法,可以在减少覆盖地理围栏的地址编码的数量以减少存储空间的同时,提高位置坐标所属围栏判断结果的准确性。

权利要求 :

1.一种地理围栏的地址编码确定方法,其特征在于,所述方法包括:确定覆盖第一区域的多个地址编码,得到第一地址编码集合;其中,所述第一区域为地理围栏的外边界所围合区域,所述第一地址编码集合中的地址编码的长度至少部分不相同,第一编码长度大于第二编码长度,所述第一编码长度为所述第一区域的边界区域对应的地址编码的长度,所述第二编码长度为所述第一区域的中心区域对应的地址编码的长度;

确定覆盖所述地理围栏包括的孔洞的多个地址编码,得到第二地址编码集合;其中,所述第二地址编码集合中的地址编码的长度均为第三编码长度,所述第三编码长度大于或等于所述第一地址编码集合中的地址编码的最大编码长度;

从所述第一地址编码集合中删除第一目标地址编码,得到所述地理围栏的地址编码集合,所述第一目标地址编码为所述第一地址编码集合中与所述第二地址编码集合中的地址编码对应的地址编码。

2.根据权利要求1所述的方法,其特征在于,所述确定覆盖第一区域的多个地址编码,得到第一地址编码集合,包括:

确定所述地理围栏的最小外接矩形区域,得到第一矩形区域;

根据所述第一矩形区域和预设编码长度确定第四编码长度;其中,所述第四编码长度为第一编码长度集合中的最小值,所述第一编码长度集合中的每个编码长度均小于所述预设编码长度,且所述第一编码长度集合中的每个编码长度对应的矩形区域的宽度均小于所述第一矩形区域的对角线长度;

根据所述第四编码长度和所述预设编码长度确定所述第一地址编码集合。

3.根据权利要求2所述的方法,其特征在于,所述根据所述第四编码长度和所述预设编码长度确定所述第一地址编码集合,包括:A1:确定覆盖所述第一区域的多个第一地址编码,所述第一地址编码的长度为所述第四编码长度;

A2:确定所述多个第一地址编码中位于所述第一区域内的第一地址编码,以及确定所述多个第一地址编码中与所述第一区域相交的第一地址编码;

A3:确定多个第二地址编码中位于所述第一区域之内的第二地址编码和与所述第一区域相交的第二地址编码;所述多个第二地址编码为第二目标地址编码对应的多个地址编码,所述第二目标地址编码的起始取值为所述多个第一地址编码中与所述第一区域相交的第一地址编码,所述第二地址编码的长度为第一目标编码长度,所述第一目标编码长度的起始取值为所述第四编码长度加预设步长;

A4:将所述第二目标地址编码的取值更新为所述多个第二地址编码中与所述第一区域相交的第二地址编码;以及将所述第一目标编码长度的值加上预设步长,并返回执行步骤A3,直至所述第一目标编码长度的值大于所述预设编码长度;

其中,所述第一地址编码集合包括所述多个第一地址编码中位于所述第一区域内的第一地址编码、确定的所述多个第二地址编码中位于所述第一区域内的第二地址编码、以及最后一次确定的所述多个第二地址编码中与所述第一区域相交的第二地址编码。

4.根据权利要求3所述的方法,其特征在于,在所述第二地址编码对应的第二矩形区域的四个顶点均位于所述第一区域之内的情况下,所述第二地址编码为位于所述第一区域之内的地址编码;

在所述第二矩形区域的四个顶点中仅存在部分顶点位于所述第一区域之内的情况下,所述第二地址编码为与所述第一区域相交的地址编码;

在所述第二矩形区域的四个顶点均位于所述第一区域之外,且存在第一边界点位于所述第二矩形区域之内的情况下,所述第二地址编码为与所述第一区域相交的地址编码,所述第一边界点为所述地理围栏的外边界上的点。

5.根据权利要求3所述的方法,其特征在于,所述确定覆盖所述第一区域的多个第一地址编码,包括:

根据所述第四编码长度和所述第一矩形区域的第一目标顶点的地理坐标,计算所述第一目标顶点对应的第三地址编码,所述第三地址编码的长度为所述第四编码长度;

根据所述第三地址编码确定所述多个第一地址编码。

6.根据权利要求5所述的方法,其特征在于,所述第一目标顶点为左下角顶点,所述根据所述第三地址编码确定所述多个第一地址编码,包括:若所述第三地址编码对应的第三矩形区域对应的最大经度小于第一经度,则获取第四地址编码,以及确定所述第四地址编码对应的第四矩形区域对应的最大经度是否小于所述第一经度;其中,所述第一经度为所述第一矩形区域对应的最大经度,所述第四地址编码的长度为所述第四编码长度,所述第四矩形区域位于所述第三矩形区域的右侧且与所述第三矩形区域相邻;

若所述第三矩形区域对应的最大纬度小于第一纬度,则获取第五地址编码,以及确定所述第五地址编码对应的第五矩形区域对应的最大经度是否小于所述第一经度;其中,所述第一经度为所述第一矩形区域对应的最大纬度,所述第五地址编码的长度为所述第四编码长度,所述第五矩形区域位于所述第三矩形区域的上侧且与所述第三矩形区域相邻;

其中,所述多个第一地址编码包括所述第四地址编码和所述第五地址编码。

7.根据权利要求1所述的方法,其特征在于,所述确定覆盖所述地理围栏包括的孔洞的多个地址编码,得到第二地址编码集合,包括:确定所述孔洞的最小外接矩形区域,得到第六矩形区域;

根据所述第三编码长度和所述第六矩形区域的第二目标顶点的地理坐标,计算所述第二目标顶点对应的第六地址编码,所述第六地址编码的长度为所述第三编码长度;

根据所述第六地址编码确定覆盖所述孔洞的多个第七地址编码,所述第七地址编码的长度为所述第三编码长度;

获取所述多个第七地址编码中位于所述孔洞内的地址编码,得到所述第二地址编码集合。

8.根据权利要求7所述的方法,其特征在于,在所述第七地址编码对应的第七矩形区域的四个顶点均位于所述孔洞内,且不存在第二边界点位于所述第七矩形区域之内的情况下,所述第七地址编码为位于所述孔洞之内的地址编码,所述第二边界点为所述孔洞的外边界上的点。

9.根据权利要求1所述的方法,其特征在于,所述从所述第一地址编码集合中删除第一目标地址编码,得到所述地理围栏的地址编码集合,包括:B1:从所述第一地址编码集合中删除第八地址编码,得到第三地址编码集合,所述第八地址编码为所述第一地址编码集合和所述第二地址编码集合中相同的地址编码;

B2:若第二目标编码长度大于第五编码长度,则将所述第二目标编码长度的值减去预设步长;其中,所述第二目标编码长度的初始取值为所述第三编码长度,所述第五编码长度为所述第一地址编码集合中的地址编码的最小编码长度;

B3:确定第四地址编码集合中每个地址编码对应的第九地址编码,得到第五地址编码集合,所述第四地址编码集合的初始元素为所述第二地址编码集合中除所述第八地址编码之外的地址编码,所述第九地址编码的长度为所述第二目标编码长度;

B4:从第六地址编码集合中删除第十地址编码,得到第七地址编码集合,所述第六地址编码集合的初始元素为所述第三地址编码集合中的地址编码,所述第十地址编码为所述第六地址编码集合和所述第五地址编码集合中相同的地址编码;

B5:更新所述第四地址编码集合的元素为所述第五地址编码集合中除所述第十地址编码之外的地址编码;以及更新所述第六地址编码集合的元素为所述第七地址编码集合中的地址编码,并返回执行步骤B2,直至所述第二目标编码长度小于或等于所述第五编码长度;

其中,所述地理围栏的地址编码集合为所述第七地址编码集合。

10.一种位置确定方法,其特征在于,包括:C1:获取目标点的地理坐标;

C2:根据所述目标点的地理坐标计算所述目标点对应的第十一地址编码;所述第十一地址编码的长度为目标长度,所述目标长度的初始取值为第六编码长度,所述第六编码长度为地理围栏的地址编码集合中地址编码的最小编码长度,所述地理围栏的地址编码集合根据权利要求1至9任一项所述的方法确定;

C3:若所述地理围栏的地址编码集合包括所述第一地址编码,则确定所述目标点位于所述地理围栏内;

C4:若所述地理围栏的地址编码集合不包括所述第一地址编码,则将所述目标长度的取值加预设步长,并返回执行步骤C2,直至所述目标长度的取值大于第七编码长度,所述第七编码长度为所述地理围栏的地址编码集合中地址编码的最大编码长度;

C5:确定所述目标点位于所述地理围栏外。

11.根据权利要求10所述的方法,其特征在于,所述若所述地理围栏的地址编码集合包括所述第一地址编码,则确定所述目标点位于所述地理围栏内,包括:若所述地理围栏的地址编码集合包括所述第一地址编码,则通过几何运算的方式确定所述目标点是否位于所述地理围栏内;

若通过所述几何运算的方式确定所述目标点位于所述地理围栏内,则确定所述目标点位于所述地理围栏内。

12.一种地理围栏的地址编码确定装置,其特征在于,所述装置包括:第一确定模块,用于确定覆盖第一区域的多个地址编码,得到第一地址编码集合;其中,所述第一区域为地理围栏的外边界所围合区域,所述第一地址编码集合中的地址编码的长度至少部分不相同,第一编码长度大于第二编码长度,所述第一编码长度为所述第一区域的边界区域对应的地址编码的长度,所述第二编码长度为所述第一区域的中心区域对应的地址编码的长度;

第二确定模块,用于确定覆盖所述地理围栏包括的孔洞的多个地址编码,得到第二地址编码集合;其中,所述第二地址编码集合中的地址编码的长度均为第三编码长度,所述第三编码长度大于或等于所述第一地址编码集合中的地址编码的最大编码长度;

删除模块,用于从所述第一地址编码集合中删除第一目标地址编码,得到所述地理围栏的地址编码集合,所述第一目标地址编码为所述第一地址编码集合中与所述第二地址编码集合中的地址编码对应的地址编码。

13.一种位置确定装置,其特征在于,包括:获取模块,用于获取目标点的地理坐标;

计算模块,用于根据所述目标点的地理坐标计算所述目标点对应的第十一地址编码;

所述第十一地址编码的长度为目标长度,所述目标长度的初始取值为第六编码长度,所述第六编码长度为地理围栏的地址编码集合中地址编码的最小编码长度,所述地理围栏的地址编码集合根据权利要求1至9任一项所述的方法确定;

第三确定模块,用于若所述地理围栏的地址编码集合包括所述第一地址编码,则确定所述目标点位于所述地理围栏内;

处理模块,用于若所述地理围栏的地址编码集合不包括所述第一地址编码,则将所述目标长度的取值加预设步长,并返回执行所述根据所述目标点的地理坐标计算所述目标点对应的第十一地址编码的步骤,直至所述目标长度的取值大于第七编码长度,所述第七编码长度为所述地理围栏的地址编码集合中地址编码的最大编码长度;

第四确定模块,用于确定所述目标点位于所述地理围栏外。

14.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至9中任一项所述的地理围栏的地址编码确定方法的步骤,或者实现如权利要求10至11中任一项所述的位置确定方法的步骤。

15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述的地理围栏的地址编码确定方法的步骤,或者实现如权利要求10至11中任一项所述的位置确定方法的步骤。

说明书 :

地理围栏的地址编码确定方法、位置确定方法及装置

技术领域

[0001] 本申请涉及信息处理技术领域,尤其涉及一种地理围栏的地址编码确定方法、位置确定方法及装置。

背景技术

[0002] 地址编码可以把一个地理坐标编码成一个字符串。例如,GeoHash,可以把二维的经纬度坐标编码成一个字符串,也即GeoHash编码,该GeoHash编码标识地图上的一个矩形
区域,该矩形区域内所有的经纬度坐标都对应相同的Geohash编码,此外,Geohash编码的长
度越大,其所标识的矩形区域越小。
[0003] 目前,在判断一个位置坐标是否位于某个地理围栏内,往往是通过判断该位置坐标对应的地址编码是否包含于该地理围栏对应的地址编码集合中,以提高判断的效率。然
而,在实际应用中,若使用长度较大的地址编码来覆盖地理围栏,会生成大量的地址编码,
较为耗费存储空间,若使用长度较小的地址编码来覆盖地理围栏,又容易导致判断某个位
置坐标所属地理围栏的准确性较低,特别是在地理围栏包括孔洞的情况下,判断的准确性
更低。

发明内容

[0004] 为了解决上述技术问题,本申请实施例提供一种地理围栏的地址编码确定方法、位置确定方法及装置。
[0005] 第一方面,本申请实施例提供了一种地理围栏的地址编码确定方法,包括:
[0006] 确定覆盖第一区域的多个地址编码,得到第一地址编码集合;其中,所述第一区域为地理围栏的外边界所围合区域,所述第一地址编码集合中的地址编码的长度至少部分不
相同,第一编码长度大于第二编码长度,所述第一编码长度为所述第一区域的边界区域对
应的地址编码的长度,所述第二编码长度为所述第一区域的中心区域对应的地址编码的长
度;
[0007] 确定覆盖所述地理围栏包括的孔洞的多个地址编码,得到第二地址编码集合;其中,所述第二地址编码集合中的地址编码的长度均为第三编码长度,所述第三编码长度大
于或等于所述第一地址编码集合中的地址编码的最大编码长度;
[0008] 从所述第一地址编码集合中删除第一目标地址编码,得到所述地理围栏的地址编码集合,所述第一目标地址编码为所述第一地址编码集合中与所述第二地址编码集合中的
地址编码对应的地址编码。
[0009] 第二方面,本申请实施例提供了一种位置确定方法,包括:
[0010] C1:获取目标点的地理坐标;
[0011] C2:根据所述目标点的地理坐标计算所述目标点对应的第十一地址编码;所述第十一地址编码的长度为目标长度,所述目标长度的初始取值为第六编码长度,所述第六编
码长度为地理围栏的地址编码集合中地址编码的最小编码长度,所述地理围栏的地址编码
集合根据权利要求1至9任一项所述的方法确定;
[0012] C3:若所述地理围栏的地址编码集合包括所述第一地址编码,则确定所述目标点位于所述地理围栏内;
[0013] C4:若所述地理围栏的地址编码集合不包括所述第一地址编码,则将所述目标长度的取值加预设步长,并返回执行步骤C2,直至所述目标长度的取值大于第七编码长度,所
述第七编码长度为所述地理围栏的地址编码集合中地址编码的最大编码长度;
[0014] C5:确定所述目标点位于所述地理围栏外。
[0015] 第三方面,本申请实施例还提供一种地理围栏的地址编码确定装置,包括:
[0016] 第一确定模块,用于确定覆盖第一区域的多个地址编码,得到第一地址编码集合;其中,所述第一区域为地理围栏的外边界所围合区域,所述第一地址编码集合中的地址编
码的长度至少部分不相同,第一编码长度大于第二编码长度,所述第一编码长度为所述第
一区域的边界区域对应的地址编码的长度,所述第二编码长度为所述第一区域的中心区域
对应的地址编码的长度;
[0017] 第二确定模块,用于确定覆盖所述地理围栏包括的孔洞的多个地址编码,得到第二地址编码集合;其中,所述第二地址编码集合中的地址编码的长度均为第三编码长度,所
述第三编码长度大于或等于所述第一地址编码集合中的地址编码的最大编码长度;
[0018] 删除模块,用于从所述第一地址编码集合中删除第一目标地址编码,得到所述地理围栏的地址编码集合,所述第一目标地址编码为所述第一地址编码集合中与所述第二地
址编码集合中的地址编码对应的地址编码。
[0019] 第四方面,本申请实施例还提供一种位置确定装置,包括:
[0020] 获取模块,用于获取目标点的地理坐标;
[0021] 计算模块,用于根据所述目标点的地理坐标计算所述目标点对应的第十一地址编码;所述第十一地址编码的长度为目标长度,所述目标长度的初始取值为第六编码长度,所
述第六编码长度为地理围栏的地址编码集合中地址编码的最小编码长度,所述地理围栏的
地址编码集合根据权利要求1至9任一项所述的方法确定;
[0022] 第三确定模块,用于若所述地理围栏的地址编码集合包括所述第一地址编码,则确定所述目标点位于所述地理围栏内;
[0023] 处理模块,用于若所述地理围栏的地址编码集合不包括所述第一地址编码,则将所述目标长度的取值加预设步长,并返回执行所述根据所述目标点的地理坐标计算所述目
标点对应的第十一地址编码的步骤,直至所述目标长度的取值大于第七编码长度,所述第
七编码长度为所述地理围栏的地址编码集合中地址编码的最大编码长度;
[0024] 第四确定模块,用于确定所述目标点位于所述地理围栏外。
[0025] 第五方面,本申请实施例还提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实
现上述的地理围栏的地址编码确定方法的步骤,或者实现上述的位置确定方法的步骤。
[0026] 第六方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的地理围栏的地址编
码确定方法的步骤,或者实现上述的位置确定方法的步骤。
[0027] 本申请实施例中,覆盖第一区域的边界区域的地址编码的长度大于覆盖第一区域的中心区域的地址编码的长度,这样可以在减少覆盖第一区域的地址编码的数量的同时,
精细地理围栏的边缘部分,进而提高位置坐标所属地理围栏判断的准确性;另外,覆盖孔洞
的地址编码的长度大于或等于用于覆盖第一区域的地址编码的最大编码长度,以精细化地
理围栏的孔洞区域。

附图说明

[0028] 为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,
对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获
得其他的附图。
[0029] 图1是本申请实施例提供的地理围栏的地址编码确定方法的流程图;
[0030] 图2是本申请实施例提供的带孔洞的地理围栏的示意图;
[0031] 图3a至图3i是本申请实施例提供的确定覆盖地理围栏外边界所围合区域的地址编码的示意图;
[0032] 图4a至图4b是本申请实施例提供的确定覆盖孔洞的地址编码的示意图;
[0033] 图5是本申请实施例提供的支持孔洞的地理围栏对应的地址编码的示意图;
[0034] 图6是本申请实施例提供的位置确定方法的流程图;
[0035] 图7是本申请实施例提供的地理围栏的地址编码确定装置的结构图;
[0036] 图8是本申请实施例提供的位置确定装置的结构图;
[0037] 图9是本申请实施例提供的电子设备的结构图。

具体实施方式

[0038] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申
请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施
例,都属于本申请保护的范围。
[0039] 电子设备可以是还包含其它功能诸如个人数字助理和/或音乐播放器功能的便携式电子设备,诸如手机、平板电脑、具备无线通讯功能的可穿戴电子设备(如智能手表)等。
便携式电子设备的示例性实施例包括但不限于搭载IOS系统、Android系统、Microsoft系统
或者其它操作系统的便携式电子设备。上述便携式电子设备也可以是其它便携式电子设
备,诸如膝上型计算机(Laptop)等。还应当理解的是,在其他一些实施例中,上述电子设备
也可以不是便携式电子设备,而是台式计算机。
[0040] 参见图1,图1是本申请实施例提供的地理围栏的地址编码确定方法的流程图,该方法应用于电子设备,如图1所示,该方法包括以下步骤:
[0041] 步骤101、确定覆盖第一区域的多个地址编码,得到第一地址编码集合;其中,所述第一区域为地理围栏的外边界所围合区域,所述第一地址编码集合中的地址编码的长度至
少部分不相同,第一编码长度大于第二编码长度,所述第一编码长度为所述第一区域的边
界区域对应的地址编码的长度,所述第二编码长度为所述第一区域的中心区域对应的地址
编码的长度。
[0042] 本实施例中,上述地理围栏为包括孔洞的地理围栏,例如,如图2所示,地理围栏10包括孔洞11。需要说明的是,上述孔洞的数量可以是一个或者多个,对此不做限定。上述第
一区域,也即上述地理围栏的外边界所围合区域,包括地理围栏所在区域以及孔洞所在区
域,例如,如图2所示,白色填充区域(即地理围栏10所在区域)加上交叉线填充区域(即孔洞
11所在区域)即为地理围栏10的外边界所围合区域。
[0043] 本申请实施例中的地址编码,例如,可以为GeoHash编码。
[0044] 上述覆盖第一区域的多个地址编码,可以是指覆盖第一区域的多个矩形区域对应的多个地址编码,也即上述多个地址编码对应的多个矩形区域覆盖第一区域。此外,上述覆
盖第一区域的多个地址编码包括位于第一区域之内的地址编码以及与第一区域相交的地
址编码。可以理解的是,地址编码位于第一区域之内可以是指该地址编码对应的矩形区域
位于第一区域之内,地址编码与第一区域相交可以是指该地址编码对应的矩形区域与第一
区域相交。
[0045] 上述第一区域的边界区域和中心区域可以理解为相对的两个概念,例如,上述第一区域的边界区域可以理解为较为靠近地理围栏的外边界的区域,上述第一区域的中心区
域可以理解为较为靠近第一区域的中心位置的区域。
[0046] 本实施例中,上述第一区域的边界区域对应的地址编码的长度大于所述第一区域的中心区域对应的地址编码的长度,也即覆盖上述第一区域的边界区域的地址编码的长度
大于覆盖上述第一区域的中心区域的地址编码的长度,这样可以在减少覆盖上述第一区域
的地址编码的数量的同时,精细地理围栏的边缘部分,进而提高位置坐标所属地理围栏判
断的准确性。
[0047] 步骤102、确定覆盖所述地理围栏包括的孔洞的多个地址编码,得到第二地址编码集合;其中,所述第二地址编码集合中的地址编码的长度均为第三编码长度,所述第三编码
长度大于或等于所述第一地址编码集合中的地址编码的最大编码长度。
[0048] 本实施例中,第三编码长度大于或等于第一地址编码集合中的地址编码的最大编码长度,例如,第三编码长度可以为预设编码长度,第一地址编码集合中的地址编码的最大
编码长度可以小于或等于预设编码长度。上述覆盖所述地理围栏内的孔洞的多个地址编码
可以包括对应的矩形区域位于所述孔洞内且长度为第三编码长度的多个地址编码。
[0049] 该步骤中,用于覆盖孔洞的地址编码的长度大于或等于用于覆盖上述第一区域的地址编码的最大编码长度,以精细化地理围栏的孔洞区域。
[0050] 步骤103、从所述第一地址编码集合中删除第一目标地址编码,得到所述地理围栏的地址编码集合,所述第一目标地址编码为所述第一地址编码集合中与所述第二地址编码
集合中的地址编码对应的地址编码。
[0051] 该步骤中,可以从第一地址编码集合中删除与第一目标地址编码,也即所述第二地址编码集合中的地址编码对应的地址编码,例如,可以将第一地址编码集合中各个地址
编码均转换为对应于第三编码长度的地址编码,得到转换后的第一地址编码集合,再从转
换后的第一地址编码集合中删除与第二地址编码集合中的地址编码相同的地址编码,再将
删除后的第一地址编码集合中的各个地址编码恢复为其转换前的编码长度的地址编码,得
到地理围栏的地址编码集合。
[0052] 本申请实施例提供的地理围栏的地址编码确定方法,通过不同长度的地址编码覆盖第一区域的边界区域和中心区域,可以在减少覆盖地理围栏的地址编码的数量以减少存
储空间的同时,提高位置坐标所属围栏判断结果的准确性。此外,利用长度大于或等于覆盖
所述第一区域的地址编码的长度中的最大值的地址编码覆盖地理围栏内的孔洞,并从覆盖
第一区域的地址编码中删除与覆盖地理围栏内的孔洞的地址编码对应的地址编码作为地
理围栏的地址编码,可以提高对带有孔洞的地理围栏进行位置判断的结果的准确性。
[0053] 可选地,所述确定覆盖第一区域的多个地址编码,得到第一地址编码集合,包括:
[0054] 确定所述地理围栏的最小外接矩形区域,得到第一矩形区域;
[0055] 根据所述第一矩形区域和预设编码长度确定第四编码长度;其中,所述第四编码长度为第一编码长度集合中的最小值,所述第一编码长度集合中的每个编码长度均小于所
述预设编码长度,且所述第一编码长度集合中的每个编码长度对应的矩形区域的宽度均小
于所述第一矩形区域的对角线长度;
[0056] 根据所述第四编码长度和所述预设编码长度确定所述第一地址编码集合。
[0057] 本实施例中,上述预设编码长度可以根据实际需求进行合理设置,例如,上述预设编码长度可以为7、8或9等。上述第一编码长度集合包括小于所述预设编码长度且对应的矩
形区域的宽度小于所述第一矩形区域的对角线长度的所有编码长度。上述第四编码长度为
第一编码长度集合中的最小编码长度。
[0058] 上述地理围栏的最小外接矩形区域可以通过遍历地理围栏的外边界的各个顶点的地理坐标,以获取地理围栏对应的最大经度、最大经度、最大纬度以及最大纬度,并可以
根据地理围栏对应的最大经度、最大经度、最大纬度以及最大纬度确定地理围栏的最小外
接矩形区域,例如,如图3a所示的地理围栏20的最小外接矩形区域21。
[0059] 可选地,上述第一矩形区域的对角线长度可以根据Haversine公式(即半正矢公式)计算得到,同样的,上述各个编码长度对应的矩形区域的宽度也可以根据Haversine公
式计算得到。
[0060] 可选地,上述第四编码长度可以依据如下方式确定:
[0061] 根据上述预设编码长度和第一矩形区域的左下角坐标,确定第一矩形区域的左下角坐标对应的长度为预设编码长度的地址编码a1;若地址编码a1对应的矩形区域的宽度小
于第一矩形区域的对角线长度,则确定第一矩形区域的左下角坐标对应的长度为地址编码
a2,地址编码a2的长度为预设编码长度‑1;若地址编码a2对应的矩形区域的宽度小于第一
矩形区域的对角线长度,则确定第一矩形区域的左下角坐标对应的地址编码a3,地址编码
a3的长度为预设编码长度‑2;以此类推,直至第一矩形区域的左下角坐标对应的长度为预
设编码长度‑K的地址编码对应的矩形区域的宽度大于第一矩形区域的对角线长度,则将预
设编码长度‑K+1作为第四编码长度,其中,K为正整数。
[0062] 具体地,在得到第四编码长度之后,可以基于所述第四编码长度和所述预设编码长度,确定覆盖所述第一区域的多个地址编码,得到第一地址编码集合,例如,可以从所述
第四编码长度开始按照预设步长逐次增加编码长度直至达到所述预设编码长度,分别获取
各个编码长度对应的地址编码中位于所述第一区域之内的地址编码和与所述第一区域相
交的地址编码,并根据各个编码长度对应的地址编码中位于所述第一区域之内的地址编码
和与所述第一区域相交的地址编码,确定覆盖所述第一区域的多个地址编码,得到第一地
址编码集合。
[0063] 本申请实施例中,通过确定所述地理围栏的最小外接矩形区域,得到第一矩形区域;根据所述第一矩形区域和预设编码长度确定第四编码长度;其中,所述第四编码长度为
第一编码长度集合中的最小值,所述第一编码长度集合中的每个编码长度均小于所述预设
编码长度,且所述第一编码长度集合中的每个编码长度对应的矩形区域的宽度均小于所述
第一矩形区域的对角线长度;根据所述第四编码长度和所述预设编码长度确定所述第一地
址编码集合,可以得到较为适合用于覆盖上述第一区域的编码长度。
[0064] 以下结合图3a至图3i,对根据所述第四编码长度和所述预设编码长度确定所述第一地址编码集合进行详细说明。
[0065] 可选地,所述根据所述第四编码长度和所述预设编码长度确定所述第一地址编码集合,可以包括:
[0066] A1:确定覆盖所述第一区域的多个第一地址编码,所述第一地址编码的长度为所述第四编码长度;
[0067] A2:确定所述多个第一地址编码中位于所述第一区域内的第一地址编码,以及确定所述多个第一地址编码中与所述第一区域相交的第一地址编码;
[0068] A3:确定多个第二地址编码中位于所述第一区域之内的第二地址编码和与所述第一区域相交的第二地址编码;所述多个第二地址编码为第二目标地址编码对应的多个地址
编码,所述第二目标地址编码的起始取值为所述多个第一地址编码中与所述第一区域相交
的第一地址编码,所述第二地址编码的长度为第一目标编码长度,所述第一目标编码长度
的起始取值为所述第四编码长度加预设步长;
[0069] A4:将所述第二目标地址编码的取值更新为所述多个第二地址编码中与所述第一区域相交的第二地址编码;以及将所述第一目标编码长度的值加上预设步长,并返回执行
步骤A3,直至所述第一目标编码长度的值大于所述预设编码长度;
[0070] 其中,所述第一地址编码集合包括所述多个第一地址编码中位于所述第一区域内的第一地址编码、确定的所述多个第二地址编码中位于所述第一区域内的第二地址编码、
以及最后一次确定的所述多个第二地址编码中与所述第一区域相交的第二地址编码。
[0071] 本实施例中,上述预设步长可以根据实际需求进行合理设置,例如,上述预设步长可以为1。上述第二目标地址编码对应的多个第二地址编码,例如,若第二目标地址编码为
第四编码长度的地址编码,第二地址编码的长度为第四编码长度加1,则每个第二目标地址
编码对应32个第二地址编码。
[0072] 上述确定多个特定地址编码中位于所述第一区域内的特定地址编码和与所述第一区域相交的特定地址编码,可以包括:分别判断每个所述特定地址编码与所述第一区域
之间的位置关系,所述位置关系包括所述特定地址编码位于第一区域之内或者所述特定地
址编码与所述第一区域相交;根据每个所述特定地址编码与所述第一区域的位置关系,获
取所述多个特定地址编码中位于所述第一区域内的特定地址编码,以及获取所述多个特定
地址编码中与所述第一区域相交的特定地址编码。其中,上述特定地址编码可以包括第一
地址编码或者第二地址编码。
[0073] 上述判断所述特定地址编码与所述第一区域的位置关系可以包括:若所述特定地址编码对应的矩形区域的四个顶点均位于所述第一区域之内,则确定所述特定地址编码为
位于所述第一区域之内的地址编码;若所述特定地址编码对应的矩形区域的四个顶点中仅
存在部分顶点位于所述第一区域之内,则确定所述特定地址编码为与所述第一区域相交的
地址编码。
[0074] 可选地,为了提高判断的准确性,在所述特定地址编码对应的矩形区域的四个顶点均位于所述第一区域之内的情况下,可以进一步判断是否存在第一边界点位于所述特定
地址编码对应的矩形区域内,所述第一边界点为所述地理围栏的外边界上的点,若不存在,
则确定所述特定地址编码为位于所述第一区域之内的地址编码,若存在,则确定所述特定
地址编码为与所述第一区域相交的地址编码。
[0075] 以下以第四编码长度为S1、预设步长为1、预设编码长度为S2为例进行说明:
[0076] 可以先采用长度为S1的地址编码覆盖第一区域,得到覆盖所述第一区域的多个地址编码b0;对于覆盖所述第一区域的多个地址编码b0中与所述第一区域相交的地址编码
b0,可以确定其对应的长度为S1+1的地址编码b1中位于所述第一区域之内的地址编码b1和
与所述第一区域相交的地址编码b1,对于与所述第一区域相交的地址编码b1,确定其对应
的长度为S1+2的地址编码b2中位于所述第一区域之内的地址编码b2和与所述第一区域相
交的地址编码b2,以此类推,直至S1+k大于S2,k为正整数,例如,如图3e至图3i所示。
[0077] 其中,覆盖所述第一区域的多个地址编码可以包括位于所述第一区域之内的地址编码b0、位于所述第一区域之内的地址编码b1、位于所述第一区域之内的地址编码b2直至
位于所述第一区域之内的地址编码b(k‑1),以及与所述第一区域相交的地址编码b(k‑1),
其中,地址编码b(k‑1)为长度为S1+(k‑1)的地址编码。
[0078] 本申请实施例通过从第四编码长度开始按照预设步长逐次增大与第一区域相交的地址编码的长度直至预设编码长度,可以达到逐次精细化地理围栏外边界的效果,可以
进一步在减少覆盖地理围栏的地址编码的数量以减少存储空间的同时,提高位置坐标所属
围栏判断结果的准确性。
[0079] 可选地,在所述第二地址编码对应的第二矩形区域的四个顶点均位于所述第一区域之内的情况下,所述第二地址编码为位于所述第一区域之内的地址编码;
[0080] 在所述第二矩形区域的四个顶点中仅存在部分顶点位于所述第一区域之内的情况下,所述第二地址编码为与所述第一区域相交的地址编码;
[0081] 在所述第二矩形区域的四个顶点均位于所述第一区域之外,且存在第一边界点位于所述第二矩形区域之内的情况下,所述第二地址编码为与所述第一区域相交的地址编
码,所述第一边界点为所述地理围栏的外边界上的点。
[0082] 实际应用中,地理围栏的外边界可能会包括外凸的部分,为了提高判断的准确性,对于任一第二地址编码,在该第二地址编码对应的矩形区域的四个顶点均位于所述第一区
域之外的情况下,可以进一步判断地理围栏的外边界上是否存在边界点位于该第二地址编
码对应的矩形区域之内,并在所述地理围栏的外边界上存在边界点位于该第二地址编码对
应的矩形区域之内的情况下,确定该第二地址编码为与所述第一区域相交的地址编码,否
则可以确定该第二地址编码为位于所述第一区域之外的地址编码。
[0083] 本申请实施例中,通过在所述第二矩形区域的四个顶点均位于所述第一区域之外,且存在第一边界点位于所述第二矩形区域之内的情况下,判定所述第二地址编码为与
所述第一区域相交的地址编码,可以提高判断的准确性。
[0084] 可选地,在所述第二地址编码对应的第二矩形区域的四个顶点均位于所述第一区域之内,且地理围栏的外边界上不存在边界点位于所述第二矩形区域之内的情况下的情况
下,所述第二地址编码为位于所述第一区域之内的地址编码。
[0085] 实际应用中,地理围栏的外边界也可能会包括内凹的部分,为了提高判断的准确性,对于任一第二地址编码,在该第二地址编码对应的矩形区域的四个顶点均位于所述第
一区域之内的情况下,可以进一步判断地理围栏的外边界上是否存在边界点位于该第二地
址编码对应的矩形区域内,若不存在,则确定该第二地址编码为位于所述第一区域之内的
地址编码,否则确定该第二地址编码为与所述第一区域相交的地址编码。也即在所述第二
地址编码对应的第二矩形区域的四个顶点均位于所述第一区域之内,且存在第一边界点位
于所述第二矩形区域之内的情况下的情况下,所述第二地址编码为位于所述第一区域之内
的地址编码;
[0086] 可选地,所述确定覆盖所述第一区域的多个第一地址编码,包括:
[0087] 根据所述第四编码长度和所述第一矩形区域的第一目标顶点的地理坐标,计算所述第一目标顶点对应的第三地址编码,所述第三地址编码的长度为所述第四编码长度;
[0088] 根据所述第三地址编码确定所述多个第一地址编码。
[0089] 本实施例中,上述第一目标顶点可以为第一矩形区域的任一顶点,例如,可以是第一矩形区域的左下角顶点、右下角顶点、左上角顶点或右上角顶点等。
[0090] 实际应用中,可以以第一目标顶点对应的第三地址编码对应的矩形区域为起始区域,按照预设顺序依次获取覆盖所述第一区域的第一地址编码,例如,若上述第一目标顶点
为左上角顶点,则可以以左上角顶点对应的第三地址编码对应的矩形区域为起始区域,按
照由左至右、由上至下的顺序依次获取覆盖所述第一区域的第一地址编码;或者若上述第
一目标顶点为右上角顶点,则可以以右上角顶点对应的第三地址编码对应的矩形区域为起
始区域,按照由右至左、由上至下的顺序依次获取覆盖所述第一区域的第一地址编码。
[0091] 本申请实施例根据第一目标顶点对应的第三地址编码确定覆盖所述第一区域的多个第一地址编码,相比于匹配全部的第一地址编码以确定位于所述第一区域的第一地址
编码,可以提高确定覆盖所述第一区域的多个第一地址编码的效率。
[0092] 可选地,所述第一目标顶点为左下角顶点,所述根据所述第三地址编码确定所述多个第一地址编码,包括:
[0093] 若所述第三地址编码对应的第三矩形区域对应的最大经度小于第一经度,则获取第四地址编码,以及确定所述第四地址编码对应的第四矩形区域对应的最大经度是否小于
所述第一经度;其中,所述第一经度为所述第一矩形区域对应的最大经度,所述第四地址编
码的长度为所述第四编码长度,所述第四矩形区域位于所述第三矩形区域的右侧且与所述
第三矩形区域相邻;
[0094] 若所述第三矩形区域对应的最大纬度小于第一纬度,则获取第五地址编码,以及确定所述第五地址编码对应的第五矩形区域对应的最大经度是否小于所述第一经度;其
中,所述第一经度为所述第一矩形区域对应的最大纬度,所述第五地址编码的长度为所述
第四编码长度,所述第五矩形区域位于所述第三矩形区域的上侧且与所述第三矩形区域相
邻;
[0095] 其中,所述多个第一地址编码包括所述第四地址编码和所述第五地址编码。
[0096] 本实施例中,可以以左下角顶点对应的第三地址编码对应的矩形区域为起始区域,并按照由左至右、由下至上的顺序依次获取覆盖所述第一区域的第一地址编码,如图3b
至图3e所示。以下结合举例对本申请实施例进行说明:
[0097] 假设左下角顶点对应的第三地址编码为地址编码e11。在地址编码e11对应的矩形区域对应的最大经度小于所述第一矩形区域对应的最大经度的情况下,如图3b所示,地址
编码e11对应的矩形区域22对应的最大经度小于第一矩形区域21对应的最大经度,可以获
取对应的矩形区域与地址编码e11对应的矩形区域右相邻的地址编码e12,如图3c所示,在
地址编码e12对应的矩形区域对应的最大经度小于所述第一矩形区域对应的最大经度的情
况下,可以获取对应的矩形区域与地址编码e12对应的矩形区域右相邻的地址编码e13,以
此类推,直至地址编码e1k1对应的矩形区域对应的最大经度不小于所述第一矩形区域对应
的最大经度,其中,k1为正整数。
[0098] 在地址编码e11对应的矩形区域对应的最大纬度小于所述第一矩形区域对应的最大纬度的情况下,可以获取对应的矩形区域与地址编码e11对应的矩形区域上相邻的地址
编码e21,如图3d所示,并可以对地址编码e21执行与上述地址编码e11相同的处理过程,以
此类推,直至获取的地址编码ekmkn对应的矩形区域对应的最大纬度不小于所述第一矩形区
域对应的最大纬度,其中,km和kn均为正整数。
[0099] 需要说明的是,上述右相邻可以理解为位于右侧且相邻,上述上相邻可以理解为位于上侧且相邻。上述覆盖所述第一区域的多个第一地址编码可以包括上述获取的各个地
址编码,也即地址编码e11至地址编码ekmkn。
[0100] 本申请实施例以左下角顶点对应的第三地址编码对应的矩形区域为起始区域,按照由左至右、由下至上的顺序依次获取覆盖所述第一区域的第一地址编码,可以提高确定
覆盖所述第一区域的多个第一地址编码的效率以及准确性。
[0101] 可选地,所述确定覆盖所述地理围栏包括的孔洞的多个地址编码,得到第二地址编码集合,包括:
[0102] 确定所述孔洞的最小外接矩形区域,得到第六矩形区域;
[0103] 根据所述第三编码长度和所述第六矩形区域的第二目标顶点的地理坐标,计算所述第二目标顶点对应的第六地址编码,所述第六地址编码的长度为所述第三编码长度;
[0104] 根据所述第六地址编码确定覆盖所述孔洞的多个第七地址编码,所述第七地址编码的长度为所述第三编码长度;
[0105] 获取所述多个第七地址编码中位于所述孔洞内的地址编码,得到所述第二地址编码集合。
[0106] 本实施例中,上述确定所述地理围栏内的孔洞的最小外接矩形区域,可以是通过遍历孔洞的外边界的各个点的地理坐标以获取孔洞对应的最大经度、最小经度、最大纬度
以及最小纬度,并根据孔洞对应的最大经度、最小经度、最大纬度以及最小纬度确定孔洞的
最小外接矩形区域,例如,如图4a所示的孔洞31的最小外接矩形区域30。
[0107] 上述第二目标顶点可以是第六矩形区域的左上角顶点、右上角顶点、左下角顶点或右下角顶点等。
[0108] 上述根据所述第六地址编码确定覆盖所述孔洞的多个第七地址编码,可以是以第六地址编码对应的矩形区域为起始区域,按照预设顺序获取覆盖所述孔洞的第七地址编
码,例如,若上述第二目标顶点为左上角顶点,则可以以左上角顶点对应的第六地址编码对
应的矩形区域为起始区域,按照由左至右、由上至下的顺序依次获取覆盖所述孔洞的地址
编码;或者若上述第二目标顶点为右上角顶点,则可以以右上角顶点对应的第六地址编码
对应的矩形区域为起始区域,按照由右至左、由上至下的顺序依次获取覆盖所述孔洞的第
七地址编码,如图4b所示。
[0109] 需要说明的是,上述根据所述第六地址编码确定覆盖所述孔洞的多个第七地址编码的详细处理过程可以参照前述根据所述第三地址编码确定所述多个第一地址编码的过
程,在此不做赘述。
[0110] 上述获取所述多个第七地址编码中位于所述孔洞内的地址编码,得到所述第二地址编码集合,可以包括获取所述多个第七地址编码中对应的矩形区域的四个顶点均位于所
述孔洞之内的第七地址编码。
[0111] 本申请实施例中根据所述第六地址编码确定覆盖所述孔洞的多个第七地址编码,可以提高确定覆盖所述地理围栏内的孔洞多个第七地址编码的效率,此外,获取所述多个
第七地址编码中位于所述孔洞内的地址编码,得到所述第二地址编码集合,由于第二地址
编码集合不包括与所述孔洞相交的地址编码,这样可以提高基于第二地址编码集合计算得
到的地理围栏的地址编码集合进行位置判断的准确性。
[0112] 可选地,在所述第七地址编码对应的第七矩形区域的四个顶点均位于所述孔洞内,且不存在第二边界点位于所述第七矩形区域之内的情况下,所述第七地址编码为位于
所述孔洞之内的地址编码,所述第二边界点为所述孔洞的外边界上的点。
[0113] 实际应用中,孔洞的外边界可能包括内凹的部分,为了提高判断的准确性,对于任一第七地址编码,在该第七地址编码对应的矩形区域的四个顶点均位于所述孔洞之内的情
况下,可以进一步判断所述孔洞的外边界上是否存在边界点位于该第七地址编码对应的矩
形区域之内,若所述孔洞的外边界上不存在顶点位于该第七地址编码对应的矩形区域之
内,则确定该第七地址编码为位于所述孔洞之内的地址编码,否则确定该第七地址编码不
为位于所述孔洞之内的地址编码。
[0114] 可以理解的是,在本实施例中,对于覆盖所述地理围栏内的孔洞的各个第七地址编码,均可以采用上述判断方式判断其是否为位于所述孔洞之内的地址编码,进而可以获
取覆盖所述地理围栏内的孔洞的多个第七地址编码中位于所述孔洞之内的第七地址编码。
[0115] 本申请实施例通过在所述第七地址编码对应的第七矩形区域的四个顶点均位于所述孔洞内,且不存在第二边界点位于所述第七矩形区域之内的情况下,判定所述第七地
址编码为位于所述孔洞之内的地址编码,可以提高判断的准确性。
[0116] 可选地,所述从所述第一地址编码集合中删除第一目标地址编码,得到所述地理围栏的地址编码集合,包括:
[0117] B1:从所述第一地址编码集合中删除第八地址编码,得到第三地址编码集合,所述第八地址编码为所述第一地址编码集合和所述第二地址编码集合中相同的地址编码;
[0118] B2:若第二目标编码长度大于第五编码长度,则将所述第二目标编码长度的值减去预设步长;其中,所述第二目标编码长度的初始取值为所述第三编码长度,所述第五编码
长度为所述第一地址编码集合中的地址编码的最小编码长度;
[0119] B3:确定第四地址编码集合中每个地址编码对应的第九地址编码,得到第五地址编码集合,所述第四地址编码集合的初始元素为所述第二地址编码集合中除所述第八地址
编码之外的地址编码,所述第九地址编码的长度为所述第二目标编码长度;
[0120] B4:从第六地址编码集合中删除第十地址编码,得到第七地址编码集合,所述第六地址编码集合的初始元素为所述第三地址编码集合中的地址编码,所述第十地址编码为所
述第六地址编码集合和所述第五地址编码集合中相同的地址编码;
[0121] B5:更新所述第四地址编码集合的元素为所述第五地址编码集合中除所述第十地址编码之外的地址编码;以及更新所述第六地址编码集合的元素为所述第七地址编码集合
中的地址编码,并返回执行步骤B2,直至所述第二目标编码长度小于或等于所述第五编码
长度;
[0122] 其中,所述地理围栏的地址编码集合为所述第七地址编码集合。
[0123] 以下以第三编码长度为L1、预设步长为1、所述第一地址编码集合中的地址编码的最小编码长度为L0、第一地址编码集合为地址编码集合U1、第二地址编码集合为地址编码
集合U2为例进行说明:
[0124] 从地址编码集合U1中删除与地址编码集合U2相同的地址编码,得到地址编码集合U3,若L1大于L0,则获取地址编码集合U4中的每个地址编码对应的长度为L1‑1的地址编码,
得到地址编码集合U5,其中,地址编码集合U4包括地址编码集合U2中除与地址编码集合U1
相同的地址编码之外的地址编码;从地址编码集合U3中删除与地址编码集合U5相同的地址
编码,得到地址编码集合U6,若L1‑1大于L0,则获取地址编码集合U7中的每个地址编码对应
的长度为L1‑2的地址编码,得到地址编码集合U8,其中,地址编码集合U7包括地址编码集合
U5中除与地址编码集合U3相同的地址编码之外的地址编码,以此类推,直至L1‑r小于或等
于L0,r为正整数,得到支持孔洞的地理围栏对应的地址编码集合,例如,如图5所示。
[0125] 本申请实施例通过按照预设步长逐次减小第二地址编码集合中的地址编码对应的编码长度以和第一编码集合中的地址编码进行比较来确定地理围栏对应的地址编码集
合,可以提高确定的地理围栏对应的地址编码集合进行位置判断的准确性。
[0126] 参见图6,图6是本申请实施例提供的位置确定方法的流程图,该方法应用于电子设备,如图6所示,该方法包括以下步骤:
[0127] 步骤601、获取目标点的地理坐标。
[0128] 本实施例中,上述目标点可以是任意需要进行位置判断的点。上述地理坐标可以包括经度和纬度。
[0129] 步骤602、根据所述目标点的地理坐标计算所述目标点对应的第十一地址编码;所述第十一地址编码的长度为目标长度,所述目标长度的初始取值为第六编码长度,所述第
六编码长度为地理围栏的地址编码集合中地址编码的最小编码长度,所述地理围栏的地址
编码集合根据上述的地理围栏的地址编码确定方法确定。
[0130] 本实施例中,上述地理围栏的地址编码集合可以根据上述任一实施例的地理围栏的地址编码确定方法确定,其中,上述地理围栏的地址编码确定方法的相关内容可以参见
前述论述,在此不做赘述。
[0131] 步骤603、若所述地理围栏的地址编码集合包括所述第一地址编码,则确定所述目标点位于所述地理围栏内。
[0132] 步骤604、若所述地理围栏的地址编码集合不包括所述第一地址编码,则将所述目标长度的取值加预设步长,并返回执行步骤602,直至所述目标长度的取值大于第七编码长
度,所述第七编码长度为所述地理围栏的地址编码集合中地址编码的最大编码长度。
[0133] 该步骤中,若所述目标长度的取值小于或等于第七编码长度,则返回执行步骤602;若所述目标长度的取值大于第七编码长度,则执行步骤605。
[0134] 步骤605、确定所述目标点位于所述地理围栏外。
[0135] 以下以目标点为点A、地理围栏的地址编码集合中地址编码的最小编码长度为L0、预设步长为1为例进行说明:
[0136] 根据点A的经度和纬度,计算点A对应的长度为L0的地址编码f0,若地址编码f0属于地理围栏B的地址编码集合,则确定点A位于该地理围栏B内,若地址编码f0不属于地理围
栏B的地址编码集合,可以计算点A对应的长度为L0+1的地址编码f1,若地址编码f1属于地
理围栏B的地址编码集合,则确定点A位于该地理围栏B内,若地址编码f1不属于地理围栏B
的地址编码集合,可以计算点A对应的长度为L0‑2的地址编码f2,以此类推,直至L0+p大于
所述地理围栏的地址编码集合中地址编码的长度的最大值,此时确定点A位于该地理围栏B
之外,其中,p为正整数。
[0137] 本申请实施例通过按照预设步长逐次增大目标点对应的地址编码的长度以和地理围栏的地址编码集合的地址编码比较来判断目标点是否位于该地理围栏内,可以提高位
置判断的准确性。
[0138] 可选地,所述若所述地理围栏的地址编码集合包括所述第一地址编码,则确定所述目标点位于所述地理围栏内,包括:
[0139] 若所述地理围栏的地址编码集合包括所述第一地址编码,则通过几何运算的方式确定所述目标点是否位于所述地理围栏内;
[0140] 若通过所述几何运算的方式确定所述目标点位于所述地理围栏内,则确定所述目标点位于所述地理围栏内。
[0141] 由于位于地理围栏的边界的地址编码可能会包括地理围栏之外的点,此时,若直接依据该目标点对应的地址编码是否属于所述地理围栏的地址编码集合来确定目标点是
否位于所述地理围栏内会出现判断结果不准确的情况发生。因此,本申请实施例在目标点
对应的目标长度的地址编码属于所述地理围栏的地址编码集合的情况下,可以进一步通过
几何运算的方式判断目标点是否位于所述地理围栏内,也即将上述判断目标点是否位于所
述地理围栏内等同于判断点(目标点)是否位于几何形状(即地理围栏)内,并在通过几何运
算的方式确定所述目标点位于所述地理围栏内的情况下,确定所述目标点位于所述地理围
栏内,否则确定所述目标点位于所述地理围栏之外,这样可以提高判断的准确性。
[0142] 需要说明的是,在存在多个地理围栏的情况下,可以按照上述任一实施例的地理围栏的地址编码确定方法确定各个地理围栏对应的地址编码集合,并可以按照键值对的方
式存储于redis存储器中,其中,键值对中的键(key)存储地理围栏对应的地址编码,值
(value)存储地理围栏的信息。这样对于某个点,可以从redis存储器中查询该点所属的地
理围栏。
[0143] 参见图7,图7是本申请实施例提供的地理围栏的地址编码确定装置的结构图。如图7所示,地理围栏的地址编码确定装置700包括:
[0144] 第一确定模块701,用于确定覆盖第一区域的多个地址编码,得到第一地址编码集合;其中,所述第一区域为地理围栏的外边界所围合区域,所述第一地址编码集合中的地址
编码的长度至少部分不相同,第一编码长度大于第二编码长度,所述第一编码长度为所述
第一区域的边界区域对应的地址编码的长度,所述第二编码长度为所述第一区域的中心区
域对应的地址编码的长度;
[0145] 第二确定模块702,用于确定覆盖所述地理围栏包括的孔洞的多个地址编码,得到第二地址编码集合;其中,所述第二地址编码集合中的地址编码的长度均为第三编码长度,
所述第三编码长度大于或等于所述第一地址编码集合中的地址编码的最大编码长度;
[0146] 删除模块703,用于从所述第一地址编码集合中删除第一目标地址编码,得到所述地理围栏的地址编码集合,所述第一目标地址编码为所述第一地址编码集合中与所述第二
地址编码集合中的地址编码对应的地址编码。
[0147] 可选地,所述第一确定模块,包括:
[0148] 第一确定单元,用于确定所述地理围栏的最小外接矩形区域,得到第一矩形区域;
[0149] 第二确定单元,用于根据所述第一矩形区域和预设编码长度确定第四编码长度;其中,所述第四编码长度为第一编码长度集合中的最小值,所述第一编码长度集合中的每
个编码长度均小于所述预设编码长度,且所述第一编码长度集合中的每个编码长度对应的
矩形区域的宽度均小于所述第一矩形区域的对角线长度;
[0150] 第三确定单元,用于根据所述第四编码长度和所述预设编码长度确定所述第一地址编码集合。
[0151] 可选地,所述第三确定单元具体用于:
[0152] A1:确定覆盖所述第一区域的多个第一地址编码,所述第一地址编码的长度为所述第四编码长度;
[0153] A2:确定所述多个第一地址编码中位于所述第一区域内的第一地址编码,以及确定所述多个第一地址编码中与所述第一区域相交的第一地址编码;
[0154] A3:确定多个第二地址编码中位于所述第一区域之内的第二地址编码和与所述第一区域相交的第二地址编码;所述多个第二地址编码为第二目标地址编码对应的多个地址
编码,所述第二目标地址编码的起始取值为所述多个第一地址编码中与所述第一区域相交
的第一地址编码,所述第二地址编码的长度为第一目标编码长度,所述第一目标编码长度
的起始取值为所述第四编码长度加预设步长;
[0155] A4:将所述第二目标地址编码的取值更新为所述多个第二地址编码中与所述第一区域相交的第二地址编码;以及将所述第一目标编码长度的值加上预设步长,并返回执行
步骤A3,直至所述第一目标编码长度的值大于所述预设编码长度;
[0156] 其中,所述第一地址编码集合包括所述多个第一地址编码中位于所述第一区域内的第一地址编码、确定的所述多个第二地址编码中位于所述第一区域内的第二地址编码、
以及最后一次确定的所述多个第二地址编码中与所述第一区域相交的第二地址编码。
[0157] 可选地,在所述第二地址编码对应的第二矩形区域的四个顶点均位于所述第一区域之内的情况下,所述第二地址编码为位于所述第一区域之内的地址编码;
[0158] 在所述第二矩形区域的四个顶点中仅存在部分顶点位于所述第一区域之内的情况下,所述第二地址编码为与所述第一区域相交的地址编码;
[0159] 在所述第二矩形区域的四个顶点均位于所述第一区域之外,且存在第一边界点位于所述第二矩形区域之内的情况下,所述第二地址编码为与所述第一区域相交的地址编
码,所述第一边界点为所述地理围栏的外边界上的点。
[0160] 可选地,所述第三确定单元具体用于:
[0161] 根据所述第四编码长度和所述第一矩形区域的第一目标顶点的地理坐标,计算所述第一目标顶点对应的第三地址编码,所述第三地址编码的长度为所述第四编码长度;
[0162] 根据所述第三地址编码确定所述多个第一地址编码。
[0163] 可选地,所述第一目标顶点为左下角顶点,所述第三确定单元具体用于:
[0164] 若所述第三地址编码对应的第三矩形区域对应的最大经度小于第一经度,则获取第四地址编码,以及确定所述第四地址编码对应的第四矩形区域对应的最大经度是否小于
所述第一经度;其中,所述第一经度为所述第一矩形区域对应的最大经度,所述第四地址编
码的长度为所述第四编码长度,所述第四矩形区域位于所述第三矩形区域的右侧且与所述
第三矩形区域相邻;
[0165] 若所述第三矩形区域对应的最大纬度小于第一纬度,则获取第五地址编码,以及确定所述第五地址编码对应的第五矩形区域对应的最大经度是否小于所述第一经度;其
中,所述第一经度为所述第一矩形区域对应的最大纬度,所述第五地址编码的长度为所述
第四编码长度,所述第五矩形区域位于所述第三矩形区域的上侧且与所述第三矩形区域相
邻;
[0166] 其中,所述多个第一地址编码包括所述第四地址编码和所述第五地址编码。
[0167] 可选地,所述第二确定模块,包括:
[0168] 第四确定单元,用于确定所述孔洞的最小外接矩形区域,得到第六矩形区域;
[0169] 计算单元,用于根据所述第三编码长度和所述第六矩形区域的第二目标顶点的地理坐标,计算所述第二目标顶点对应的第六地址编码,所述第六地址编码的长度为所述第
三编码长度;
[0170] 第五确定单元,用于根据所述第六地址编码确定覆盖所述孔洞的多个第七地址编码,所述第七地址编码的长度为所述第三编码长度;
[0171] 获取单元,用于获取所述多个第七地址编码中位于所述孔洞内的地址编码,得到所述第二地址编码集合。
[0172] 可选地,在所述第七地址编码对应的第七矩形区域的四个顶点均位于所述孔洞内,且不存在第二边界点位于所述第七矩形区域之内的情况下,所述第七地址编码为位于
所述孔洞之内的地址编码,所述第二边界点为所述孔洞的外边界上的点。
[0173] 可选地,所述删除模块具体用于:
[0174] B1:从所述第一地址编码集合中删除第八地址编码,得到第三地址编码集合,所述第八地址编码为所述第一地址编码集合和所述第二地址编码集合中相同的地址编码;
[0175] B2:若第二目标编码长度大于第五编码长度,则将所述第二目标编码长度的值减去预设步长;其中,所述第二目标编码长度的初始取值为所述第三编码长度,所述第五编码
长度为所述第一地址编码集合中的地址编码的最小编码长度;
[0176] B3:确定第四地址编码集合中每个地址编码对应的第九地址编码,得到第五地址编码集合,所述第四地址编码集合的初始元素为所述第二地址编码集合中除所述第八地址
编码之外的地址编码,所述第九地址编码的长度为所述第二目标编码长度;
[0177] B4:从第六地址编码集合中删除第十地址编码,得到第七地址编码集合,所述第六地址编码集合的初始元素为所述第三地址编码集合中的地址编码,所述第十地址编码为所
述第六地址编码集合和所述第五地址编码集合中相同的地址编码;
[0178] B5:更新所述第四地址编码集合的元素为所述第五地址编码集合中除所述第十地址编码之外的地址编码;以及更新所述第六地址编码集合的元素为所述第七地址编码集合
中的地址编码,并返回执行步骤B2,直至所述第二目标编码长度小于或等于所述第五编码
长度;
[0179] 其中,所述地理围栏的地址编码集合为所述第七地址编码集合。
[0180] 本申请实施例提供的地理围栏的地址编码确定装置700能够实现上述地理围栏的地址编码确定方法实施例中的各个过程,为避免重复,这里不再赘述。
[0181] 本申请实施例的地理围栏的地址编码确定装置700,通过不同长度的地址编码覆盖地理围栏的外边界所围合区域的边界区域和中心区域,利用长度大于或等于覆盖所述地
理围栏的外边界所围合区域的地址编码的长度中的最大值的地址编码覆盖地理围栏内的
孔洞,并从覆盖地理围栏的外边界所围合区域的地址编码中删除与覆盖地理围栏内的孔洞
的地址编码对应的地址编码作为地理围栏的地址编码,可以在减少覆盖地理围栏的地址编
码的数量以减少存储空间的同时,提高位置坐标所属围栏判断结果的准确性。
[0182] 参见图8,图8是本申请实施例提供的位置确定装置的结构图。如图8所示,位置确定装置800包括:
[0183] 获取模块801,用于获取目标点的地理坐标;
[0184] 计算模块802,用于根据所述目标点的地理坐标计算所述目标点对应的第十一地址编码;所述第十一地址编码的长度为目标长度,所述目标长度的初始取值为第六编码长
度,所述第六编码长度为地理围栏的地址编码集合中地址编码的最小编码长度,所述地理
围栏的地址编码集合根据权利要求1至9任一项所述的方法确定;
[0185] 第三确定模块803,用于若所述地理围栏的地址编码集合包括所述第一地址编码,则确定所述目标点位于所述地理围栏内;
[0186] 处理模块804,用于若所述地理围栏的地址编码集合不包括所述第一地址编码,则将所述目标长度的取值加预设步长,并返回执行所述根据所述目标点的地理坐标计算所述
目标点对应的第十一地址编码的步骤,直至所述目标长度的取值大于第七编码长度,所述
第七编码长度为所述地理围栏的地址编码集合中地址编码的最大编码长度;
[0187] 第四确定模块805,用于确定所述目标点位于所述地理围栏外。
[0188] 可选地,所述第三确定模块具体用于:
[0189] 若所述地理围栏的地址编码集合包括所述第一地址编码,则通过几何运算的方式确定所述目标点是否位于所述地理围栏内;
[0190] 若通过所述几何运算的方式确定所述目标点位于所述地理围栏内,则确定所述目标点位于所述地理围栏内。
[0191] 本申请实施例提供的位置确定装置800能够实现上述位置确定方法实施例中的各个过程,为避免重复,这里不再赘述。
[0192] 本申请实施例的位置确定装置800,通过按照预设步长逐次增大目标点对应的地址编码的长度以和地理围栏的地址编码集合的地址编码比较来判断目标点是否位于该地
理围栏内,可以提高位置判断的准确性。
[0193] 参见图9,图9是本申请实施提供的电子设备的结构图,如图9所示,电子设备900包括:处理器901、存储器902及存储在所述存储器902上并可在所述处理器上运行的计算机程
序,电子设备900中的各个组件通过总线接口903耦合在一起,所述计算机程序被所述处理
器901执行时实现上述任一方法实施例中的地理围栏的地址编码确定方法的步骤,或者实
现上述任一方法实施例中的位置确定方法的步骤。
[0194] 本申请实施例还提供一种电子设备,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述地理围栏的地址
编码确定方法实施例的各个过程,或者实现上述位置确定方法实施例的各个过程,且能达
到相同的技术效果,为避免重复,这里不再赘述。
[0195] 本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述地理围栏的地址编码确定方法实施例的
各个过程,或者实现上述位置确定方法实施例的各个过程,且能达到相同的技术效果,为避
免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read‑Only 
Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
[0196] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而
且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有
的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该
要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0197] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下
前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做
出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质
(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务
器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
[0198] 上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员
在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多
形式,均属于本申请的保护之内。