CN113886386A - 一种GeoHash确定方法、装置、设备及介质 - Google Patents
一种GeoHash确定方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113886386A CN113886386A CN202111122236.9A CN202111122236A CN113886386A CN 113886386 A CN113886386 A CN 113886386A CN 202111122236 A CN202111122236 A CN 202111122236A CN 113886386 A CN113886386 A CN 113886386A
- Authority
- CN
- China
- Prior art keywords
- geohash
- target
- length
- block
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种GeoHash确定方法、装置、设备及介质,由于本发明实施例中,预先根据目标地理围栏的目标面积,确定了每个GeoHash块的目标GeoHash长度,并针对包含在该目标地理围栏中的每个目标GeoHash块,确定该目标GeoHash块的长度为目标GeoHash长度的目标GeoHash编码并保存,能够有效的根据构建的目标地理围栏的面积,选择长度适合的GeoHash编码的长度,进而保证该目标地理围栏中对应的GeoHash编码的数量适宜,避免保存的目标GeoHash编码过多,还能够保证GeoHash编码代表的范围的精准性。
Description
技术领域
本发明涉及地理围栏技术领域,尤其涉及一种地理编码(GeoHash)确定方法、装置、设备及介质。
背景技术
伴随着地理围栏技术的快速发展,地理围栏目前被广泛应用在各个技术领域,比如,百度地图、共享单车等等。
现有技术中,一般基于地图可视化范围的最大经纬度和最小经纬度构建地理围栏,其中,该地理围栏中包含多个GeoHash块,每个GeoHash块对应一个GeoHash编码,保存该地理围栏包含的每个GeoHash编码。其中,可以基于不同长度的GeoHash编码表示对应的GeoHash块,且GeoHash编码的长度越长,该GeoHash编码代表的GeoHash块的范围越小,一般来说,采用长度为10的GeoHash编码最常见。
当GeoHash编码的长度为10时,若构建的地理围栏过大,由于长度为10的GeoHash编码所代表的范围是固定的,因此该地理围栏中包含的GeoHash块则数量过大,导致确定的该地理围栏中各个GeoHash块对应的GeoHash编码数量也过大,则缓存的GeoHash编码也过多;若构建的地理围栏过小,该地理围栏中包含的GeoHash块则数量过小,导致该地理围栏中各个GeoHash块对应的GeoHash编码的数量太少,造成GeoHash编码代表的范围不精准。
发明内容
本发明提供了一种地理编码GeoHash确定方法、装置、设备及介质,用以解决现有技术中构建的地理围栏中保存的GeoHash编码的数量过大,保存的GeoHash编码的数量过小则增大GeoHash范围的误差的问题。
第一方面,本发明提供了一种GeoHash确定方法,所述方法包括:
根据地理可视化范围的位置信息,构建目标地理围栏;
获得所述目标地理围栏的目标面积,根据所述目标面积确定目标GeoHash长度;
确定包含在所述目标地理围栏中的每个目标GeoHash块,并针对每个目标GeoHash块,根据该目标GeoHash块的位置信息,确定该目标GeoHash块对应的目标GeoHash编码并保存,其中,所述目标GeoHash编码的长度为所述目标GeoHash长度。
进一步地,所述根据所述目标面积确定目标GeoHash长度包括:
根据所述目标地理围栏的目标面积与预设的GeoHash块的第一目标数量,确定所述目标地理围栏中每个GeoHash块的目标平均面积;
根据预先保存的GeoHash长度与GeoHash块的面积的对应关系,确定所述目标平均面积对应的目标GeoHash长度。
进一步地,所述根据所述目标面积确定目标GeoHash长度包括:
随机选择第一候选GeoHash长度,并根据预先保存的GeoHash长度与GeoHash块的面积的对应关系,确定所述第一候选GeoHash长度对应的每个第一候选GeoHash块的候选面积;
根据所述目标面积与所述候选面积,确定所述目标地理围栏中包含的第一候选GeoHash块的第二目标数量,确定所述第二目标数量是否位于预设的GeoHash块的目标数量的范围内;
若是,则将所述第一候选GeoHash长度确定为目标GeoHash长度;
若否,则随机选择第二候选GeoHash长度,将选择的第二候选GeoHash长度更新为第一候选GeoHash长度,进行确定长度为所述第一候选GeoHash长度的候选GeoHash块的候选面积的操作,直至确定出所述目标GeoHash长度。
进一步地,所述确定包含在所述目标地理围栏中的每个目标GeoHash块包括:
以包含所述目标地理围栏的预设位置信息的第一GeoHash块为起点,确定与所述第一GeoHash块相邻,且未被识别的第二GeoHash块是否位于所述目标地理围栏中;
若是,则将所述第二GeoHash块更新为所述第一GeoHash块,将所述第二GeoHash块标记未被识别的GeoHash块,直至确定出所述目标地理围栏中包含的每个目标GeoHash块。
进一步地,所述位置信息包括:
经度和纬度中的至少一种;
所述以包含所述目标地理围栏的预设位置信息的第一GeoHash块为起点,确定与所述第一GeoHash块相邻,且未被识别的第二GeoHash块是否位于所述目标地理围栏中包括:
确定与所述第一GeoHash块相邻且未被识别的第二GeoHash块对应的第一经纬度范围,确定所述第一经纬度范围是否位于所述目标地理围栏对应的第二经纬度范围内,若是,则确定所述第二GeoHash块位于所述目标地理围栏中;若否,则确定所述第二GeoHash块不位于所述目标地理围栏中。
第二方面,本发明还提供了一种地理编码GeoHash确定装置,所述装置包括:
构建模块,用于根据地理可视化范围的位置信息,构建目标地理围栏;
确定模块,用于获得所述目标地理围栏的目标面积,根据所述目标面积确定目标GeoHash长度;确定包含在所述目标地理围栏中的每个目标GeoHash块,并针对每个目标GeoHash块,根据该目标GeoHash块的位置信息,确定该目标GeoHash块对应的目标GeoHash编码并保存,其中,所述目标GeoHash编码的长度为所述目标GeoHash长度。
进一步地,所述确定模块,具体用于根据所述目标地理围栏的目标面积与预设的GeoHash块的第一目标数量,确定所述目标地理围栏中每个GeoHash块的目标平均面积;根据预先保存的GeoHash长度与GeoHash块的面积的对应关系,确定所述目标平均面积对应的目标GeoHash长度。
进一步地,所述确定模块,具体用于随机选择第一候选GeoHash长度,并根据预先保存的GeoHash长度与GeoHash块的面积的对应关系,确定所述第一候选GeoHash长度对应的每个第一候选GeoHash块的候选面积;根据所述目标面积与所述候选面积,确定所述目标地理围栏中包含的第一候选GeoHash块的第二目标数量,确定所述第二目标数量是否位于预设的GeoHash块的目标数量的范围内;若是,则将所述第一候选GeoHash长度确定为目标GeoHash长度;若否,则随机选择第二候选GeoHash长度,将选择的第二候选GeoHash长度更新为第一候选GeoHash长度,进行确定长度为所述第一候选GeoHash长度的候选GeoHash块的候选面积的操作,直至确定出所述目标GeoHash长度。
进一步地,所述确定模块,具体用于以包含所述目标地理围栏的预设位置信息的第一GeoHash块为起点,确定与所述第一GeoHash块相邻,且未被识别的第二GeoHash块是否位于所述目标地理围栏中;若是,则将所述第二GeoHash块更新为所述第一GeoHash块,将所述第二GeoHash块标记未被识别的GeoHash块,直至确定出所述目标地理围栏中包含的每个目标GeoHash块。
进一步地,所述确定模块,具体用于确定与所述第一GeoHash块相邻且未被识别的第二GeoHash块对应的第一经纬度范围,确定所述第一经纬度范围是否位于所述目标地理围栏对应的第二经纬度范围内,若是,则确定所述第二GeoHash块位于所述目标地理围栏中;若否,则确定所述第二GeoHash块不位于所述目标地理围栏中。
在本发明实施例中,根据地理可视化范围的位置信息,构建目标地理围栏,获得该目标地理围栏的目标面积,根据该目标面积确定每个GeoHash块的目标平均面积,并根据该目标平均面积确定目标GeoHash长度,确定包含在该目标地理围栏中的每个目标GeoHash块,并针对每个目标GeoHash块,根据该目标GeoHash块的位置信息,确定该目标GeoHash块对应的目标GeoHash编码并保存,其中,该目标GeoHash编码的长度为该目标GeoHash长度。由于本发明实施例中,预先根据目标地理围栏的目标面积,确定了每个GeoHash块的目标GeoHash长度,并针对包含在该目标地理围栏中的每个目标GeoHash块,确定该目标GeoHash块的长度为目标GeoHash长度的目标GeoHash编码并保存,能够有效的根据构建的目标地理围栏的面积,选择长度适合的GeoHash编码的长度,进而保证该目标地理围栏中对应的GeoHash编码的数量适宜,避免保存的目标GeoHash编码过多,还能够保证GeoHash编码代表的范围的精准性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种GeoHash确定方法的过程示意图;
图2为本发明实施例提供的一种确定目标GeoHash长度的过程示意图;
图3为本发明实施例提供的一种确定地理围栏中包含的GeoHash编码的过程示意图;
图4为本发明实施例提供的一种确定包含在所述目标地理围栏中的每个目标GeoHash块的过程示意图;
图5为本发明实施例提供的一种GeoHash确定装置结构示意图;
图6为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中,根据地理可视化范围的位置信息,构建目标地理围栏,获得该目标地理围栏的目标面积,根据该目标面积确定每个GeoHash块的目标平均面积,并根据该目标平均面积确定目标GeoHash长度,确定包含在该目标地理围栏中的每个目标GeoHash块,并针对每个目标GeoHash块,根据该目标GeoHash块的位置信息,确定该目标GeoHash块对应的目标GeoHash编码并保存,其中,该目标GeoHash编码的长度为该目标GeoHash长度。由于本发明实施例中,预先根据目标地理围栏的目标面积,确定了每个GeoHash块的目标GeoHash长度,并针对包含在该目标地理围栏中的每个目标GeoHash块,确定该目标GeoHash块的长度为目标GeoHash长度的目标GeoHash编码并保存,能够有效的根据构建的目标地理围栏的面积,选择长度适应的GeoHash长度,进而保证该目标地理围栏中对应的GeoHash编码的数量适宜,避免保存的目标GeoHash编码过多,还能够保证GeoHash编码代表的范围的精准性。
为了避免地理围栏中保存的对应的GeoHash编码数量过多,地理围栏中GeoHash编码数量过少则影响GeoHash编码代表的范围的精准性的问题,本发明实施例提供了一种GeoHash确定方法、装置、设备及介质。
实施例1:
图1为本发明实施例提供的一种GeoHash确定方法的过程示意图,该过程包括以下步骤:
S101:根据地理可视化范围的位置信息,构建目标地理围栏。
本发明实施例提供的地理编码GeoHash确定方法应用于电子设备,该电子设备可以是PC或者服务器等设备。
在本发明实施例中,可以预先根据地理可视化范围的位置信息,构建目标地理围栏,其中,该地理可视化范围为可见且可知位置信息的地理区域所在的范围,比如,地图。若针对北京所在区域构建地理围栏,则该地理可视化范围可以为北京市在地图上对应的范围。其中,该目标地理围栏为用一个虚拟的栅栏围出一个虚拟地理边界,且该构建的目标地理围栏一般为多边形。具体的,在本发明实施例中,可以根据地理可视化范围的左上角顶点的经纬度以及右下角顶点的经纬度,构建目标地理围栏,若针对北京构建地理围栏,则根据北京市在地图上对应的范围的坐上角定点的经纬度以及右下角的经纬度,构建目标地理围栏。其中,根据地理可视化范围的左上角的顶点的经纬度和右下角顶点的经纬度构建目标地理围栏的过程为现有技术,在此不做赘述。
S102:获得所述目标地理围栏的目标面积,根据所述目标面积确定目标GeoHash长度。
由于GeoHash编码对应的GeoHash长度越长,则该GeoHash编码对应的GeoHash块的范围越小,该GeoHash编码的GeoHash长度越短,则该GeoHash编码对应的GeoHash块的范围越大。因此为了保证目标地理围栏中包含的GeoHash编码的数量不会太多,也不会太少,也就是说,为了保证目标地理围栏中包含的GeoHash块的数量不会太多,也不会太少,需要确定该目标地理围栏中包含的GeoHash块的GeoHash编码对应的适宜长度,该适宜长度也就是目标GeoHash长度,其中,一个GeoHash编码对应一个GeoHash块。
为了确定目标GeoHash长度,在本发明实施例中,在构建目标地理围栏后,先获得该目标地理围栏的目标面积,由于目标地理围栏中各个位置处的经纬度是已知的,因此,可以根据该目标地理围栏上各个位置处的经纬度确定该目标面积,比如,该目标地理围栏为一个多边形,则根据该多边形各个顶点的经纬度确定目标地理围栏的目标面积。然后根据该目标面积确定目标GeoHash长度。具体的,在本发明实施例中,可以预先保存了地理围栏面积与GeoHash长度的对应关系,在确定目标地理围栏对应的目标面积后,根据该预先保存的地理围栏面积与GeoHash长度的对应关系,确定该目标面积对应的目标GeoHash长度。
S103:确定包含在所述目标地理围栏中的每个目标GeoHash块,并针对每个目标GeoHash块,根据该目标GeoHash块的位置信息,确定该目标GeoHash块对应的目标GeoHash编码并保存,其中,所述目标GeoHash编码的长度为所述目标GeoHash长度。
在本发明实施例中,一个地理围栏中包含多个GeoHash块,每个GeoHash块对应一个GeoHash编码,在确定目标GeoHash长度后,确定包含在目标地理围栏中的每个目标GeoHash块,并确定每个目标GeoHash块对应的目标GeoHash编码,且该目标GeoHash编码的长度为该目标GeoHash长度。具体的,确定长度为目标GeoHash长度的目标GeoHash编码时,根据目标GeoHash块的左上角的经纬度,确定该目标GeoHash编码。其中,根据目标GeoHash块的左上角的经纬度确定该目标GeoHash编码的过程为现有技术,在此不做赘述。
由于本发明实施例中,预先根据目标地理围栏的目标面积,确定了每个GeoHash块的目标GeoHash长度,并针对包含在该目标地理围栏中的每个目标GeoHash块,确定该目标GeoHash块的长度为目标GeoHash长度的目标GeoHash编码并保存,能够有效的根据构建的目标地理围栏的面积,选择长度适应的GeoHash长度,进而保证该目标地理围栏保存的GeoHash编码的数量适宜,避免保存的目标GeoHash编码过多,还能够保证GeoHash编码代表的范围的精准性。
实施例2:
为了确定目标GeoHash长度,在上述实施例的基础上,在本发明实施例中,所述根据所述目标面积确定目标GeoHash长度包括:
根据所述目标地理围栏的目标面积与预设的GeoHash块的第一目标数量,确定所述目标地理围栏中每个GeoHash块的目标平均面积;
根据预先保存的GeoHash长度与GeoHash块的面积的对应关系,确定所述目标平均面积对应的目标GeoHash长度。
由于地理围栏中包含的每个GeoHash块对应一个GeoHash编码,为了保证该地理围栏中的GeoHash编码的数量适量,可以保证该地理围栏中包含的GeoHash块的数量适量,因此,在本发明实施例中,可以预设GeoHash块的第一目标数量,后续根据该预设GeoHash块的第一目标数量,确定目标地理围栏中每个GeoHash块的目标平均面积,再基于该每个GeoHash块的目标平均面积,确定目标GeoHash长度。为了确定每个GeoHash块的目标平均面积,可以根据该目标地理围栏的目标面积以及该预设的GeoHash块的第一目标数量,确定该目标地理围栏中每个GeoHash块的目标平均面积,具体的,可以根据目标地理围栏的目标面积以及该预设的GeoHash块的第一目标数量的商值,将该商值确定该目标地理围栏中每个GeoHash块的目标平均面积。
在本发明实施例中,为了确定目标GeoHash长度,预先保存了GeoHash长度与GeoHash块的面积的对应关系,在确定该目标地理围栏中每个GeoHash块的目标平均面积后,根据该预先保存的GeoHash长度与GeoHash块的面积的对应关系,确定该目标平均面积对应的目标GeoHash长度。其中,GeoHash块的目标平均面积越大,确定的目标GeoHash长度越小,确定的GeoHash块的目标平均面积越小,确定的目标GeoHash长度越大。
为了确定目标GeoHash长度,在上述实施例的基础上,在本发明实施例中,所述根据所述目标面积确定目标GeoHash长度包括:
随机选择第一候选GeoHash长度,并根据预先保存的GeoHash长度与GeoHash块的面积的对应关系,确定所述第一候选GeoHash长度对应的每个第一候选GeoHash块的候选面积;
根据所述目标面积与所述候选面积,确定所述目标地理围栏中包含的第一候选GeoHash块的第二目标数量,确定所述第二目标数量是否位于预设的GeoHash块的目标数量的范围内;
若是,则将所述第一候选GeoHash长度确定为目标GeoHash长度;
若否,则随机选择第二候选GeoHash长度,将选择的第二候选GeoHash长度更新为第一候选GeoHash长度,进行确定长度为所述第一候选GeoHash长度的候选GeoHash块的候选面积的操作,直至确定出所述目标GeoHash长度。
在本发明实施例中,为了确定目标GeoHash长度,电子设备中还可以预设了GeoHash块的目标数量的范围,先从预先保存的多个GeoHash长度中随机选择一个第一候选GeoHash长度,然后根据电子设备中预先保存的GeoHash长度与GeoHash块的面积的对应关系,确定第一候选GeoHash长度对应的第一候选GeoHash块的候选面积。
由于目标地理围栏的目标面积已知,则可以根据该目标地理围栏的目标面积与第一候选GeoHash块的候选面积的商值,确定该目标地理围栏中包含的GeoHash块的第二目标数量,为了确定该第一候选GeoHash长度是否为目标GeoHash长度,在本发明实施例中,确定该第二目标长度是否位于预设的GeoHash块的目标数量的范围内,若该第二目标数量位于预设的GeoHash块的目标数量的范围内,则将该第一候选GeoHash长度确定为目标GeoHash长度,否则,则从预先保存的多个GeoHash长度中随机选择第二候选GeoHash长度,并将该选择的第二候选GeoHash长度更新为第一候选GeoHash长度,进行确定长度为该第一候选GeoHash长度的候选GeoHash块的候选面积的操作,直至确定出目标GeoHash长度为止。
由于GeoHash长度越长,则该GeoHash长度的GeoHash编码对应的GeoHash块的覆盖范围越小,因此,在确定该第二目标数量不位于预设的GeoHash块的目标数量的范围内时,再选择第二候选GeoHash长度时,为了减轻电子设备的工作负担,提高确定目标GeoHash长度的效率,可以将该第二目标数量与该预设的GeoHash块的目标数量的范围中的最大目标数量以及最小目标数量进行比较,根据比较的结果,估计该第二候选GeoHash长度。
具体的,若该第二目标数量大于该最大目标数量,为了使得后续选择的第二候选GeoHash长度能够代表更大范围的区域,进而减少在该目标地理围栏中包含的GeoHash块的数量,则选择比第一候选GeoHash长度的长度短的第二候选GeoHash长度;若该第二目标数量小于该最小目标数量,为了使得后续选择的第二候选GeoHash长度能够代表更小范围的区域,进而增加在该目标地理围栏中包含的GeoHash块的数量,则选择比第一候选GeoHash长度的长度长的第二候选GeoHash长度。
比如,若第一候选GeoHash长度为10,该第二目标数量为5,该预设的GeoHash块的目标数量的范围为[6,8],则可以将选择的长度小于10的第二候选GeoHash长度,比如,将第二候选GeoHash长度设置为9或者8等等。
图2为本发明实施例提供的一种确定目标GeoHash长度的过程示意图,现针对图2进行说明。
先根据地理可视化范围的左上角和右下角的经纬度构建目标地理围栏,并确定该目标地理围栏的目标面积,随机选择第一候选GeoHash长度,并确定该第一候选GeoHash长度对应的候选面积,将目标地理围栏的目标面积除以该候选面积,估计该目标地理围栏包含的GeoHash块的第二目标数量,若该第二目标数量位于预设的GeoHash块的目标数量的范围内,则将该第一候选GeoHash长度确定为目标长度,否则,随机选择第二候选GeoHash长度,并将该新的第二候选GeoHash长度更新为该第一候选GeoHash长度,并进行确定该第一候选GeoHash长度对应的候选面积,然后基于该目标地理围栏的目标面积与该候选面积,继续进行后续判断,直至选择出合适的目标长度。
图3为本发明实施例提供的一种确定地理围栏中包含的GeoHash编码的过程示意图,现针对图3进行说明。
先构建目标地理围栏,确定该目标地理围栏对应的目标GeoHash长度,确定该目标地理围栏中包含的所有目标GeoHash块,确定每个目标GeoHash块对应的目标GeoHash编码,且每个目标GeoHash块对应的目标GeoHash编码的长度为目标GeoHash长度。
实施例3:
为了确定目标地理围栏中的每个目标GeoHash块,在上述各实施例的基础上,在本发明实施例中,所述确定包含在所述目标地理围栏中的每个目标GeoHash块包括:
以包含所述目标地理围栏的预设位置信息的第一GeoHash块为起点,确定与所述第一GeoHash块相邻,且未被识别的第二GeoHash块是否位于所述目标地理围栏中;
若是,则将所述第二GeoHash块更新为所述第一GeoHash块,将所述第二GeoHash块标记未被识别的GeoHash块,直至确定出所述目标地理围栏中包含的每个目标GeoHash块。
在本发明实施例中,在构建目标地理围栏之后,为了确定该目标地理围栏中包含的所有目标GeoHash块,可以以包含该目标地理围栏的预设位置信息的第一GeoHash块为起点,确定与该第一GeoHash块相邻,且未被识别的第二GeoHash块是否位于该目标地理围栏中。具体的,若该第二GeoHash块的部位区域在该目标地理围栏所在的区域,部分区域未在该目标地理围栏所在的区域,也可以认为该第二GeoHash块位于该目标地理围栏。
若该第二GeoHash块位于该目标地理围栏,则将该第二GeoHash块更新为第一GeoHash块,将该第二GeoHash块标记未被识别的GeoHash块,直至确定出该目标地理围栏中包含的每个目标GeoHash块。其中,该预设位置为该目标地理围栏中的已知位置。
由于在构建地理围栏时,是基于地理可视化范围的左上角的经纬度和右下角的经纬度构建的,也就是说,该左上角的经纬度以及右下角的经纬度是包含在该目标地理围栏中且已知的,因此,该目标地理围栏的预设位置信息可以为地理可视化范围的左上角的经纬度,也可以为地理可视化范围的右下角的经纬度。
为了准确的确定该目标地理围栏中包含的所有目标GeoHash块,在上述各实施例的基础上,在本发明实施例中,所述位置信息包括:
经度和纬度中的至少一种;
所述以包含所述目标地理围栏的预设位置信息的第一GeoHash块为起点,确定与所述第一GeoHash块相邻,且未被识别的第二GeoHash块是否位于所述目标地理围栏中包括:
确定与所述第一GeoHash块相邻且未被识别的第二GeoHash块对应的第一经纬度范围,确定所述第一经纬度范围是否位于所述目标地理围栏对应的第二经纬度范围内,若是,则确定所述第二GeoHash块位于所述目标地理围栏中;若否,则确定所述第二GeoHash块不位于所述目标地理围栏中。
在本发明实施例中,位置信息包括经度和纬度中的至少一种。为了确定与第一GeoHash块相邻且未被识别的第二GeoHash块是否为目标地理围栏中包含的目标GeoHash块,则确定与该第一GeoHash块相邻且未被识别的第二GeoHash块对应的第一经纬度范围,确定该第一经纬度范围是否位于该目标地理围栏对应的第二经纬度范围内,若是,则确定该第二GeoHash块位于该目标地理围栏中;若否,则确定该第二GeoHash块不位于所述目标地理围栏中。
具体的,若该目标地理围栏的预设位置信息为地理可视化范围的左上角的经纬度,则可以于包含该地理可视化范围的左上角的经纬度的GeoHash块作为第一GeoHash块,并以该第一GeoHash块为起点,确定与该第一GeoHash块相邻且未被识别的第二GeoHash块对应的第一经纬度范围,若确定该第一经纬度范围是否位于所述目标地理围栏对应的第二经纬度范围内,则确定该第二GeoHash块位于该目标地理围栏中,若否,则确定该第二GeoHash块不位于该目标地理围栏中。
若该目标地理围栏的预设位置信息为地理可视化范围的右下角的经纬度,则可以于包含该地理可视化范围的右下角的经纬度的GeoHash块作为第一GeoHash块,并以该第一GeoHash块为起点,确定与该第一GeoHash块相邻且未被识别的第二GeoHash块对应的第一经纬度范围,若确定该第一经纬度范围是否位于所述目标地理围栏对应的第二经纬度范围内,则确定该第二GeoHash块位于该目标地理围栏中,若否,则确定该第二GeoHash块不位于该目标地理围栏中。
图4为本发明实施例提供的一种确定包含在所述目标地理围栏中的每个目标GeoHash块的过程示意图,现针对图4进行说明。
以目标地理围栏的左上角的经纬度为目标地理围栏的预设位置信息为例,以包含该目标地理围栏的左上角的经纬度的第一GeoHash块为起点,确定与该第一GeoHash块右侧相邻,且未被识别的第二GeoHash块对应的第一经纬度范围,判断第一经纬度范围是否位于目标地理围栏对应的第二经纬度范围内,若是,则确定该第二GeoHash块位于该目标地理围栏中,并保存该第二GeoHash块对应的GeoHash编码,若否,则确定该第二GeoHash块不位于所述目标地理围栏中。
以包含该目标地理围栏的左上角的经纬度的第一GeoHash块为起点,确定与该第一GeoHash块下侧相邻,且未被识别的第二GeoHash块对应的第一经纬度范围,判断第一经纬度范围是否位于目标地理围栏对应的第二经纬度范围内,若是,则确定该第二GeoHash块位于该目标地理围栏中,并保存该第二GeoHash块对应的GeoHash编码,若否,则确定该第二GeoHash块不位于所述目标地理围栏中。
然后将所有位于该目标地理围栏中的第二GeoHash块更新为第一GeoHash块,将该第二GeoHash块标记未被识别的GeoHash块,直至确定出该目标地理围栏中包含的每个目标GeoHash块。
实施例4:
图5为本发明实施例提供的一种GeoHash确定装置结构示意图,该装置包括:
构建模块501,用于根据地理可视化范围的位置信息,构建目标地理围栏;
确定模块502,用于获得所述目标地理围栏的目标面积,根据所述目标面积确定目标GeoHash长度;确定包含在所述目标地理围栏中的每个目标GeoHash块,并针对每个目标GeoHash块,根据该目标GeoHash块的位置信息,确定该目标GeoHash块对应的目标GeoHash编码并保存,其中,所述目标GeoHash编码的长度为所述目标GeoHash长度。
在一种可能的实施方式中,所述确定模块502,具体用于根据所述目标地理围栏的目标面积与预设的GeoHash块的第一目标数量,确定所述目标地理围栏中每个GeoHash块的目标平均面积;根据预先保存的GeoHash长度与GeoHash块的面积的对应关系,确定所述目标平均面积对应的目标GeoHash长度。
在一种可能的实施方式中,所述确定模块502,具体用于随机选择第一候选GeoHash长度,并根据预先保存的GeoHash长度与GeoHash块的面积的对应关系,确定所述第一候选GeoHash长度对应的每个第一候选GeoHash块的候选面积;根据所述目标面积与所述候选面积,确定所述目标地理围栏中包含的第一候选GeoHash块的第二目标数量,确定所述第二目标数量是否位于预设的GeoHash块的目标数量的范围内;若是,则将所述第一候选GeoHash长度确定为目标GeoHash长度;若否,则随机选择第二候选GeoHash长度,将选择的第二候选GeoHash长度更新为第一候选GeoHash长度,进行确定长度为所述第一候选GeoHash长度的候选GeoHash块的候选面积的操作,直至确定出所述目标GeoHash长度。
在一种可能的实施方式中,所述确定模块502,具体用于以包含所述目标地理围栏的预设位置信息的第一GeoHash块为起点,确定与所述第一GeoHash块相邻,且未被识别的第二GeoHash块是否位于所述目标地理围栏中;若是,则将所述第二GeoHash块更新为所述第一GeoHash块,将所述第二GeoHash块标记未被识别的GeoHash块,直至确定出所述目标地理围栏中包含的每个目标GeoHash块。
在一种可能的实施方式中,所述确定模块502,具体用于确定与所述第一GeoHash块相邻且未被识别的第二GeoHash块对应的第一经纬度范围,确定所述第一经纬度范围是否位于所述目标地理围栏对应的第二经纬度范围内,若是,则确定所述第二GeoHash块位于所述目标地理围栏中;若否,则确定所述第二GeoHash块不位于所述目标地理围栏中。
实施例5:
在上述各实施例的基础上,本发明实施例还提供了一种电子设备,如图6所示,包括:处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信。
所述存储器603中存储有计算机程序,当所述程序被所述处理器601执行时,使得所述处理器601执行如下步骤:
根据地理可视化范围的位置信息,构建目标地理围栏;
获得所述目标地理围栏的目标面积,根据所述目标面积确定目标GeoHash长度;
确定包含在所述目标地理围栏中的每个目标GeoHash块,并针对每个目标GeoHash块,根据该目标GeoHash块的位置信息,确定该目标GeoHash块对应的目标GeoHash编码并保存,其中,所述目标GeoHash编码的长度为所述目标GeoHash长度。
进一步地,所述处理器601,还用于根据所述目标地理围栏的目标面积与预设的GeoHash块的第一目标数量,确定所述目标地理围栏中每个GeoHash块的目标平均面积;根据预先保存的GeoHash长度与GeoHash块的面积的对应关系,确定所述目标平均面积对应的目标GeoHash长度。
进一步地,所述处理器601,还用于随机选择第一候选GeoHash长度,并根据预先保存的GeoHash长度与GeoHash块的面积的对应关系,确定所述第一候选GeoHash长度对应的每个第一候选GeoHash块的候选面积;根据所述目标面积与所述候选面积,确定所述目标地理围栏中包含的第一候选GeoHash块的第二目标数量,确定所述第二目标数量是否位于预设的GeoHash块的目标数量的范围内;若是,则将所述第一候选GeoHash长度确定为目标GeoHash长度;若否,则随机选择第二候选GeoHash长度,将选择的第二候选GeoHash长度更新为第一候选GeoHash长度,进行确定长度为所述第一候选GeoHash长度的候选GeoHash块的候选面积的操作,直至确定出所述目标GeoHash长度。
进一步地,所述处理器601,还用于以包含所述目标地理围栏的预设位置信息的第一GeoHash块为起点,确定与所述第一GeoHash块相邻,且未被识别的第二GeoHash块是否位于所述目标地理围栏中;若是,则将所述第二GeoHash块更新为所述第一GeoHash块,将所述第二GeoHash块标记未被识别的GeoHash块,直至确定出所述目标地理围栏中包含的每个目标GeoHash块。
进一步地,所述处理器601,还用于确定与所述第一GeoHash块相邻且未被识别的第二GeoHash块对应的第一经纬度范围,确定所述第一经纬度范围是否位于所述目标地理围栏对应的第二经纬度范围内,若是,则确定所述第二GeoHash块位于所述目标地理围栏中;若否,则确定所述第二GeoHash块不位于所述目标地理围栏中。
上述服务器提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口602用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
实施例6:
在上述各实施例的基础上,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现如下步骤:
所述存储器中存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行如下步骤:
根据地理可视化范围的位置信息,构建目标地理围栏;
获得所述目标地理围栏的目标面积,根据所述目标面积确定目标GeoHash长度;
确定包含在所述目标地理围栏中的每个目标GeoHash块,并针对每个目标GeoHash块,根据该目标GeoHash块的位置信息,确定该目标GeoHash块对应的目标GeoHash编码并保存,其中,所述目标GeoHash编码的长度为所述目标GeoHash长度。
进一步地,所述根据所述目标面积确定目标GeoHash长度包括:
根据所述目标地理围栏的目标面积与预设的GeoHash块的第一目标数量,确定所述目标地理围栏中每个GeoHash块的目标平均面积;
根据预先保存的GeoHash长度与GeoHash块的面积的对应关系,确定所述目标平均面积对应的目标GeoHash长度。
进一步地,所述根据所述目标面积确定目标GeoHash长度包括:
随机选择第一候选GeoHash长度,并根据预先保存的GeoHash长度与GeoHash块的面积的对应关系,确定所述第一候选GeoHash长度对应的每个第一候选GeoHash块的候选面积;
根据所述目标面积与所述候选面积,确定所述目标地理围栏中包含的第一候选GeoHash块的第二目标数量,确定所述第二目标数量是否位于预设的GeoHash块的目标数量的范围内;
若是,则将所述第一候选GeoHash长度确定为目标GeoHash长度;
若否,则随机选择第二候选GeoHash长度,将选择的第二候选GeoHash长度更新为第一候选GeoHash长度,进行确定长度为所述第一候选GeoHash长度的候选GeoHash块的候选面积的操作,直至确定出所述目标GeoHash长度。
进一步地,所述确定包含在所述目标地理围栏中的每个目标GeoHash块包括:
以包含所述目标地理围栏的预设位置信息的第一GeoHash块为起点,确定与所述第一GeoHash块相邻,且未被识别的第二GeoHash块是否位于所述目标地理围栏中;
若是,则将所述第二GeoHash块更新为所述第一GeoHash块,将所述第二GeoHash块标记未被识别的GeoHash块,直至确定出所述目标地理围栏中包含的每个目标GeoHash块。
进一步地,所述位置信息包括:
经度和纬度中的至少一种;
所述以包含所述目标地理围栏的预设位置信息的第一GeoHash块为起点,确定与所述第一GeoHash块相邻,且未被识别的第二GeoHash块是否位于所述目标地理围栏中包括:
确定与所述第一GeoHash块相邻且未被识别的第二GeoHash块对应的第一经纬度范围,确定所述第一经纬度范围是否位于所述目标地理围栏对应的第二经纬度范围内,若是,则确定所述第二GeoHash块位于所述目标地理围栏中;若否,则确定所述第二GeoHash块不位于所述目标地理围栏中。
由于本发明实施例中,预先根据目标地理围栏的目标面积,确定了每个GeoHash块的目标GeoHash长度,并针对包含在该目标地理围栏中的每个目标GeoHash块,确定该目标GeoHash块的长度为目标GeoHash长度的目标GeoHash编码并保存,能够有效的根据构建的目标地理围栏的面积,选择长度适合的GeoHash编码的长度,进而保证该目标地理围栏中对应的GeoHash编码的数量适宜,避免保存的目标GeoHash编码过多,还能够保证GeoHash编码代表的范围的精准性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种地理编码GeoHash确定方法,其特征在于,所述方法包括:
根据地理可视化范围的位置信息,构建目标地理围栏;
获得所述目标地理围栏的目标面积,根据所述目标面积确定目标GeoHash长度;
确定包含在所述目标地理围栏中的每个目标GeoHash块,并针对每个目标GeoHash块,根据该目标GeoHash块的位置信息,确定该目标GeoHash块对应的目标GeoHash编码并保存,其中,所述目标GeoHash编码的长度为所述目标GeoHash长度。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标面积确定目标GeoHash长度包括:
根据所述目标地理围栏的目标面积与预设的GeoHash块的第一目标数量,确定所述目标地理围栏中每个GeoHash块的目标平均面积;
根据预先保存的GeoHash长度与GeoHash块的面积的对应关系,确定所述目标平均面积对应的目标GeoHash长度。
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标面积确定目标GeoHash长度包括:
随机选择第一候选GeoHash长度,并根据预先保存的GeoHash长度与GeoHash块的面积的对应关系,确定所述第一候选GeoHash长度对应的每个第一候选GeoHash块的候选面积;
根据所述目标面积与所述候选面积,确定所述目标地理围栏中包含的第一候选GeoHash块的第二目标数量,确定所述第二目标数量是否位于预设的GeoHash块的目标数量的范围内;
若是,则将所述第一候选GeoHash长度确定为目标GeoHash长度;
若否,则随机选择第二候选GeoHash长度,将选择的第二候选GeoHash长度更新为第一候选GeoHash长度,进行确定长度为所述第一候选GeoHash长度的候选GeoHash块的候选面积的操作,直至确定出所述目标GeoHash长度。
4.根据权利要求1所述的方法,其特征在于,所述确定包含在所述目标地理围栏中的每个目标GeoHash块包括:
以包含所述目标地理围栏的预设位置信息的第一GeoHash块为起点,确定与所述第一GeoHash块相邻,且未被识别的第二GeoHash块是否位于所述目标地理围栏中;
若是,则将所述第二GeoHash块更新为所述第一GeoHash块,将所述第二GeoHash块标记未被识别的GeoHash块,直至确定出所述目标地理围栏中包含的每个目标GeoHash块。
5.根据权利要求4所述的方法,其特征在于,所述位置信息包括:
经度和纬度中的至少一种;
所述以包含所述目标地理围栏的预设位置信息的第一GeoHash块为起点,确定与所述第一GeoHash块相邻,且未被识别的第二GeoHash块是否位于所述目标地理围栏中包括:
确定与所述第一GeoHash块相邻且未被识别的第二GeoHash块对应的第一经纬度范围,确定所述第一经纬度范围是否位于所述目标地理围栏对应的第二经纬度范围内,若是,则确定所述第二GeoHash块位于所述目标地理围栏中;若否,则确定所述第二GeoHash块不位于所述目标地理围栏中。
6.一种地理编码GeoHash确定装置,其特征在于,所述装置包括:
构建模块,用于根据地理可视化范围的位置信息,构建目标地理围栏;
确定模块,用于获得所述目标地理围栏的目标面积,根据所述目标面积确定目标GeoHash长度;确定包含在所述目标地理围栏中的每个目标GeoHash块,并针对每个目标GeoHash块,根据该目标GeoHash块的位置信息,确定该目标GeoHash块对应的目标GeoHash编码并保存,其中,所述目标GeoHash编码的长度为所述目标GeoHash长度。
7.根据权利要求6所述的装置,其特征在于,所述确定模块,具体用于根据所述目标地理围栏的目标面积与预设的GeoHash块的第一目标数量,确定所述目标地理围栏中每个GeoHash块的目标平均面积;根据预先保存的GeoHash长度与GeoHash块的面积的对应关系,确定所述目标平均面积对应的目标GeoHash长度。
8.根据权利要求6所述的装置,其特征在于,所述确定模块,具体用于随机选择第一候选GeoHash长度,并根据预先保存的GeoHash长度与GeoHash块的面积的对应关系,确定所述第一候选GeoHash长度对应的每个第一候选GeoHash块的候选面积;根据所述目标面积与所述候选面积,确定所述目标地理围栏中包含的第一候选GeoHash块的第二目标数量,确定所述第二目标数量是否位于预设的GeoHash块的目标数量的范围内;若是,则将所述第一候选GeoHash长度确定为目标GeoHash长度;若否,则随机选择第二候选GeoHash长度,将选择的第二候选GeoHash长度更新为第一候选GeoHash长度,进行确定长度为所述第一候选GeoHash长度的候选GeoHash块的候选面积的操作,直至确定出所述目标GeoHash长度。
9.一种电子设备,其特征在于,所述电子设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-5中任一所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-5中任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111122236.9A CN113886386A (zh) | 2021-09-24 | 2021-09-24 | 一种GeoHash确定方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111122236.9A CN113886386A (zh) | 2021-09-24 | 2021-09-24 | 一种GeoHash确定方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113886386A true CN113886386A (zh) | 2022-01-04 |
Family
ID=79006541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111122236.9A Pending CN113886386A (zh) | 2021-09-24 | 2021-09-24 | 一种GeoHash确定方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113886386A (zh) |
-
2021
- 2021-09-24 CN CN202111122236.9A patent/CN113886386A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11151210B2 (en) | Target location search method and apparatus | |
CN107952243B (zh) | 路径确定方法及装置 | |
CN109064218B (zh) | 划分区域的方法、装置及电子设备 | |
CN112085056B (zh) | 目标检测模型生成方法、装置、设备及存储介质 | |
CN111111176B (zh) | 游戏中物体lod的管理方法、装置及电子设备 | |
CN110806971A (zh) | 一种版本测试方法、装置及电子设备 | |
CN110888866A (zh) | 数据扩充方法、装置、数据处理设备及存储介质 | |
CN110743169B (zh) | 基于区块链的防作弊方法及系统 | |
CN113449986A (zh) | 一种业务分配方法、装置、服务器及存储介质 | |
CN112328880A (zh) | 地理区域聚类方法、装置、存储介质和电子设备 | |
CN111967049A (zh) | 位置信息的隐私保护方法、装置及电子设备 | |
CN114064829A (zh) | 对定位点进行聚合展示的方法、装置及电子设备 | |
CN111460237B (zh) | 一种数据查询的方法、装置、可读存储介质和电子设备 | |
CN113886386A (zh) | 一种GeoHash确定方法、装置、设备及介质 | |
TWI718577B (zh) | 網際網路交易定位方法、裝置及伺服器 | |
CN107657474B (zh) | 一种商圈边界的确定方法及服务端 | |
CN114240654A (zh) | 基于交易链路的性能能力透视方法、系统、设备及可读存储介质 | |
CN114511614A (zh) | 一种椭圆印章生成方法、装置、设备及介质 | |
CN108234729B (zh) | 一种调整验证模型的方法、验证方法、服务器以及存储介质 | |
CN113537806A (zh) | 异常用户识别方法、装置、电子设备及可读存储介质 | |
CN112190933A (zh) | 一种游戏场景中的特效处理方法和装置 | |
CN111181809A (zh) | 网络rtk中心解算软件中基准站的监测方法及装置 | |
CN115587504B (zh) | 空间目标碰撞预警方法、装置、电子设备及介质 | |
CN114943112B (zh) | 建筑沿线排布方案的自动生成方法、装置、设备及介质 | |
CN111274272B (zh) | 一种对象的查找方法、装置及计算机系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |