具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本申请中,提供了地理位置查询方法,还提供了地理位置查询装置,计算设备,以及机器可读储存介质。以下分别结合本申请提供的实施例的附图逐一进行详细说明,并且对方法的各个步骤进行说明。
本申请提供地理位置查询方法实施例如下:
参照附图1,其示出了本实施例提供的地理位置查询方法执行流程图,包括步骤S102至步骤S108。
步骤S102,获取目标地点的查询条件,并根据所述查询条件获取初始地理区域的地理位置编码。
本申请实施例是在地理位置查询过程中,用户通过选择目标地点的查询条件,以及初始地理区域,以实现能自动在特征地理区域信息数据集中查询符合所述查询条件的目标地点的地理区域信息并缓存数据,从而实现在有效的控制目标地点的规模,保证地理位置查询的准确性的前提下得到目标地点的地理区域信息,渲染多个目标地点,并能重复调用方便再次查询的特性,降低了数据相应时间,节省了网络资源。
本实施例提供的地理位置查询方法,可基于服务端实现,也可基于客户端实现,除此之外,也可一部分步骤在服务端实现,同时另一部分步骤在客户端实现。
geohash编码:一种地理位置编码方式,可将一个经纬度信息,转换成一个可排序,可比较的字符串编码。具体的,geohash编码用一个字符串编码表示经度和纬度两个信息,通过字符串编码的方式来表示地图中的一个矩形区域,所述矩形区域内的所有点及区域共享一个geohash编码,同时可通过字符串编码的长度来决定所述矩形区域的面积大小,所述字符串编码长度越长,其矩形区域面积越小,所表示的地理位置越精确。
本申请实施例通过采用geohash编码,保证了在地理位置查询过程中同一精度下的单位网格面积相等,保证了查询的准确率。
例如附图2所示本申请实施例提供的geohash编码对应的地理区域示意图,将经度和纬度作为二维坐标系中的两个坐标轴,经度表示横轴,纬度表示纵轴,通过geohash编码将图2中的某个地理区域分为区域一至区域九等单位面积网格区域,其中每个区域内所有的点共享一个geohash编码。
本申请实施例中,所述目标地点的查询条件可选包括:目标地点的业务属性信息及目标地点的地理属性信息;所述业务属性信息包括:目标地点类型,目标地点规模,目标地点特征;所述地理属性信息包括:目标地点的查询范围;所述根据所述查询条件获取初始地理区域的地理位置编码包括:根据所述查询条件获取视窗范围的地理区域的经纬度;对所述视窗范围的地理区域的经纬度进行编码,获得所述视窗范围的视窗地理位置编码,作为所述初始地理区域的地理位置编码。
本申请实施例中的初始地理区域,可以是用户调节的当前视窗范围的地理区域,即用户当前所处的实时位置,也可以是用户自行选择的其他范围的在视窗中显示的地理区域,在此不做限定。
本申请实施例的一种可选方案中,所述视窗范围可以根据所述查询条件中的所述目标地点的查询范围来确定。
可选的,上述对所述视窗地理区域范围的经纬度进行编码,以及下述对几何中心点进行编码,采用geohash算法实现。
在本申请实施例中,对上述初始地理区域编码以及下述中心点及兴趣点的geohash编码可以为12位,在实际应用中,通过编码得到geohash编码也可以为8位,6位等,可根据实际情况进行调节,本申请在此不做限定。
例如,在用户查询查询餐厅的场景中,获取用户输入的目标地点类型为餐厅,目标地点规模为大型连锁餐厅,目标地点特征为西餐厅,然后获取所述视窗范围的视窗geohash编码。具体的,地理位置查询过程是指用户在终端设备(比如智能手机、可穿戴设备、平板电脑等)中输入要查询的目标地点的目标地点类型,目标地点规模,以及目标地点特征。在地理位置查询过程中,视窗范围是指当前终端设备显示边界所划定的范围,在用户将查询条件输入为餐厅,大型连锁餐厅,以及西餐厅后,获取所述视窗显示边界所划定的范围,确定所述视窗geohash编码为wx4sv61q8jwh。
除上述提供的所述目标地点的查询条件之外,所述目标地点查询条件还可以是指其他与目标地点相关的信息,比如目标地点人流量,目标地点消费金额等;类似的,所述初始地理区域也可是其他规定范围的地理区域,而不用视窗或屏幕限定。
步骤S104,根据所述地理位置编码确定所述地理位置编码在查询所述目标地点过程中对应的地理区域网格精度。
上述获取目标地点的查询条件,并根据所述查询条件获取初始地理区域的地理位置编码之后,根据所述地理位置编码(即:通过geohash算法得到的视窗geohash编码),获得所述视窗范围的地理区域面积级别,然后根据所述视窗范围的地理区域面积级别,以及所述查询条件中目标地点的面积级别,对所述视窗范围的地理区域网格精度根据预设视窗地理区域面积级别与地理区域网格精度对应规则进行划分,具体的,是根据所述视窗geohash编码得到所述视窗地理区域的单位网格面积,计算所述视窗范围的地理区域面积级别,然后将所述视窗geohash编码及其编码长度所代表的单位网格面积级别及所述视窗范围的地理区域面积级别进行对比,根据预设视窗地理区域面积级别与geohash编码长度对应规则来确定所述视窗geohash编码的编码长度,得到所述编码长度的所述视窗geohash编码。本实施例将地理区域的网格精度,通过编码算法的方式划分,保证了同一精度下网格面积的一致,同时达到了自动根据初始地理区域的面积大小自动划分地理区域网格精度的目的,避免了用户自己选择网格精度的过程,提高了查询效率和准确率。
例如,在获取所述视窗范围的geohash编码,确定所述显示边界地理位置geohas编码之后,利用所述视窗范围的geohash编码及其12位编码长度,得到所述视窗地理区域的单位网格面积为平方厘米级别,得到所述视窗范围的地理区域的面积为平方千米级别,然后根据预设视窗地理区域面积级别与geohash编码长度对应规则,确定所述视窗geohash编码长度应为8位,得到8位编码长度的所述视窗geohash编码为wx4sv61q。
上述显示边界地理位置geohash及所述预设视窗地理区域面积级别与geohash编码长度规则具体内容可根据实际情况和用户需求进行配置,在此不做限定。
步骤S106,确定所述地理位置编码对应的基准地理区域网格的基准网格精度与所述地理区域网格精度二者的重合网格精度对应的地理位置查询编码。
所述确定所述视窗地理位置编码与所述编码精度的所述视窗地理位置编码二者重合部分的编码重合精度,得到对应所述编码重合精度的地理位置查询编码。本实施例通过利用不同位数的编码长度来划分地理区域网格的精度,避免了经纬度划分网格导致单位网格面积不相等的问题,同时可利用编码长度及其特性进行对比计算,完成自动匹配相应网格精度的过程,减少了用户的查询工作量。
例如,得到8位编码长度的所述视窗geohash编码后,计算所述8位编码长度的所述视窗geohash编码与所述视窗geohash编码及其12位编码长度进行比较,得到8位的地理位置geohash查询编码为wx4sv61q。
步骤S108,基于所述地理位置查询编码在特征地理区域信息数据集中查询符合所述查询条件的目标地点的目标地理位置编码。
上述确定所述地理位置编码对应的基准地理区域网格的基准网格精度与所述地理区域网格精度二者的重合网格精度对应的地理位置查询编码之后,利用所述地理位置查询编码在特征地理区域信息数据集中查询符合所述查询条件的目标地点的目标地理位置编码。具体的,获取所述地理位置查询编码后,根据所述地理位置查询编码在所述中心点编码中查询重合编码部分,根据所述重合编码部分确定所述目标地点的地理位置编码集,然后基于所述查询条件及所述预设的地理区域的属性信息,在所述地理位置编码集中确定符合所述查询条件的所述目标地理位置编码。
可选的,所述特征地理区域信息数据集包括:所述预设的地理区域的属性信息,以及预设的地理区域的地理区域的中心点编码。
所述属性信息包括所述预设的地理区域所包含的各种场景(如餐厅,博物馆,电影院等包括但不限于各种服务型商家)及其各种营销信息(包含但不限于规模,特征,日均客流量,人均消费额等)。
所述预设的地理区域可根据实际情况及用户的实际需求进行划分,如可以是北京市、中国甚至是全球,本申请对此不做限定。
所述中心点编码采用下述方式确定:
1)根据所述预设的地理区域的经纬度确定所述预设的地理区域的中心点经纬度;
2)对所述中心点经纬度进行编码,编码后获得所述预设的地理区域的中心点编码。
可选的,所述特征地理区域信息数据集采用离线方式获得。
所述离线计算方式可以将数据在线下进行处理,具有如下优点:
1)数据量大且保存时间长;
2)可在大量数据上进行复杂的批量运算;
3)数据在计算之前已经完全到位,不会发生变化;
4)能够方便的查询批量计算的结果。
所述特征地理区域信息数据集采用离线计算的方式获得可加快数据处理速度及查询速度,节省用户的查询时间。
本申请实施例所述预设的地理区域的属性信息,可选是指所述预设的地理区域的地理围栏数据。
此外,所述预设的地理区域的属性信息还可以是地理围栏数据之外的其他表示地理区域特征的信息,比如所述预设的地理区域的兴趣点,对此不做限定。
地理围栏(geo-fencing):一种基于位置的服务(Location Based Service,LBS)的新应用,用一个虚拟的栅栏围出一个虚拟地理边界。当设备终端进入、离开某个特定地理区域,或在该区域内活动时,设备终端可以接受自动通知或警告。
兴趣点(Point of Interest,POI):电子地图上一般用气泡图标来表示兴趣点,表示电子地图上的各种地理场所,例如景点,政府机构,公司,商场,饭馆等。
可选的,所述基于所述查询条件及所述预设的地理区域的属性信息在所述目标地点的地理位置编码集中查询符合所述查询条件的目标地点的目标地理位置编码步骤执行之后,包括:缓存所述目标地理位置编码。
可选的,采用索引的方式储存所述特征地理区域的地理位置编码;其中,每个地理位置编码对应一个索引条目,所述特征地理区域的地理位置编码索引,基于所述特征地理区域的地理位置编码对应的索引条目构建。
所述索引方式相比分区等其他查询方式,具有如下优点:
1)可保证数据库表中每一行数据的唯一性;
2)加快数据的检索速度;
3)可加速数据表与数据表之间的连接;
4)在使用分组和排序子句进行数据检索时,可显著减少查询中分组和排序的时间;
5)通过使用索引,可以在查询的过程中,使用优化隐藏器,提高***的性能。
可选的,采用key-value方式对所述目标地理位置编码进行查询;其中,所述查询条件及所述目标地点的地理位置编码集为key;所述预设的地理区域的属性信息为value。
所述key-value方式实现数据查询具有如下优点:
1)多台终端设备同时存储数据及其状态,可通过彼此之间的交互来保持数据一致;
2)所有终端设备的数据可同步更新;
3)当出现突发状况,比如重启,断电,断网,网络数据丢失等都不影响整个***的运行;
4)内存占用低。
通过key-value方式实现数据查询,可实现数据的快速索引,同时节省了网络资源及终端设备的存储空间。
可选的,在得到所述目标地点地理位置编码后,根据所述目标地理位置编码渲染所述目标地点的地理区域信息。
渲染:指软件从模型生成图像的过程,模型是用严格定义的语言或者数据结构对于三维物体的描述。
可选的,在渲染所述目标地点的地理区域信息之后,在视窗中展示所述目标地点的地理区域信息。
例如,用户在终端设备(比如智能手机、可穿戴设备、平板电脑等)中将查询条件输入为餐厅,大型连锁餐厅,以及西餐厅后,进行离线计算过程,得到预设的地理区域的中心点geohash编码wx4sv61q9yhk及预设的地理区域的属性信息,然后获取终端设备视窗显示边界所划定的范围,确定所述视窗范围geohash编码。利用所述视窗范围的geohash编码及其12位编码长度,即wx4sv61q8jwh,得到所述视窗地理区域的单位网格面积为平方厘米级别,得到所述视窗范围的地理区域的面积为平方千米级别,然后根据预设视窗地理区域面积级别与geohash编码长度对应规则,确定所述显示边界地理位置geohash编码长度应为8位,得到8位编码长度的所述显示边界地理位置geohash编码wx4sv61q,然后计算所述8位编码长度的所述显示边界地理位置geohash编码与所述显示边界地理位置geohash编码及其12位编码长度进行比较,得到8位的地理位置geohash查询编码wx4sv61q,调用所述离线计算过程结果,根据所述geohash查询编码在所述中心点编码wx4sv61q9yhk中查询重合geohash编码部分,根据所述重合geohash编码部分确定所述目标地点的geohash编码集,然后基于所述查询条件(餐厅,大型连锁餐厅,西餐厅等),在所述geohash编码集中确定符合所述查询条件的所述餐厅geohash编码wx4sv61q1j,最后,渲染所述餐厅geohash编码为地图中的具体餐厅及其信息,在所述终端设备中展示所述餐厅及信息,以便用户根据实际需要应用所述餐厅及其信息。
可选的,在渲染所述目标地点的地理区域信息步骤执行之后,缓存所述目标地点的地理区域信息,以便下次查询相同地理区域信息时进行调用。
例如,所述离线计算过程如下:
1)获得所述预设的地理区域的经纬度;
2)根据所述经纬度计算所述预设的地理区域的中心点经纬度;
3)对所述中心点经纬度进行编码,得到所述预设的地理区域的中心点geohash编码;所述中心点geohash编码的编码长度为12位,即wx4sv61q9yhk;
4)获得所述预设的地理区域的属性信息;所述属性信息包括但不限于餐厅的类型,餐厅的规模,餐厅的特征等信息。
所述离线计算过程执行后,根据所述geohash查询编码在所述中心点编码中查询重合geohash编码部分,根据所述重合geohash编码部分确定所述目标地点的geohash编码集,然后基于所述查询条件(餐厅,大型连锁餐厅,西餐厅等),在所述geohash编码集中确定符合所述查询条件的所述餐厅geohash编码。
下面结合图3,以在智能手机中查询餐厅为例,对地理位置查询过程进行详述,该过程包括步骤S302至步骤S314。
步骤S302,获得地理围栏中心点的经纬度及预设的地理区域的属性信息。
本实施例中的地理围栏对应预设的地理区域。
采用离线计算的方式获得所述地理围栏中心点的经纬度,以及所述地理围栏中的属性信息。
具体的,获取地理围栏的经纬度,计算所述地理围栏的几何中心点的经纬度,得到中心点经纬度,并读取所述地理围栏中的属性信息,作为地理围栏的属性信息。
步骤S304,确定所述中心点geohash编码及地理围栏的属性信息。
根据所述中心点经纬度计算中心点geohash编码并获得所述地理围栏的属性信息。
对所述中心点经纬度进行编码,得到所述地理围栏的中心点geohash编码,所述中心点geohash编码的编码长度为12位,即wx4sv61q9yhk,同时获得所述地理围栏的属性信息,所述属性信息包括但不限于餐厅,餐厅规模,餐厅特征等信息。
步骤S302和S304一般可以通过离线计算完成。
步骤S306,获取目标地点的查询条件,以及智能手机视窗范围地理区域geohash编码。
获取用户输入的目标地点的查询条件,以及智能手机视窗显示范围的视窗范围地理区域geohash编码;所述视窗范围为当前智能手机视窗显示边界所划定的范围。
用户在智能手机中输入的目标地点类型为餐厅,目标地点规模为大型连锁餐厅,目标地点特征为西餐,然后获取所述视窗范围的geohash编码,用户输入3个查询条件:目标地点类型为餐厅,目标地点规模为大型连锁餐厅,以及目标地点特征为西餐厅后,获取所述智能手机视窗显示边界所划定的范围,确定所述智能手机视窗范围的geohash编码为wx4sv61q8jwh。
步骤S308,根据所述智能手机视窗范围面积及餐厅面积确定合适编码精度的视窗geohash编码。
根据所述智能手机视窗范围的地理区域的面积及目标餐厅的面积,选择合适编码精度的所述视窗范围geohash编码作为所述视窗geohash编码。
在获取所述智能手机视窗范围的geohash编码,确定所述智能手机视窗显示边界地理位置geohash编码之后,利用所述智能手机视窗范围的geohash编码及其12位编码长度wx4sv61q8jwh,得到所述视窗地理区域的单位网格面积为平方厘米级别,得到所述视窗范围的地理区域的面积为平方千米级别,并在获取所述餐厅的规模后确定所述餐厅的面积,以保证所述餐厅的面积级别小于所述合适编码精度的视窗geohash编码,然后根据预设视窗地理区域面积级别与geohash编码长度对应规则,确定所述视窗geohash编码长度应为8位,得到8位编码长度的所述视窗geohash编码wx4sv61q。
步骤S310,确定查询geohash编码。
确定所述视窗geohash编码与所述编码精度的所述视窗geohash编码二者重合部分的编码重合精度,得到对应所述编码重合精度的地理位置查询geohash编码。
得到8位编码长度的所述视窗geohash编码后,计算所述8位编码长度的所述视窗geohash编码(wx4sv61q)与所述视窗范围的geohash编码及其12位编码长度(wx4sv61q8jwh)进行比较,得到8位的地理位置geohash查询编码wx4sv61q。
步骤S312,基于所述查询geohash编码在所述中心点geohash编码及所述属性信息中查询餐厅geohash编码。
所述离线计算过程执行后,根据所述geohash查询编码wx4sv61q在所述中心点编码wx4sv61q9yhk中查询重合geohash编码部分,根据所述重合geohash编码部分wx4sv61q在所述属性信息中确定所述目标地点的geohash编码集,然后基于所述查询条件(餐厅,大型连锁餐厅,西餐厅等),在所述geohash编码集中确定符合所述查询条件的所述餐厅geohash编码。
步骤S314,根据所述餐厅geohash编码渲染并缓存数据。
渲染所述餐厅geohash编码为地图中的具体的餐厅及其地理位置信息,在所述智能手机中展示所述餐厅及其地理位置信息,以便用户根据实际需要应用所述餐厅及其地理位置信息,在渲染所述餐厅geohash编码步骤执行之后,缓存所述餐厅及其地理位置信息,以便下次查询相同餐厅或相同地理位置信息时进行调用。
下面结合图4,以地理位置查询方法在用户查询博物馆的场景中的应用为例进行说明,该方法包括步骤S402至步骤S414。
在用户查询博物馆的场景中,用户在智能手机中输入目标地点类型为博物馆,目标地点规模为大型公立博物馆,目标地点特征为历史博物馆,然后输入任意兴趣点作为初始地理区域。具体的,地理位置查询过程是指用户在终端设备(比如智能手机、可穿戴设备、平板电脑等,本实施例中为智能手机)中输入要查询的目标地点的目标地点类型,目标地点规模,以及目标地点特征。在本实施例的地理位置查询过程中,视窗范围是指当前智能手机视窗屏幕显示边界所划定的范围,在用户将查询条件输入为博物馆,大型公立博物馆,以及历史博物馆后,获取所述智能手机视窗显示边界所划定的范围,确定所述视窗geohash编码。
步骤S402,获得兴趣点的经纬度及预设的地理区域的属性信息。
本实施例中的兴趣点为预设的地理区域的基准点。
计算所述兴趣点的经纬度,得到兴趣点经纬度,以所述兴趣点为基准调动预设的地理区域的属性信息。
步骤S404,确定所述兴趣点geohash编码及预设的地理区域的属性信息。
对所述兴趣点经纬度进行编码,得到兴趣点geohash编码,所述兴趣点geohash编码的编码长度为8位,即wx4sv61q,同时获得所述预设的地理区域的属性信息,所述属性信息包括但不限于博物馆,博物馆规模,博物馆特征等信息。
步骤S402和S404一般可以通过离线计算完成。
步骤S406,获取博物馆的查询条件,以及智能手机视窗范围地理区域geohash编码。
用户在智能手机中输入的目标地点类型为博物馆,目标地点规模为大型公立博物馆,目标地点特征为历史博物馆,然后获取所述智能手机视窗范围的geohash编码,视窗范围为当前智能手机视窗显示边界所划定的范围,在用户将查询条件输入为博物馆类型,大型公立博物馆规模,以及历史博物馆特征后,获取所述智能手机视窗显示边界所划定的范围及兴趣点,确定所述智能手机视窗范围的geohash编码为wx4sv82j。
步骤S408,根据智能手机视窗范围面积及博物馆面积确定合适编码精度的智能手机视窗geohash编码。
在获取所述智能手机视窗范围的geohash编码,确定所述智能手机视窗显示边界地理位置geohash编码之后,利用所述智能手机视窗范围的geohash编码及其8位编码长度wx4sv82j,得到所述智能手机视窗地理区域的单位网格面积为平方千米级别,得到所述智能手机视窗范围的地理区域的面积为平方千米级别,并在获取所述博物馆的规模后确定所述博物馆的面积,以保证所述博物馆的面积级别小于所述合适编码精度的视窗geohash编码,然后根据预设视窗地理区域面积级别与geohash编码长度对应规则,确定所述智能手机视窗geohash编码长度也为8位,得到8位编码长度的所述智能手机视窗geohash编码wx4sv82j。
步骤S410,确定查询geohash编码。
得到8位编码长度的所述智能手机视窗geohash编码后,计算所述8位编码长度的所述智能手机视窗显示边界地理位置geohash编码(wx4sv82j)与所述显示边界地理位置geohash编码及其8位编码长度(wx4sv82j)进行比较,得到8位的地理位置geohash查询编码wx4sv82j。
步骤S412,基于所述查询geohash编码在所述兴趣点geohash编码及所述属性信息中查询博物馆geohash编码。
所述离线计算过程执行后,根据所述geohash查询编码wx4sv82j在所述兴趣点编码wx4sv61q中查询重合geohash编码部分,根据所述重合geohash编码部分wx4sv在所述属性信息中确定所述博物馆的geohash编码集,然后基于所述查询条件(博物馆,大型公立博物馆,历史博物馆等),在所述博物馆geohash编码集中确定符合所述查询条件的所述博物馆geohash编码。
步骤S414,根据所述博物馆geohash编码渲染并缓存数据。
渲染所述博物馆geohash编码为地图中的具体的博物馆及其信息,在所述智能手机视窗中展示所述博物馆及信息,以便用户根据实际需要应用所述博物馆及其信息,在渲染所述博物馆geohash编码步骤执行之后,缓存所述博物馆及其地理位置信息,以便下次查询相同博物馆或相同地理位置信息时进行调用。
本申请提供的一种地理位置查询装置实施例如下:
在上述的实施例中,提供了一种地理位置查询方法,与之相对应的,本申请还提供了一种地理位置查询装置,下面结合附图进行说明。
参照附图5,其示出了本申请实施例提供的地理位置查询装置示意图。
由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关的部分请参见上述提供的方法实施例的对应说明即可。下述描述的装置实施例仅仅是示意性的。
本申请提供一种地理位置查询装置,包括:
获取模块502,被配置为获取目标地点的查询条件,并根据所述查询条件获取初始地理区域的地理位置编码;
精度确定模块504,被配置为根据所述地理位置编码确定所述地理位置编码在查询所述目标地点过程中对应的地理区域网格精度;
重合精度确定模块506,被配置为确定所述地理位置编码对应的基准地理区域网格的基准网格精度与所述地理区域网格精度二者的重合网格精度对应的地理位置查询编码;
查询模块508,被配置为基于所述地理位置查询编码在特征地理区域信息数据集中查询符合所述查询条件的目标地点的目标地理位置编码。
可选的,所述获取模块502,包括:
经纬度采集子模块,被配置为根据所述查询条件获取视窗范围的地理区域的经纬度;
经纬度编码子模块,被配置为对所述视窗范围的地理区域的经纬度进行编码,获得所述视窗范围的视窗地理位置编码,作为所述初始地理区域的地理位置编码。
可选的,所述地理位置查询装置,还包括:
面积级别获取模块,被配置为根据所述视窗范围的视窗地理位置编码,获得所述视窗范围的地理区域面积级别;
相应的,所述面积级别获取模块,还包括:
级别划分子模块,被配置为根据所述视窗范围的地理区域面积级别,对所述视窗范围的地理区域网格精度进行划分;
匹配子模块,根据预设视窗地理区域面积级别与地理区域网格精度对应规则确定与所述视窗范围相匹配的所述地理区域网格精度;
其中,所述地理区域网格精度对应所述视窗范围的视窗地理位置编码的编码精度及所述编码精度的所述视窗地理位置编码。
可选的,所述重合精度确定模块506,包括:
查询编码确定子模块,被配置为确定所述视窗地理位置编码与所述编码精度的所述视窗地理位置编码二者重合部分的编码重合精度,得到对应所述编码重合精度的地理位置查询编码。
可选的,所述地理位置查询装置,还包括:
离线计算模块,被配置为采用离线计算方式获得所述特征地理区域信息数据集。
可选的,所述离线计算模块,包括:
中心点确定子模块,被配置为根据所述预设的地理区域的经纬度确定所述预设的地理区域的中心点经纬度;
中心点编码子模块,被配置为对所述中心点经纬度进行编码,编码后获得所述预设的地理区域的中心点编码。
可选的,所述查询模块508,包括:
查询编码获取子模块,被配置为获取所述地理位置查询编码;
重合编码查询子模块,被配置为根据所述地理位置查询编码在所述中心点编码中查询重合编码部分;
编码集确定子模块,被配置为根据所述重合编码部分确定所述目标地点的地理位置编码集;
目标确定子模块,被配置为基于所述查询条件及所述预设的地理区域的属性信息,在所述地理位置编码集中确定符合所述查询条件的所述目标地理位置编码。
可选的,所述地理位置查询装置,还包括:
缓存编码模块,被配置为缓存所述目标地理位置编码。
可选的,所述特征地理区域的地理位置编码,采用索引的方式进行存储;
其中,每个地理位置编码对应一个索引条目,所述特征地理区域的地理位置编码索引,基于所述特征地理区域的地理位置编码对应的索引条目构建。
可选的,所述查询符合所述查询条件的目标地点的目标地理位置编码,采用key-value方式对所述目标地理位置编码进行查询;
其中,所述查询条件及所述目标地点的地理位置编码集为key;
所述预设的地理区域的属性信息为value。
可选的,所述地理位置查询装置,还包括:
渲染模块,被配置为根据所述目标地理位置编码渲染所述目标地点的地理区域信息。
可选的,所述地理位置查询装置,还包括:
展示模块,被配置为展示所述目标地点的地理区域信息。
可选的,所述地理位置查询装置,还包括:
信息缓存模块,被配置为缓存所述目标地点的地理区域信息。
可选的,所述对所述视窗地理区域范围的经纬度进行编码,以及所述对所述几何中心点进行编码,采用geohash算法实现。
可选的,所述预设的地理区域的属性信息,包括下述至少一项:
所述预设的地理区域的地理围栏数据,所述预设的地理区域的兴趣点。
可选的,所述目标地点的查询条件,包括:
目标地点的业务属性信息及目标地点的地理属性信息;
所述业务属性信息包括下述至少一项:
目标地点类型,目标地点规模,目标地点特征;
所述地理属性信息包括:目标地点的查询范围。
本申请提供的一种计算设备实施例如下:
图6是本申请实施例提供的计算机设备的结构框图。该计算设备600的部件包括但不限于存储器610和处理器620。处理器620与存储器610通过总线630相连接,数据库650用于保存数据。
计算设备600还包括接入设备640,接入设备640使得计算设备600能够经由一个或多个网络660通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备640可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
本申请实施例还提供一种计算设备,包括存储器610、处理器620及存储在存储器610上并可在处理器620上运行的计算机指令,所述处理器620执行所述指令时实现所述地理位置查询方法的以下步骤:
获取目标地点的查询条件,并根据所述查询条件获取初始地理区域的地理位置编码;根据所述地理位置编码确定所述地理位置编码在查询所述目标地点过程中对应的地理区域网格精度;确定所述地理位置编码对应的基准地理区域网格的基准网格精度与所述地理区域网格精度二者的重合网格精度对应的地理位置查询编码;基于所述地理位置查询编码在特征地理区域信息数据集中查询符合所述查询条件的目标地点的目标地理位置编码。
可选的,所述根据所述查询条件获取初始地理区域的地理位置编码,包括:
根据所述查询条件获取视窗范围的地理区域的经纬度;对所述视窗范围的地理区域的经纬度进行编码,获得所述视窗范围的视窗地理位置编码,作为所述初始地理区域的地理位置编码。
可选的,所述根据所述地理位置编码确定所述地理位置编码在查询所述目标地点过程中对应的地理区域网格精度步骤执行之前,包括:
根据所述视窗范围的视窗地理位置编码,获得所述视窗范围的地理区域面积级别;相应的,所述根据所述地理位置编码确定所述地理位置编码在查询所述目标地点过程中对应的地理区域网格精度,包括:
根据所述视窗范围及所述目标地点的地理区域面积级别,对所述视窗范围的地理区域网格精度进行划分;根据预设视窗地理区域面积级别与地理区域网格精度对应规则确定与所述视窗范围相匹配的所述地理区域网格精度;其中,所述地理区域网格精度对应所述视窗范围的视窗地理位置编码的编码精度及所述编码精度的所述视窗地理位置编码。
可选的,所述确定所述地理位置编码对应的基准地理区域网格精度的基准网格精度与所述地理区域网格精度二者的重合网格精度对应的地理位置查询编码,包括:
确定所述视窗地理位置编码与所述编码精度的所述视窗地理位置编码二者重合部分的编码重合精度,得到对应所述编码重合精度的地理位置查询编码。
可选的,所述地理位置查询方法,包括:
采用离线计算方式获得所述特征地理区域信息数据集。
可选的,所述特征地理区域信息数据集,包括:
所述预设的地理区域的属性信息,以及所述预设的地理区域的中心点编码。
可选的,所述中心点编码,采用下述方式确定:
根据所述预设的地理区域的经纬度确定所述预设的地理区域的中心点经纬度;对所述中心点经纬度进行编码,编码后获得所述预设的地理区域的中心点编码。
可选的,所述基于所述地理位置查询编码及所述地理位置编码在特征地理区域数据集中查询符合所述查询条件的目标地点的地理位置编码,包括:
获取所述地理位置查询编码;根据所述地理位置查询编码在所述中心点编码中查询重合编码部分;根据所述重合编码部分确定所述目标地点的地理位置编码集;基于所述查询条件及所述预设的地理区域的属性信息,在所述地理位置编码集中确定符合所述查询条件的所述目标地理位置编码。
可选的,所述基于所述查询条件及所述预设的地理区域的属性信息在所述目标地点的地理位置编码集中查询符合所述查询条件的目标地点的目标地理位置编码步骤执行之后,包括:
缓存所述目标地理位置编码。
可选的,所述特征地理区域的地理位置编码,采用索引的方式进行存储;
其中,每个地理位置编码对应一个索引条目,所述特征地理区域的地理位置编码索引,基于所述特征地理区域的地理位置编码对应的索引条目构建。
可选的,所述查询符合所述查询条件的目标地点的目标地理位置编码,采用key-value方式对所述目标地理位置编码进行查询;
其中,所述查询条件及所述目标地点的地理位置编码集为key;
所述预设的地理区域的属性信息为value。
可选的,所述地理位置查询方法,还包括:
根据所述目标地理位置编码渲染所述目标地点的地理区域信息。
可选的,所述地理位置查询方法,还包括:
展示所述目标地点的地理区域信息。
可选的,所述地理位置查询方法,还包括:
缓存所述目标地点的地理区域信息。
可选的,所述对所述视窗地理区域范围的经纬度进行编码,以及所述对所述几何中心点进行编码,采用geohash算法实现。
可选的,所述预设的地理区域的属性信息,包括下述至少一项:
所述预设的地理区域的地理围栏数据,所述预设的地理区域的兴趣点。
可选的,所述目标地点的查询条件,包括:
目标地点的业务属性信息及目标地点的地理属性信息;
所述业务属性信息包括下述至少一项:
目标地点类型,目标地点规模,目标地点特征;
所述地理属性信息包括:目标地点的查询范围。
在本说明书的一个实施例中,计算设备600的上述部分以及图6中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图6所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备600可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备600还可以是移动式或静止式的服务器。
本申请实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述地理位置查询方法的如下步骤:
获取目标地点的查询条件,并根据所述查询条件获取初始地理区域的地理位置编码;根据所述地理位置编码确定所述地理位置编码在查询所述目标地点过程中对应的地理区域网格精度;确定所述地理位置编码对应的基准地理区域网格的基准网格精度与所述地理区域网格精度二者的重合网格精度对应的地理位置查询编码;基于所述地理位置查询编码在特征地理区域信息数据集中查询符合所述查询条件的目标地点的目标地理位置编码。
可选的,所述根据所述查询条件获取初始地理区域的地理位置编码,包括:
根据所述查询条件获取视窗范围的地理区域的经纬度;对所述视窗范围的地理区域的经纬度进行编码,获得所述视窗范围的视窗地理位置编码,作为所述初始地理区域的地理位置编码。
可选的,所述根据所述地理位置编码确定所述地理位置编码在查询所述目标地点过程中对应的地理区域网格精度步骤执行之前,包括:
根据所述视窗范围的视窗地理位置编码,获得所述视窗范围的地理区域面积级别;相应的,所述根据所述地理位置编码确定所述地理位置编码在查询所述目标地点过程中对应的地理区域网格精度,包括:
根据所述视窗范围及所述目标地点的地理区域面积级别,对所述视窗范围的地理区域网格精度进行划分;根据预设视窗地理区域面积级别与地理区域网格精度对应规则确定与所述视窗范围相匹配的所述地理区域网格精度;其中,所述地理区域网格精度对应所述视窗范围的视窗地理位置编码的编码精度及所述编码精度的所述视窗地理位置编码。
可选的,所述确定所述地理位置编码对应的基准地理区域网格精度的基准网格精度与所述地理区域网格精度二者的重合网格精度对应的地理位置查询编码,包括:
确定所述视窗地理位置编码与所述编码精度的所述视窗地理位置编码二者重合部分的编码重合精度,得到对应所述编码重合精度的地理位置查询编码。
可选的,所述地理位置查询方法,包括:
采用离线计算方式获得所述特征地理区域信息数据集。
可选的,所述特征地理区域信息数据集,包括:
所述预设的地理区域的属性信息,以及所述预设的地理区域的中心点编码。
可选的,所述中心点编码,采用下述方式确定:
根据所述预设的地理区域的经纬度确定所述预设的地理区域的中心点经纬度;对所述中心点经纬度进行编码,编码后获得所述预设的地理区域的中心点编码。
可选的,所述基于所述地理位置查询编码及所述地理位置编码在特征地理区域数据集中查询符合所述查询条件的目标地点的地理位置编码,包括:
获取所述地理位置查询编码;根据所述地理位置查询编码在所述中心点编码中查询重合编码部分;根据所述重合编码部分确定所述目标地点的地理位置编码集;基于所述查询条件及所述预设的地理区域的属性信息,在所述地理位置编码集中确定符合所述查询条件的所述目标地理位置编码。
可选的,所述基于所述查询条件及所述预设的地理区域的属性信息在所述目标地点的地理位置编码集中查询符合所述查询条件的目标地点的目标地理位置编码步骤执行之后,包括:
缓存所述目标地理位置编码。
可选的,所述特征地理区域的地理位置编码,采用索引的方式进行存储;
其中,每个地理位置编码对应一个索引条目,所述特征地理区域的地理位置编码索引,基于所述特征地理区域的地理位置编码对应的索引条目构建。
可选的,所述查询符合所述查询条件的目标地点的目标地理位置编码,采用key-value方式对所述目标地理位置编码进行查询;
其中,所述查询条件及所述目标地点的地理位置编码集为key;
所述预设的地理区域的属性信息为value。
可选的,所述地理位置查询方法,还包括:根据所述目标地理位置编码渲染所述目标地点的地理区域信息。
可选的,所述地理位置查询方法,还包括:展示所述目标地点的地理区域信息。
可选的,所述地理位置查询方法,还包括:缓存所述目标地点的地理区域信息。
可选的,所述对所述视窗地理区域范围的经纬度进行编码,以及所述对所述几何中心点进行编码,采用geohash算法实现。
可选的,所述预设的地理区域的属性信息,包括下述至少一项:
所述预设的地理区域的地理围栏数据,所述预设的地理区域的兴趣点。
可选的,所述目标地点的查询条件,包括:目标地点的业务属性信息及目标地点的地理属性信息;所述业务属性信息包括下述至少一项:目标地点类型,目标地点规模,目标地点特征;所述地理属性信息包括:目标地点的查询范围。
上述为本实施例的计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的地理位置查询方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述地理位置查询方法的技术方案的描述。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。