CN115658836A - 区域搜索方法、装置、电子设备及可读存储介质 - Google Patents
区域搜索方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN115658836A CN115658836A CN202211387747.8A CN202211387747A CN115658836A CN 115658836 A CN115658836 A CN 115658836A CN 202211387747 A CN202211387747 A CN 202211387747A CN 115658836 A CN115658836 A CN 115658836A
- Authority
- CN
- China
- Prior art keywords
- geohash
- target
- global grid
- index
- area
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供的区域搜索方法、装置、电子设备及可读存储介质,获取目标兴趣点所在区域的Geohash编码;确定Geohash编码对应的全球网格索引;全球网格索引是由经度和纬度各自的二进制字符串的十进制数值组成;全球网格索引用于识别任一精度上的Geohash网格在任一精度上的相邻关系;基于Geohash编码的精度和全球网格索引,构建目标搜索范围;确定位于目标搜索范围内的全部目标全球网格索引,并将全部目标全球网格索引对应的Geohash编码所表征的区域,作为目标兴趣点所在区域在Geohash编码的精度上的相邻区域,整个过程可以快速识别某一个精度上的某个区域在该精度下的相邻区域,满足业务需求。
Description
技术领域
本发明涉及大数据处理技术领域,具体而言,涉及一种区域搜索方法、装置、电子设备及可读存储介质。
背景技术
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为本发明实施例提供的区域搜索方法的示意性流程图;
图3为本发明实施例提供的步骤S102的示意性流程图;
图4为本发明实施例提供的步骤S103的示意性流程图;
图5为本发明实施例提供的一种规则多边形网格区域的示意图;
图6为本发明实施例提供的一种不规则多边形网格区域的示意图;
图7为本发明实施例提供的区域搜索装置的功能模块图;
图8为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
Geohash是一种地理编码,它的思想是把地球沿经度和纬度方向不断地交替进行二分,每次二分称为一次划分,把每5次划分作为1个层次,当层数为奇数时划分结果与第1层类似,当层数为偶数时,每次划分的结果与第二层类似,一直循环划分到任意精度,用0或1表示每次划分的区域,具体为:当沿经度方向进行二分时,左侧区域的编码为0,右侧区域的编码为1,当沿纬度方向进行二分时,下面区域的编码为0,上面区域的编码为1,之后,将每5次划分的二进制编码转换成32进制编码,用0-9和除a、i、l、o外的英文小写字母表示,即为某一层网格的Geohash编码。
从上述内容可以推断出,一个点附近的地方(但不绝对)Geohash字符串具有公共字符串前缀,并且公共字符串前缀的长度越长,这两个点距离越近,但是基于公共字符串前缀却无法保证能够找到一个)Geohash网格在相同精度上的相邻Geohash网格。
例如,wx4endz和wx4enfb是相邻的Geohash7精度上的两个Geohash编码,但是通过公共字符串前缀只能识别出wx4endz和wx4enfb在Geohash5精度上相邻,范围是4890m*4890m,这种识别结果误差太大,而且在实际搜索场景中,一个Geohash7精度上的Geohash编码,搜索出与其同在Geohash7精度上的相邻Geohash编码,才具有实际意义,所以基于公共字符串前缀的搜索方式无法保证搜索到的结果能够满足业务需求。
为了方便理解上述问题,下面以打车场景为例子进行解释。
打车时,一个乘客对一个有一个GPS位置点或者Geohash编码,现在需要在周边搜索车辆,目前存在两种方式:
第一种方式:按照位置点进行距离估算来找到距离乘客最近的车辆,这种方式需要把所有车辆跟乘客的距离都计算一遍,计算代价=乘客个数*所有车辆个数,计算量非常大,搜索效率较低。
第二种方式:基于公共字符串前缀进行搜索,但这种方式搜索误差较大,无法满足业务需求。
例如,图1为一种不同长度的Geohash编码对应的精度,如果乘客的Geohash7是wx4endz,A车辆的Geohash7是wx4enfb,wx4endz和wx4enfb实际上是在Geohash7精度上相邻,即在153m*153m的范围内即可搜到A车辆,但是它们的字符串前5位相同,则表明要搜索25平方公里内的车才能搜到A车辆,误差非常大,同理,利用乘客的Geohash6精度又无法找到车辆A的,因为前6位中最后一位不同。
也就是说,平台在Geohash6精度范围内根本搜索不到这辆车,即公共字符串前缀越长两者距离越近的原理可能无法搜索到目标,也就是说最终这辆本来离乘客最近的车没有被指派给乘客,这说明了基于Geohash索引的方式会导致搜索不准确,如果平台选择在Geohash5精度范围内搜索,能搜到这辆车,但是需要计算25平方公里内所有车辆与乘客的距离才能最终确定车辆A是最近的,误差较大,这说明了基于Geohash索引的方式以准确度牺牲了计算性能。
综合上述内容可以看出,在区域搜索场景中,Geohash索引方法搜索周边Geohash时,常规方式是通过公共子字符串前缀进行判断,这种方式无法保证识别出同一Geohash精度上的相邻区域,准确度和效率都无法适应业务需求。
为了解决上述技术问题,本发明实施例首先提供了一种“全球网格索引”(GeoHashIndex),它是Geohash对应的二进制字符串的十进制表示结果。
本发明实施例中,基于Geohash底层原理:对于纬度区间是[-90,90],经度区间是[-180,180],通过把区间不断的进行二分,就能够获得纬度和经度各自的二进制字符串,如Geohash字符串:wx4endz,纬度和经度各自的二进制字符串分别为:10111000110001011,110100101011010111。
不同与Geohash的编码方式,本发明实施例直接将纬度和经度各自的二进制字符串分别转成十进制数值,如上述10111000110001011的十进制数值为94603,110100101011010111的十进制数值215767,然后将得到的十进制数值作为一个Geohash对应的全球网格索引,即wx4endz对应的全球网格索引GeoHashIndex是(94603,215767),94603是纬度索引(即坐标系中的x),215767是经度索引(即坐标系中的y)。
因此,全球网格索引可以表示为:GeoHashIndex(geoHashLatIndex,geoHashLonIndex),geoHashLatIndex和geoHashLonIndex分别对应纬度索引和经度索引,GeoHashIndex作为一个Geohash对应的唯一一个全球网格索引,直接将GeoHashIndex保存,可以作为本发明实施例快速搜索的基础。
基于本发明实施例提供的全球网格索引,可以直接基于纬度索引和经度索引之间的数值差距来判断一个Geohash编码是否是不同Geohash精度上的相邻Geohash编码,例如,已知wx4endz和wx4enfb是在Geohash7精度上相邻的两个Geohash编码,其中,wx4endz对应的全球网格索引为(94603,215767)、wx4enfb对应存储的全球网格索引是(94603,215768),可以看出,他们的纬度索引相同,经度索引相差一个数值,基于Geohash底层原理,全球网格索引内的数值正是经度和纬度进行划分得到的二进制字符串的十进制数值,纬度上相差一个数值,可以认为wx4endz和wx4enfb在Geohash7精度上相邻,由此可以看出,本发明实施例提出的全球网格索引可以用来识别目标精度上的Geohash网格在该目标精度下的相邻关系,目标精度可以是Geohash5、Geohash6、Geohash7等任意精度。
基于本发明实施例提供的“全球网格索引”,本发明实施例提供的一种区域搜索方法,请参见图2,图2为本发明实施例提供的区域搜索方法的示意性流程图,该区域搜索方法可以包括:
S101,获取目标兴趣点所在区域的Geohash编码。
S102,确定Geohash编码对应的全球网格索引;全球网格索引是由区域的经度和纬度各自对应的二进制字符串的十进制数值组成;全球网格索引用于识别任一精度上的Geohash网格在该精度上的相邻关系;
S103,基于Geohash编码的精度和全球网格索引,构建目标搜索范围;
S104,确定位于目标搜索范围内的全部目标全球网格索引,并将全部目标全球网格索引对应的Geohash编码所表征的区域,作为目标兴趣点所在区域在Geohash编码的精度上的相邻区域。
在上述区域搜索方法中,首先获得目标兴趣点所在区域的Geohash编码,然后确定Geohash编码对应的全球网格索引,由于本发明实施例提供的全球网格索引可以识别任一精度上的Geohash网格在该精度上的相邻关系,因此,基于Geohash编码的精度和全球网格索引,构建目标搜索范围,然后找出位于目标搜索范围内的全部目标全球网格索引,并将这些目标全球网格索引对应的Geohash编码所表征的区域,作为目标兴趣点所在区域在Geohash编码的精度上的相邻区域,整个过程可以快速识别某一个精度上的某个区域在该精度上的相邻区域,满足业务需求。
下面对上述步骤S101至步骤S104进行详细介绍。
在步骤S101中、获取目标兴趣点所在区域的Geohash编码。
本发明实施例中,目标兴趣点可以是医院、学校、公园等公共场所,还可以是打车场景中的乘客的位置点,此处不作限定。
可以理解的是,基于目前兴趣点对应的经度和纬度,可以确定目标兴趣点对应的Geohash编码。
作为可选地的实施方式中,可以实时基于目标兴趣点对应的经度和纬度进行Geohash计算,得到Geohash编码,作为另一种可选的实施方式,可以预先将目标研究区域(目标研究区域包含目标兴趣点所在区域)进行划分,得到多个Geohash编码,然后基于目标兴趣点对应的经度和纬度,从多个Geohash编码中确定目标兴趣点对应的Geohash网格。
在步骤S102中、确定Geohash编码对应的全球网格索引。
其中,全球网格索引是由区域的经度和纬度各自对应的二进制字符串的十进制数值组成。
本发明实施例中,全球网格索引包括经度索引和纬度索引,经度索引是经度对应的二进制字符串进行十进制转换得到的十进制数值,纬度索引是纬度对应的二进制字符串进行十进制转换得到的十进制数值。
全球网格索引与Geohash索引不同之处在于:
表达形式上的区别:Geohash索引是将每5次划分的二进制编码转换成32进制编码,用0-9和除a、i、l、o外的英文小写字母表示,而本申请中的全球网格索引是对全部得到的二进制编码转换成十进制编码。
作用区别:Geohash索引能够基于公共字符串前缀识别第一精度上的Geohash网格在第二精度上的相邻关系,其中,第一精度小于第二精度,全球网格索引可以识别出某一精度上的Geohash网格在该精度上的相邻关系。
在本发明实施例中,为了确定Geohash编码对应的全球网格索引,本发明实施例给出了一种实现方式:即基于Geohash编码,从预生成的全球网格索引表中,确定Geohash编码对应的全球网格索引。
可以理解的是,本发明实施例可以预先生成全球网格索引表,该全球网格索引表中用于维护Geohash编码与全球网格索引之间的对应关系。
作为可选的实施方式中,可以预先将上述目标研究区域对应的全部Geohash编码进行转换,得到各自对应的全球网格索引表,当确定了目标兴趣点对应的Geohash编码时,直接基于该Geohash编码从全球网格索引表进行匹配,得到全球网格索引。
作为另外一种可选地的实施方式,还可以基于图3所示的实施方式实时计算全球网格索引,图3为本发明实施例提供的步骤S102的示意性流程图:
S102-1、根据Geohash编码的精度,确定分割次数。
可以理解的是,赤道长约四万公里,地球实际上是个不规则球体,但为了简便计算,假如把纬度上每度约等于222公里,那么纬度上经过17次分割的度数是:180/2^17,经度上经过18次分割的度数是:360/2^18=180/2^17,经度的精度是40000000/2^18约为153m,而153m对应Geohash7的精度,那么可以确定分割次数为:纬度划分17次,精度划分18次。
S102-2、基于分割次数对预设经度范围和预设纬度范围进行划分,得到目标区域的经度和纬度各自对应的二进制字符串。
本发明实施例中,预设经度范围为:-180度~180度,预设纬度范围为:-90度~90度,在划分过程中,经度上以[-180,180]开始,纬度以[-90,90]开始,每次将区间进行二分,若输出坐标小于两头值则编码为0,下次区间取左半区间;若大于则编码为1,下次区间取右半区间。以此类推,编码越长,越靠近坐标值,进而越准确。
如Geohash编码:wx4endz,纬度经过17次分割后对应的二进制字符串为10111000110001011,经度经过18次分割后对应的二进制字符串为110100101011010111。
S102-3、将经度和纬度各自对应的二进制字符串分别转换成一个十进制数值,并将得到的两个十进制数值,作为Geohash编码对应的全球网格索引。
继续以上述例子说明,二进制字符串为10111000110001011转换成十进制数值为94603,二进制字符串为110100101011010111转换成十进制数值为215767,那么wx4endz对应的全球网格索引为(94603,215767)。
确定Geohash编码对应的全球网格索引之后,即可执行步骤S103。
在步骤S103中、基于Geohash编码的精度和全球网格索引,构建目标搜索范围。
作为可选的实施方式,步骤S103可以按照图4来执行,图4为本发明实施例提供的步骤S103的示意性流程图:
S103-1、获取目标搜索半径。
本发明实施例中,目标搜索半径可以根据实际搜索需求进行设置,例如3km、5km等,此处不作限定。
S103-2、将目标搜索半径与Geohash编码的精度之间的比值,作为待搜索网格层数。
S103-3、基于待搜索网格层数和全球网格索引,构建目标搜索范围;
其中,目标搜索范围为:x-N<=x'<=x+N,且y-N<=y'<=y+N;
其中,x和y分别表征全球网格索引中的纬度索引和经度索引;N表征待搜索网格层数;x'和y'分别表征目标全球网格索引中的纬度索引和经度索引。
例如,上述目标搜索范围所表征的地图网格区域如图5所示,图5为本发明实施例提供的一种规则多边形网格区域的示意图,其中,(x,y)为目标兴趣点所在区域的Geohash编码对应的全球网格索引,与(x,y)相邻的地图网格正好是一个标准的长方形形状,即上述目标搜索范围所搜索出来的相邻地图网格所组成的区域形状为规则长方形形状。
作为另外一种实施方式,本发明实施例还可以在划定的多变形网格区域内确定目标搜索范围,以快速解决特殊的多边形网格范围内区域搜索问题,即目标搜索范围所搜索出来的相邻地图网格所组成的区域形状为不规则多边形形状,上述步骤S103还可以包括如下步骤:
a1:确定预定义的多边形网格区域;多边形网格区域包含Geohash编码所表征的区域;
a2:基于多边形网格区域的形状以及全球网格索引,构建目标搜索范围。
例如,本发明实施例给出一种实施场景,如图6所示,图6为本发明实施例一种不规则多边形网格区域的示意示意图,其对应的目标搜索范围可以表示为:x-1<=x'<=x+1,y'=y,且x'=x,y<=y'<=y+1。
可以理解的是,针对不同多边形网格区域,基于获得的全球网格索引,均可以构建出与该多边形网格区域匹配的目标搜索范围,从该目标搜索范围内搜索出来的地图网格即与目标兴趣点所对应的地图网格相邻。
在本申请实施例中,多边形网格区域就是多个地图网格拼接成的形状,可能是方的、十字形、一字型、T字型等任意一种形状,不同形状对应的目标搜索范围不同。
S104,确定位于目标搜索范围内的全部目标全球网格索引,并将全部目标全球网格索引对应的Geohash编码所表征的区域,作为目标兴趣点所在区域在Geohash编码的精度上的相邻区域。
本申请实施例中,相邻区域和Geohash编码所表征的区域所组成的区域可以如图5所示,是规则的多边形网格区域,还可以如图6所示,是不规则多边形网格区域。
为了方便理解上述搜索过程与常规搜索方式相比较之下的显著优势,假设要把某个目标兴趣点附近如3km范围内或者特殊划定区域内的相邻Geohash搜索出来,那么:
按照常规搜索方式是:3000m/150m约为20,则待搜索网格层数为20,通过Geohash解码然后扩展20层得到对应的解码串再编码成20层的Geohash串(该Geohash可以通过Geohash的通用处理方法得到,把这种通用处理方法记为algo),这个计算非常繁琐。
利用本发明实施例提供的区域搜索方式:直接获得目标兴趣点的Geohash编码对应的全球网格索引(x,y),然后构建的目标搜索范围为:x-20<=x'<=x+20且y-20<=x'<=y+20这样可以在Poi表中找到全部满足上述条件的(x',y'),这些(x',y')对应的Geohash编码所表征的区域与该目标兴趣点的Geohash编码所表征的区域相邻,正如图6所示。
在可选的实施方式中,在做距离计算时,也可以基于全球网格索引进行粗略估算,例如,以Geohash7精度为例,纬度方向相差(x'-x)*153m,经度方向上相差(y'-y)*153m。
在可选的实施方式中,搜索到相邻区域之后,还可以应用到实际的打车场景中,即当目标兴趣点为位于区域内的乘客的位置,将位于相邻区域内的车辆配置给乘客;将位置发送给其中一台车辆,以使车辆到达位置。
基于相同的发明构思,本发明实施例还提供了一种区域搜索装置,请参见图7,图7为本发明实施例提供的区域搜索装置的功能模块图,该区域搜索装置200可以以软件或固件(firmware)的形式存储于电子设备300的操作系统(operating system,OS)中。
如图7所示,区域搜索装置200可以包括:获取模块210、确定模块220、构建模块230和搜索模块240。
获取模块210,用于获取目标兴趣点所在区域的Geohash编码;
确定模块220,用于确定Geohash编码对应的全球网格索引;所述全球网格索引是由经度和纬度各自对应的二进制字符串的十进制数值组成;全球网格索引用于识别任一精度上的Geohash网格在任一精度上的相邻关系;
构建模块230,用于根据全球网格索引,构建目标搜索范围;
搜索模块240,用于确定位于目标搜索范围内的全部目标全球网格索引,并将全部目标全球网格索引对应的Geohash编码所表征的区域,作为目标兴趣点所在区域在Geohash编码的精度上的相邻区域。
可以理解的是,获取模块210、确定模块220、构建模块230和搜索模块240可以协同的执行图2中的各个步骤以实现相应的技术效果。
在可选的实施方式中,确定模块220用于:根据Geohash编码的精度,确定分割次数;基于所述分割次数对预设经度范围和预设纬度范围进行划分,得到所述Geohash编码对应的经度和纬度各自的二进制字符串;将经度和纬度各自的二进制字符串分别转换成一个十进制数值,并将得到的两个十进制数值,作为Geohash编码对应的全球网格索引。
在可选的实施方式中,确定模块220用于:基于Geohash编码,从预生成的全球网格索引表中,确定Geohash编码对应的全球网格索引。
在可选的实施方式中,构建模块230,用于获取目标搜索半径;将目标搜索半径与Geohash编码的精度之间的比值,作为待搜索网格层数;基于待搜索网格层数和全球网格索引,构建目标搜索范围;目标搜索范围为:x-N<=x'<=x+N,且y-N<=y'<=y+N;其中,x和y分别表征全球网格索引中的纬度索引和经度索引;N表征待搜索网格层数;x'和y'分别表征目标全球网格索引中的纬度索引和经度索引。
在可选的实施方式中,构建模块230,用于确定预定义的多边形网格区域;多边形网格区域包含Geohash编码所表征的区域;基于多边形网格区域的形状以及全球网格索引,构建目标搜索范围。
在可选的实施方式中,区域搜索装置200还可以配置模块,用于当目标兴趣点为位于区域内的乘客的位置,将位于相邻区域内的车辆配置给乘客;将位置发送给其中一台车辆,以使车辆到达位置。
请参见图8,图8为本发明实施例提供的电子设备的结构示意图,该电子设备300可以用来执行本发明实施例提供的区域搜索方法,作为可选的实施例,电子设备300可以但不限于是:平板电脑、个人计算机、智能终端等。
如图8所示,电子设备300可以包括:存储器301、处理器302、通信接口303、和总线304,该存储器301、处理器302和通信接口303相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
可选的,总线304可以是外设部件互连标准(peripheral componentinterconnect,PCI)总线或扩展工业标准结构(extended industry standardarchitecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本发明实施例中,处理器302可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储器301中,处理器302读取存储器301中的程序指令,结合其硬件完成上述方法的步骤。
在本发明实施例中,存储器301可以是非易失性存储器,比如硬盘(harddiskdrive,HDD)或固态硬盘(solid-state drive,SSD)等,还可以是易失性存储器(volatilememory),例如RAM。存储器还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本发明实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储指令和/或数据。
存储器301可用于存储软件程序及模块,如本发明实施例提供的区域搜索装置200的指令/模块,可以软件或固件(firmware)的形式存储于存储器301中或固化在电子设备300的操作系统(operating system,OS)中,处理器302通过执行存储在存储器301内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口303可用于与其他节点设备进行信令或数据的通信。
可以理解,图8所示的结构仅为示意,电子设备300还可以包括比图8中所示更多或者更少的组件,或者具有与图8所示不同的配置。图8所示的各组件可以采用硬件、软件或其组合实现。
基于以上实施例,本申请还提供了一种存储介质,存储介质中存储有计算机程序,计算机程序被计算机执行时,使得计算机执行以上实施例提供的区域搜索方法。
基于以上实施例,本申请实施例还提供了一种计算机程序,当计算机程序在计算机上运行时,使得计算机执行以上实施例提供的区域搜索方法。
基于以上实施例,本申请实施例还提供了一种芯片,芯片用于读取存储器中存储的计算机程序,用于执行以上实施例提供的区域搜索方法。
本申请实施例中还提供一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行以上实施例提供的区域搜索方法。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种区域搜索方法,其特征在于,所述方法包括:
获取目标兴趣点所在区域的Geohash编码;
确定所述Geohash编码对应的全球网格索引;所述全球网格索引是由经度和纬度各自对应的二进制字符串的十进制数值组成;所述全球网格索引用于识别任一精度上的Geohash网格在所述任一精度上的相邻关系;
基于所述Geohash编码的精度和所述全球网格索引,构建目标搜索范围;
确定位于所述目标搜索范围内的全部目标全球网格索引,并将全部所述目标全球网格索引对应的Geohash编码所表征的区域,作为所述目标兴趣点所在区域在所述Geohash编码的精度上的相邻区域。
2.根据权利要求1所述的区域搜索方法,其特征在于,确定所述Geohash编码对应的全球网格索引,包括:
根据所述Geohash编码的精度,确定分割次数;
基于所述分割次数对预设经度范围和预设纬度范围进行划分,得到所述Geohash编码对应的经度和纬度各自的二进制字符串;
将所述经度和所述纬度各自的所述二进制字符串分别转换成一个十进制数值,并将得到的两个十进制数值,作为所述Geohash编码对应的全球网格索引。
3.根据权利要求1所述的区域搜索方法,其特征在于,确定所述Geohash编码对应的全球网格索引,包括:
基于所述Geohash编码,从预生成的全球网格索引表中,确定所述Geohash编码对应的所述全球网格索引。
4.根据权利要求1所述的区域搜索方法,其特征在于,基于所述Geohash编码的精度和所述全球网格索引,构建目标搜索范围,包括:
获取目标搜索半径;
将所述目标搜索半径与所述Geohash编码的精度之间的比值,作为待搜索网格层数;
基于所述待搜索网格层数和所述全球网格索引,构建所述目标搜索范围;所述目标搜索范围为:x-N<=x'<=x+N,且y-N<=y'<=y+N;
其中,所述x和所述y分别表征所述全球网格索引中的纬度索引和经度索引;所述N表征所述待搜索网格层数;所述x'和所述y'分别表征所述目标全球网格索引中的纬度索引和经度索引。
5.根据权利要求1所述的区域搜索方法,其特征在于,根据所述全球网格索引,构建目标搜索范围,包括:
确定预定义的多边形网格区域;所述多边形网格区域包含所述Geohash编码所表征的区域;
基于所述多边形网格区域的形状以及所述全球网格索引,构建所述目标搜索范围。
6.根据权利要求1所述的区域搜索方法,其特征在于,所述方法包括:
当所述目标兴趣点为位于所述目标兴趣点所在区域内的乘客的位置,将位于所述相邻区域内的车辆配置给所述乘客;
将所述位置发送给其中一台所述车辆,以使所述车辆到达所述位置。
7.一种区域搜索装置,其特征在于,包括:
获取模块,用于获取目标兴趣点所在区域的Geohash编码;
确定模块,用于确定所述Geohash编码对应的全球网格索引;所述全球网格索引是由经度和纬度各自对应的二进制字符串的十进制数值组成;所述全球网格索引用于识别任一精度上的Geohash网格在所述任一精度上的相邻关系;
构建模块,用于根据所述全球网格索引,构建目标搜索范围;
搜索模块,用于确定位于所述目标搜索范围内的全部目标全球网格索引,并将全部所述目标全球网格索引对应的Geohash编码所表征的区域,作为所述目标兴趣点所在区域在所述Geohash编码的精度上的相邻区域。
8.根据权利要求7所述的区域搜索装置,其特征在于,所述确定模块,具体用于:
根据所述Geohash编码的精度,确定分割次数;
基于所述分割次数对预设经度范围和预设纬度范围进行划分,得到所述Geohash编码对应的经度和纬度各自的二进制字符串;
将所述经度和所述纬度各自的所述二进制字符串分别转换成一个十进制数值,并将得到的两个十进制数值,作为所述Geohash编码对应的全球网格索引。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序以实现权利要求1至6任一项所述的方法。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211387747.8A CN115658836A (zh) | 2022-11-07 | 2022-11-07 | 区域搜索方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211387747.8A CN115658836A (zh) | 2022-11-07 | 2022-11-07 | 区域搜索方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115658836A true CN115658836A (zh) | 2023-01-31 |
Family
ID=85016665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211387747.8A Pending CN115658836A (zh) | 2022-11-07 | 2022-11-07 | 区域搜索方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115658836A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117249843A (zh) * | 2023-11-14 | 2023-12-19 | 广州斯沃德科技有限公司 | 路径规划方法、装置、电子设备及计算机可读存储介质 |
-
2022
- 2022-11-07 CN CN202211387747.8A patent/CN115658836A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117249843A (zh) * | 2023-11-14 | 2023-12-19 | 广州斯沃德科技有限公司 | 路径规划方法、装置、电子设备及计算机可读存储介质 |
CN117249843B (zh) * | 2023-11-14 | 2024-03-15 | 广州斯沃德科技有限公司 | 路径规划方法、装置、电子设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107092623B (zh) | 一种兴趣点查询方法及装置 | |
US11307049B2 (en) | Methods, apparatuses, systems, and storage media for storing and loading visual localization maps | |
US20140278228A1 (en) | Mapping uncertain geometries to graticules | |
CN111026978A (zh) | 位置查询方法、装置、计算机设备及存储介质 | |
CN102027520A (zh) | 有效的位置参考方法 | |
US8532922B2 (en) | Method for simplifying a description of a route of travel | |
CN108932310B (zh) | 空间服务提供方法、装置、服务器及存储设备 | |
CN110909260B (zh) | 车辆显示方法、装置、计算机可读存储介质和计算机设备 | |
CN112050820B (zh) | 道路匹配方法、装置、电子设备及可读存储介质 | |
CN111651685A (zh) | 一种兴趣点获取方法、装置、电子设备及存储介质 | |
CN109741209B (zh) | 台风灾害下配电网多源数据融合方法、系统及存储介质 | |
US20230237113A1 (en) | Data processing method and device | |
CN115658836A (zh) | 区域搜索方法、装置、电子设备及可读存储介质 | |
CN112885099B (zh) | 用于确定车辆轨迹关键点的方法、装置及设备 | |
CN111931077A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN112261093B (zh) | 人车数据匹配方法及装置 | |
CN112100308B (zh) | 一种北斗时空轨迹的相似性查询方法 | |
CN113569564B (zh) | 一种地址信息的处理、显示方法和装置 | |
CN115760916A (zh) | 目标对象的定位方法、装置、计算机设备和存储介质 | |
CN114741616A (zh) | 空间位置关系的测量方法、装置及电子设备 | |
CN113869715A (zh) | 站点分组方法、归属站点确定方法、装置和计算机设备 | |
CN112100180B (zh) | 位置范围的确定方法、装置、存储介质和电子设备 | |
CN113760780A (zh) | 数据记录方法、装置、设备及介质 | |
CN116518980B (zh) | 导航方法、装置、电子设备及计算机可读存储介质 | |
CN111339224A (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 | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Xing Jianbing Inventor after: Chen Yale Inventor after: Hu Lixuan Inventor before: Sun Jingru Inventor before: Tao Zhoutian Inventor before: Zhu Xiao Inventor before: Xing Jianbing Inventor before: Chen Yale Inventor before: Hu Lixuan |