首页> 中国专利> 基于地理位置的信息检索方法、装置及系统

基于地理位置的信息检索方法、装置及系统

摘要

本申请公开了一种基于地理位置的信息检索方法及装置,一种基于地理位置的信息获取方法及装置、一种基于地理位置的信息提供方法及装置、一种基于地理位置的信息检索系统、以及另一种基于地理位置的信息检索方法及装置。其中,所述基于地理位置的信息检索方法包括:获取待检索位点基于地理坐标系的第一经纬度坐标值;将第一经纬度坐标值转换为基于双锥坐标系的第二经纬度坐标值;将第二经纬度坐标值编码为GeoHash值;根据GeoHash值查询目标实体数据库,获取与所述待检索位点的距离在预设范围内的目标实体信息。采用上述方法,由于将传统的地理坐标系转换为双锥坐标系,因此在高纬度地区也可以进行高效、准确的检索,提高检索的整体准确率。

著录项

  • 公开/公告号CN106407213A

    专利类型发明专利

  • 公开/公告日2017-02-15

    原文格式PDF

  • 申请/专利权人 阿里巴巴集团控股有限公司;

    申请/专利号CN201510462860.1

  • 发明设计人 方宇平;刘抚狄;

    申请日2015-07-31

  • 分类号G06F17/30(20060101);

  • 代理机构11441 北京市清华源律师事务所;

  • 代理人沈泳;李赞坚

  • 地址 英属开曼群岛大开曼资本大厦一座四层847号邮箱

  • 入库时间 2023-06-19 01:32:41

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-03-10

    授权

    授权

  • 2017-03-15

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20150731

    实质审查的生效

  • 2017-02-15

    公开

    公开

说明书

技术领域

本申请涉及信息检索技术,具体涉及一种基于地理位置的信息检索方法及装置。本申请同时涉及一种基于地理位置的信息获取方法及装置、一种基于地理位置的信息提供方法及装置、一种基于地理位置的信息检索系统、以及另一种基于地理位置的信息检索方法及装置。

背景技术

随着越来越多和地理位置相关的应用和产品的出现,尤其是在移动类应用中,提供指定地理位置附近的目标实体信息的检索服务显得越来越重要,所述目标实体包括餐馆、商场、公园、医院等。在现有的检索系统中,通常将待检索位点在传统地理坐标系中的二维经纬度信息,采用GeoHash方法转换为一维的hash值,即GeoHash值,然后在预先建立的目标实体数据库中根据GeoHash值的前缀进行有针对性的区间查询,从而提供准确和高效的检索结果。

其中,GeoHash方法的核心,是通过对地理坐标系进行网格划分,将二维的经纬度信息,转换成一个可以排序、比较的一维编码形式。转换过程包括两个阶段:逼近编码阶段、以及交叉组码阶段。

在逼近编码阶段,采用如下方式对经度坐标值进行编码,以经度坐标值为112度为例:将经度区间[-180,180]二分为[-180,0),[0,180]两个区间,作为左右区间,如果经度坐标值属于左区间则标记为0,属于右区间则标记为1,本例中标记为1,然后继续对区间[0,180]进行二分划分,重复上述标记以及划分步骤数次,得到了关于经度坐标值的0、1编码序列,采用同样的方式可以得到纬度坐标值的0、1编码序列。在交叉组码阶段,将经纬度编码序列交叉组合,偶数位写入经度编码,奇数位写入纬度编码,从而得到二维经纬度坐标值的GeoHash编码。

采用上述基于传统经纬度的交叉编码方式,能够最大程度的保证相近地理位置的经纬度前缀尽可能的相同,便于进行检索。但同时也存在以下缺陷:由于在传统地理坐标系中,随着纬度的增加,经度的单位距离不断变小、而且是加速变化的,而纬度的单位距离却始终保持不变(所述单位距离是指一个单位的经度或者纬度所表示的球面形曲线长度),因此,在进行GeoHash编码时,在高纬度地区会产生经纬度编码的塌缩速率不一致的问题,从而导致现有的检索技术无法针对高纬度地区提供正常的、准确的周边检索服务。

发明内容

本申请实施例提供一种基于地理位置的信息检索方法和装置,以解决现有技术无法针对高纬度地区进行准确检索的问题。本申请实施例还提供一种基于地理位置的信息获取方法和装置,一种基于地理位置的信息提供方法及装置,一种基于地理位置的信息检索系统,以及另一种基于地里位置的信息检索方法和装置。

本申请提供一种基于地理位置的信息检索方法,包括:

获取待检索位点基于地理坐标系的第一经纬度坐标值;

将第一经纬度坐标值转换为基于双锥坐标系的第二经纬度坐标值;

将第二经纬度坐标值编码为GeoHash值;

根据GeoHash值查询目标实体数据库,获取与所述待检索位点的距离在预设范围内的目标实体信息。

可选的,所述目标实体数据库是采用如下方式预先建立的:

收集供查询目标实体的基于地理坐标系的第一经纬度坐标值;

将第一经纬度坐标值转换为基于双锥坐标系的第二经纬度坐标值;

将第二经纬度坐标值编码为GeoHash值;

在目标实体数据库中存储所述GeoHash值,并建立GeoHash值与所述供查询的目标实体的对应关系。

可选的,所述目标实体数据库包括:以GeoHash值作为索引的关系型数据库、或者以GeoHash值作为主键的key-value数据库。

可选的,在所述收集供查询目标实体的基于地理坐标系的第一经纬度坐标值之后、在所述将第一经纬度坐标值转换为基于双锥坐标系的第二经纬度坐标值之前,执行下述操作:

对其中属于预设折叠区间的第一经度坐标值,进行坐标值折叠变换。

可选的,在获取待检索位点基于地理坐标系的第一经纬度坐标值后,执行下述操作:

判断第一经度坐标值是否属于预设折叠区间;

若是,对所述第一经度坐标值进行坐标值折叠变换。

可选的,所述预设折叠区间包括:与0或者180的差值绝对值小于预设阈值的区间;

所述进行坐标值折叠变换包括:将所述第一经度坐标值转换为与其相邻的非折叠区域中的镜像经度坐标值。

可选的,所述预设阈值包括:10。

可选的,所述将第一经纬度坐标值转换为基于双锥坐标系的第二经纬度坐标值包括:

将第一纬度坐标值作为第二纬度坐标值;

采用如下公式计算第二经度坐标值:

θ(bicone)=arcSin(cos(Ψ(wgs))*cos(θ(wgs)));

其中,θ(bicone)是第二经度坐标值,Ψ(wgs)是第一纬度坐标值,θ(wgs)是第一经度坐标值。

可选的,在所述获取待检索位点基于地理坐标系的第一经纬度坐标值之后,执行下述操作:

在以所述待检索位点为中心的、到待检索位点的距离在所述预设范围内的圆形区域中取样;

所述将第一经纬度坐标值转换为基于双锥坐标系的第二经纬度坐标值包括:将各取样点的第一经纬度坐标值分别转换为基于双锥坐标系的第二经纬度坐标值;

所述将第二经纬度坐标值编码为GeoHash值包括:将各取样点的第二经纬度坐标值分别编码为GeoHash值;

所述根据所述GeoHash值查询目标实体数据库,获取与所述待检索位点的距离在预设范围内的目标实体信息,包括:根据各取样点的GeoHash值分别查询所述目标实体数据库,获取与所述待检索位点的距离在预设范围内的目标实体信息。

可选的,所述根据各取样点的GeoHash值分别查询所述目标实体数据库,获取与所述待检索位点的距离在预设范围内的目标实体信息,包括:

根据各取样点的GeoHash值和所述预设范围,计算对应于每个取样点的查询范围;

按照每个取样点的查询范围,在所述目标实体数据库中进行查询,获取对应于各取样点的目标实体;

计算所述目标实体与待检索位点之间的距离,并将符合所述预设范围要求的目标实体的相关信息作为所述待检索位点的检索结果。

可选的,所述GeoHash值包括:长整形数值、或者基于Base32编码的字符串。

相应的,本申请还提供一种基于地理位置的信息检索装置,包括:

第一经纬度获取单元,用于获取待检索位点基于地理坐标系的第一经纬度坐标值;

第二经纬度转换单元,用于将第一经纬度坐标值转换为基于双锥坐标系的第二经纬度坐标值;

GeoHash编码单元,用于将第二经纬度坐标值编码为GeoHash值;

目标实体查询单元,用于根据所述GeoHash值查询目标实体数据库,获取与所述待检索位点的距离在预设范围内的目标实体信息。

可选的,所述装置包括:数据库建立单元,用于预先建立所述目标实体数据库;

所述数据库建立单元包括:

信息收集子单元,用于收集供查询目标实体的基于地理坐标系的第一经纬度坐标值;

坐标值转换子单元,用于将第一经纬度坐标值转换为基于双锥坐标系的第二经纬度坐标值;

编码子单元,用于将第二经纬度坐标值编码为GeoHash值;

存储子单元,用于在目标实体数据库中存储所述GeoHash值,并建立GeoHash值与所述供查询的目标实体的对应关系。

可选的,所述数据库建立单元还包括:

实体坐标折叠子单元,用于对所述信息收集子单元收集的第一经纬度坐标值中、属于预设折叠区间的第一经度坐标值,进行坐标值折叠变换,并在处理完毕后触发所述坐标值转换子单元工作。

可选的,所述装置还包括:

折叠判断单元,用于判断所述第一经纬度获取单元获取的所述第一经纬度坐标值中的第一经度坐标值是否属于预设折叠区间;

折叠变换单元,用于当所述折叠判断单元的输出为是时,对所述第一经度坐标值进行坐标值折叠变换。

可选的,所述第二经纬度转换单元以及所述坐标值转换子单元,分别包括以下子单元:

第二纬度坐标值生成单元,用于将第一纬度坐标值作为第二纬度坐标值;

第二经度坐标值生成单元,用于采用如下公式计算第二经度坐标值:θ(bicone)=arcSin(cos(Ψ(wgs))*cos(θ(wgs))),其中,θ(bicone)是第二经度坐标值,Ψ(wgs)是第一纬度坐标值,θ(wgs)是第一经度坐标值。

可选的,所述装置包括:

取样单元,用于在获取待检索位点基于地理坐标系的第一经纬度坐标值之后,在以所述待检索位点为中心的、到待检索位点的距离在所述预设范围内的圆形区域中取样;

所述第二经纬度转换单元具体用于,将各取样点的第一经纬度坐标值分别转换为基于双锥坐标系的第二经纬度坐标值;

所述GeoHash编码单元具体用于,将各取样点的第二经纬度坐标值分别编码为GeoHash值;

所述目标实体查询单元具体用于,根据各取样点的GeoHash值分别查询所述目标实体数据库,获取与所述待检索位点的距离在预设范围内的目标实体信息。

可选的,所述目标实体查询单元包括:

查询范围计算子单元,用于根据各取样点的GeoHash值和所述预设范围,计算对应于每个取样点的查询范围;

查询执行子单元,用于按照每个取样点的查询范围,在所述目标实体数据库中进行查询,获取对应于各取样点的目标实体;

结果过滤子单元,用于计算所述目标实体与待检索位点之间的距离,并将符合所述预设范围要求的目标实体的相关信息作为所述待检索位点的检索结果。

此外,本申请还提供一种基于地理位置的信息获取方法,包括:

获取待检索位点的位置信息;

向服务端发送周边信息获取请求,所述请求中至少携带所述位置信息;

接收所述服务端返回的对应于所述待检索位点的目标实体信息,所述目标实体信息是所述服务端采用基于双锥坐标系的信息检索方法获取的。

可选的,所述位置信息包括:基于地理坐标系的第一经纬度坐标值、与基站的位置关系信息、所属WiFi区域的标识信息、或者地理名称。

相应的,本申请还提供一种基于地理位置的信息获取装置,包括:

位置信息获取单元,用于获取待检索位点的位置信息;

请求发送单元,用于向服务端发送周边信息获取请求,所述请求中至少携带所述位置信息;

结果接收单元,用于接收所述服务端返回的对应于所述待检索位点的目标实体信息,所述目标实体信息是所述服务端采用基于双锥坐标系的信息检索方法获取的。

此外,本申请还提供一种基于地理位置的信息提供方法,包括:

接收客户端发送的周边信息获取请求,根据请求中携带的位置信息获取待检索位点基于地理坐标系的第一经纬度坐标值;

将第一经纬度坐标值转换为基于双锥坐标系的第二经纬度坐标值;

将第二经纬度坐标值编码为GeoHash值;

根据GeoHash值查询目标实体数据库,获取与所述待检索位点的距离满足预设条件的目标实体信息;

将所述目标实体信息返回给所述客户端。

可选的,所述预设条件包括:

所述距离在所述周边信息获取请求指定的范围内;或者,

根据所述距离从小到大排序靠前。

相应的,本申请还提供一种基于地理位置的信息提供装置,包括:

请求接收单元,用于接收客户端发送的周边信息获取请求,根据请求中携带的位置信息获取待检索位点基于地理坐标系的第一经纬度坐标值;

第二经纬度转换单元,用于将第一经纬度坐标值转换为基于双锥坐标系的第二经纬度坐标值;

GeoHash编码单元,用于将第二经纬度坐标值编码为GeoHash值;

目标实体查询单元,用于根据GeoHash值查询目标实体数据库,获取与所述待检索位点的距离满足预设条件的目标实体信息;

结果返回单元,用于将所述目标实体信息返回给所述客户端。

此外,本申请还提供一种基于地理位置的信息检索系统,包括:根据上述任意一项所述的基于地理位置的信息获取装置,和根据上述任意一项所述的基于地理位置的信息提供装置。

此外,本申请还提供一种基于地理位置的信息检索方法,包括:

获取待检索位点的经纬度坐标值;

在以所述待检索位点为中心的、到待检索位点的距离在预设范围内的圆形区域中取样;

将各取样点的经纬度坐标值分别编码为GeoHash值;

根据各取样点的GeoHash值分别查询目标实体数据库,获取与所述待检索位点的距离在预设范围内的目标实体信息。

相应的,本申请还提供一种基于地理位置的信息检索装置,包括:

经纬度获取单元,用于获取待检索位点的经纬度坐标值;

区域取样单元,用于在以所述待检索位点为中心的、到待检索位点的距离在预设范围内的圆形区域中取样;

取样点编码单元,用于将各取样点的经纬度坐标值分别编码为GeoHash值;

数据库查询单元,用于根据各取样点的GeoHash值分别查询目标实体数据库,获取与所述待检索位点的距离在预设范围内的目标实体信息。

与现有技术相比,本申请具有以下优点:

本申请提供的一种基于地理位置的信息检索方法,通过将待检索位点的第一经纬度坐标值转换为基于双锥坐标系的第二经纬度坐标值,然后根据第二经纬度坐标值的GeoHash值查询目标实体数据库,获取与所述待检索位点的距离在预设范围内的目标实体信息。采用上述方法,由于将传统的地理坐标系转换为双锥坐标系,而双锥坐标系在任何经纬度的塌缩速率都是恒定的,因此在高纬度地区也可以进行高效、准确的检索,提高检索的整体准确率。

本申请提供的另一种基于地理位置的信息检索方法,在以所述待检索位点为中心的、到待检索位点的距离在预设范围内的圆形区域中取样,并根据各取样点经纬度坐标值的GeoHash值分别查询目标实体数据库,获取与所述待检索位点的距离在预设范围内的目标实体信息。由于采用了在待查询圆形区域中取样的方法,与查询9区块的检索技术相比较,每次查询的区间缩小了,每次查询召回的结果显著减少,而且所有取样点整体召回的结果也显著减少,有效避免了召回大量无用数据的情况,从而实现了较高的检索准确率,减少了进行筛选过滤操作的工作量,有效提高执行效率。

附图说明

图1是本申请的一种基于地理位置的信息检索方法的第一实施例的流程图;

图2是本申请实施例提供的地理坐标系的示意图;

图3是本申请实施例提供的建立目标实体数据库的处理流程图;

图4是本申请实施例提供的将待检索位点的第一经纬度坐标值转换为基于双锥坐标系的第二经纬度坐标值的处理流程图;

图5是本申请实施例提供的双锥坐标系的示意图;

图6是本申请的一种基于地理位置的信息检索方法的第二实施例的流程图;

图7是本申请实施例提供的对待检索位点所在区块以及周边8个区块进行查询的示意图;

图8是本申请实施例提供的在待查询区域中取样的示意图;

图9是本申请实施例提供的根据各取样点的GeoHash值查询目标实体数据库的处理流程图;

图10是本申请的一种基于地理位置的信息检索装置的实施例示意图;

图11是本申请的一种基于地理位置的信息获取方法的实施例的流程图;

图12是本申请的一种基于地理位置的信息获取装置的实施例示意图;

图13是本申请的一种基于地理位置的信息提供方法的实施例的流程图;

图14是本申请的一种基于地理位置的信息提供装置的实施例示意图;

图15是本申请的一种基于地理位置的信息检索系统的实施例示意图;

图16是本申请的另一种基于地理位置的信息检索方法的实施例的流程图;

图17是本申请的另一种基于地理位置的信息检索装置的实施例示意图。

具体实施方式

在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是,本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此,本申请不受下面公开的具体实施的限制。

在本申请中,分别提供了一种基于地理位置的信息检索方法及装置,一种基于地理位置的信息获取方法及装置,一种基于地理位置的信息提供方法及装置,一种基于地理位置的信息检索系统,以及另一种基于地理位置的信息检索方法及装置,在下面的实施例中逐一进行详细说明。

请参考图1,其为本申请的一种基于地理位置的信息检索方法的第一实施例的流程图。所述方法包括如下步骤:

步骤101、获取待检索位点基于地理坐标系的第一经纬度坐标值。

本申请提供的技术方案,将待检索位点基于地理坐标系的第一经纬度坐标值转换为基于双锥坐标系的第二经纬度坐标值,并用所述第二经纬度坐标值的GeoHash值在目标实体数据库中进行查询,获取所述待检索位点周边的目标实体信息。由于双锥坐标系在任何经纬度的塌缩速率都是恒定的,从而解决了基于地理坐标系的检索技术无法在高纬度地区进行准确检索的问题。

所述地理坐标系(简称WGS)是指传统的经纬度坐标系,请参考图2,其为本申请实施例提供的地理坐标系的示意图。该坐标系包括两个要素:纬度坐标Ψ和经度坐标θ,其中纬度坐标的取值范围在[-90,90],经度坐标的取值范围在[-180,180],相应的,所述基于地理坐标系的第一经纬度坐标值包括:第一经度坐标值和第一纬度坐标值。所述双锥坐标系是一种球面正交坐标系,关于该坐标系的说明请参见步骤102中的相关文字。

所述待检索位点通常是指要进行周边实体信息查询的待检索位置或者地点,所述目标实体是指供检索查询的目标对象,可以包括:餐馆、商场、公园、医院等。所述目标实体的地理位置信息以及其他相关信息是存储在目标实体数据库中的,所述目标实体数据库可以采用如下步骤预先建立,请参考图3,其为本申请实施例提供的建立目标实体数据库的处理流程图。

步骤101-1、收集供查询目标实体的基于地理坐标系的第一经纬度坐标值。

在具体实施时,可以采用不同的方法收集供查询目标实体的基于地理坐标系的第一经纬度坐标值(以下简称第一经纬度坐标值),例如,可以利用百度地图等工具获取供查询目标实体的第一经纬度坐标值,也可以通过第三方服务商提供的API,例如:Google Maps API进行转换得到所述供查询目标实体的第一经纬度坐标值。

步骤101-2、将第一经纬度坐标值转换为基于双锥坐标系的第二经纬度坐标值。

本步骤可以针对每个供查询目标实体,将其第一经纬度坐标值转换为基于双锥坐标系的第二经纬度坐标值(简称第二经纬度坐标值)。具体的转换方式请参见步骤102中的相关文字描述。

采用双锥坐标系可以解决在高纬度地区无法准确检索的问题,但是采用双锥坐标系进行球面网格划分时,在经度靠近0度的区域以及靠近180度的区域可能出现不规则变换,所划分区域的形状可能会出现畸形,导致相关区域无法准确检索,为了避免检索准确率下降,本实施例提供一种进行坐标折叠的优选实施方式:在本步骤将供查询目标实体的第一经纬度坐标值转换为第二经纬度坐标值之前,对其中属于预设折叠区间的第一经度坐标值,进行坐标值折叠变换处理,完成上述处理之后,再将第一经纬度坐标值转换为第二经纬度坐标值。对于坐标值进行折叠变换的具体处理过程请参见步骤102中的相关文字说明。

步骤101-3、将第二经纬度坐标值编码为GeoHash值。

本步骤可以针对每个供查询目标实体,分别将其第二经纬度坐标值编码为GeoHash值。具体的编码方式请参见步骤103中的相关文字描述。

步骤101-4、在目标实体数据库中存储所述GeoHash值,并建立GeoHash值与所述供查询的目标实体的对应关系。

本步骤将之前获取的供查询目标实体的GeoHash值存储在目标实体数据库中,并建立GeoHash值与所述供查询的目标实体的对应关系。所述目标实体数据库可以是关系型数据库,也可以是基于key-value架构的非关系型数据库。在具体实施中,为了提高后续基于GeoHash的检索速度,如果采用关系型数据库,可以建立基于GeoHash值所在列的索引,例如B+树索引;如果采用key-value架构的非关系型数据库,可以以GeoHash值作为Rowkey,从而可以根据Rowkey或者Rowkey区间实现快速查询。

通过上述步骤101-1至101-4,预先构建了供检索查询的目标实体数据库,之后就可以从中查询待检索位点的周边目标实体信息了。本步骤获取待检索位点的第一经纬度坐标值。在具体实施时,可以通过多种方式获取待检索位点的第一经纬度坐标值,例如,可以调用第三方提供的地理位置信息查询服务(例如百度地图),获取待检索位点的第一经纬度坐标值;如果本方法在服务端实施,也可以从客户端上传的周边信息检索请求中获取待检索位点的第一经纬度坐标值,而客户端则可以通过开启GPS功能获取待检索位点的第一经纬度坐标值。

步骤102、将第一经纬度坐标值转换为基于双锥坐标系的第二经纬度坐标值。

优选地,如步骤101-2所述,为了避免采用双锥坐标系进行球面网格划分可能导致在预设折叠区间的检索准确率下降,如果在建立供查询的目标实体数据库时,对于处于预设折叠区间的第一经度坐标值进行了折叠变换,那么在本步骤对待检索位点进行双锥坐标系转换之前,可以先判断待检索位点的第一经度坐标值是否属于预设折叠区间,若是对所述第一经度坐标值进行折叠变换。本步骤的处理过程包括步骤102-1至102-3,下面结合附图4作进一步说明。

步骤102-1、判断待检索位点的第一经度坐标值是否属于预设折叠区间,若是,转到步骤102-2,否则执行步骤102-3。

所述折叠区间是预先设置的,通常是指与0或者180的差值绝对值小于预设阈值的区间,所述预设阈值可以根据具体的应用需求进行设置,例如可以设置为10,相应的,所述折叠区间包括:[0,10]、[170,180]、[-10,0]、[-180,-170]。

步骤102-2、对所述第一经度坐标值进行折叠变换。

如果待检索位点的第一经度值属于预设折叠区间,则对所述第一经度坐标值进行折叠变换,第一纬度坐标值保持不变。所述折叠变换是指,将第一经度坐标值转换为与其相邻的非折叠区域中的镜像经度坐标值,如果按照地理坐标系的经度线(m)对经度坐标值θ(t1)进行折叠变换,折叠后的经度坐标值θ(t2)=2m-θ(t1)。

下面以折叠区间[0,10]为例进行说明,对属于[0,10]折叠区间的经度θ(t1)按照m=10进行折叠,折叠后的θ(t2)∈[10,20]区间,例如,第一经度坐标值θ(t1)=5,与其相邻的非折叠区域是[10,20],对应的镜像经度坐标值为θ(t2)=2m-θ(t1)=2x10-5=15。如果待检索位点的第一经度值属于其他折叠区间,也可以按照类似的方式进行折叠转换,此处不再赘述。通过上述折叠处理,相当于对靠近0度区域或者靠近180度区域的第一经度坐标值进行了迁移,尽可能避开了采用双锥坐标系进行网格划分可能出现畸形的区域,从而保证了检索的准确率。

执行完本步骤的处理后,继续执行步骤102-3。

步骤102-3、进行基于双锥坐标系的坐标值转换。

本步骤将待检索位点的第一经纬度坐标值(包括执行了折叠变换后的)转换为基于双锥坐标系的第二经纬度坐标值。为了便于理解首先对双锥坐标系进行说明。

双锥坐标系(Biconical Coordinate)是一种球面正交坐标系,请参考图5。双锥坐标系包含以下要素:

1)球半径:R;

2)z-轴圆锥面与xy平面夹角:Ψ

3)x-轴圆锥面与yz平面夹角:θ

4)y轴坐标正负:C

这里所述的x、y、z轴,沿用了地心坐标系中相互垂直的x、y、z三个轴,其中,x轴与首子午面与赤道面的交线重合,向东为正,z轴与地球旋转轴重合,向北为正,y轴与xz平面垂直构成右手系。

下面描述第一经纬度坐标值到基于双锥坐标系的第二经纬度坐标值的转换过程。为了便于描述,引入以下标记方式:Ψ(wgs)代表第一纬度坐标值,θ(wgs)代表第一经度坐标值,Ψ(bicone)代表第二纬度坐标值,θ(bicone)代表第二经度坐标值,r代表第一纬度坐标作值对应的纬度圈的半径,h代表第二经度坐标值对应的经度圈与yz平面之间的距离。

通过上面的描述可以看出,传统地理坐标系中的纬度坐标值与双锥坐标系中的纬度坐标值是一致的,因此在本步骤中可以直接将待检索位点的第一纬度坐标值作为双锥坐标系中的第二纬度坐标值,即不用进行转换:

Ψ(bicone)=Ψ(wgs);

对于第二经度坐标值的转换推导过程如下:

cos(Ψ(wgs))=r/R;

cos(θ(wgs))=h/r;

sin(θ(bicone))=h/R=cos(Ψ(wgs))*cos(θ(wgs));

因此,可以得到:θ(bicone)=arcSin(cos(Ψ(wgs))*cos(θ(wgs)));

通过上述方式,根据待检索位点的第一经纬度坐标值,转换得到了基于双锥坐标系的第二经纬度坐标值。

需要说明的是,上述步骤102-1及102-2的坐标折叠操作是一种优选实施方式,如果在预先建立目标实体数据库时,未进行坐标折叠处理,那么在本步骤中也无需对属于预设折叠区间的第一经度坐标值进行折叠处理,同样也可以实现本申请的技术方案。

步骤103、将第二经纬度坐标值编码为GeoHash值。

编码过程包括两个阶段:逼近编码、以及交叉组码。首先对第二纬度坐标值进行逼近编码,即,将纬度区间[-90,90]二分为左右两个区间,如果纬度坐标值属于左区间则标记为0,属于右区间则标记为1,然后继续对纬度坐标值所属区间进行二分和标记......,按照预先设定的次数重复执行上述过程,就可以得到关于第二纬度坐标值的0、1编码序列,采用同样的方式可以得到第二经度坐标值的0、1编码序列,然后将上述两个编码序列进行交叉组合,从而得到第二经纬度坐标值的GeoHash值,在具体实施时,可以采用长整形的形式存储GeoHash值,也可以采用Base32编码转换为字符串的形式。

步骤104、根据GeoHash值查询目标实体数据库,获取与所述待检索位点的距离在预设范围内的目标实体信息。

由于GeoHash值的前缀可以表示特定大小的区块,基于GeoHash值的这一特性,可以利用待检索位点对应的GeoHash值对目标实体数据库进行区间查询,从而获取与所述待检索位点的距离在预设范围内的目标实体信息。

具体实施时,通常可以根据所述预设范围,从所述GeoHash值中选取用于查询的前缀长度,如下述代码片段所示:

double perimeter=2*Math.PI*radius;//radius是地球半径

long diameter=Math.round(distance*2); //distance是预设范围的上限值

while((diameter<<bit)<perimeter){

bit++;

}

prefix_length=2*bit; //prefix_length是前缀长度,以比特为单位

然后,保留所述GeoHash值位于前缀部分的值,通过将位于前缀之后的各个比特位设置为0,获取查询区间的最小值,将位于前缀之后的各个比特位设置为1,获取查询区间的最大值,然后在目标实体数据库中进行区间查询,从而获取在所选GeoHash前缀对应区块内的目标实体及相关信息。

考虑到待检索位点可能位于其所属区块的边界附近,如果仅在所述待检索位点所属区块内进行查询,可能会发生遗漏,为了保证将与所述待检索位点的距离在预设范围内的目标实体都召回,通常采用的解决方法是根据待检索位点所在区块的GeoHash值前缀,计算周围8个区块的GeoHash值前缀,并对这8个区块也进行区间搜索,从而保证将所有满足要求的目标实体都能够召回。

此后还可以执行过滤操作,从召回的目标实体中筛选与待检索位点的距离在预设范围内的目标实体,将这些目标实体及其相关信息(例如,目标实体名称、服务类别、具体地址、简介等)作为所述待检索位点的检索结果。具体实施时,可以针对上述查询过程召回的每个目标实体,执行如下操作:

将所述目标实体在目标实体数据库中存储的GeoHash值解码为基于双锥坐标系的第二经纬度坐标值(编码过程的逆过程),再将所述第二经纬度坐标值转换为基于传统地理坐标系的第一经纬度坐标值,然后根据待检索位点与所述目标实体的第一经纬度坐标值,计算两者之间的距离,如果该距离值在预设范围内,则保留该目标实体,否则将该目标实体从检索结果中删除。

针对每个目标实体执行上述筛选操作,会筛选出一系列满足要求的目标实体,具体实施时,可以将这些目标实体作为检索结果,也可以按照预设策略进行进一步筛选,例如,可以按照与待检索位点之间的距离从小到大排序,并选择排序靠前的、预定数量的目标实体作为检索结果;也可以根据本次检索的额外限定进行筛选,例如可以按照检索类别要求进行筛选,例如只选择类别为“公园”的目标实体作为检索结果等。

需要说明的是,由于双锥坐标系的R、Ψ、θ这三个要素通常对应地球球面上的两个点,分别位于东半球和西半球,该状态可以用要素C标识。为了保证上述距离计算过程的正确性,在具体实施时,可以在存储目标实体的GeoHash值的同时,也存储该目标实体对应的要素C的值。从而可以参照该值,将目标实体基于双锥坐标系的GeoHash值正确转换为基于传统地理坐标系的第一经纬度坐标值,从而保证距离计算的正确性。

综上所述,本实施例提供的一种基于地理位置的信息检索方法,通过将传统的地理坐标系转换为双锥坐标系、并根据双锥坐标系下的GeoHash值进行查询,从而获取与所述待检索位点的距离在预设范围内的目标实体信息。上述方法利用了双锥坐标系在任何经纬度的塌缩速率恒定这一特点,在高纬度地区也可以进行高效、准确的检索,提高检索的整体准确率。

在上述基于地理位置的信息检索方法的第一实施例的基础上,为了减少检索过程中召回的数据量,提高检索的准确率,本申请还针对所述基于地理位置的信息检索方法,提供了采用取样机制的第二实施例。请参考图6,其为本申请提供的一种基于地理位置的信息检索方法的第二实施例的流程图,本实施例与第一实施例步骤相同的部分不再赘述,下面重点描述不同之处。本申请提供的一种基于地理位置的信息检索方法包括:

步骤601:获取待检索位点基于地理坐标系的第一经纬度坐标值。

步骤602:在以所述待检索位点为中心的、到待检索位点的距离在所述预设范围内的圆形区域中取样。

现有的检索技术,考虑到待检索位点可能处于所在区块的边界位置,为了避免遗漏,通常对待检索位点所在区块以及周边8个区块都进行查询,从而可以保证将所有满足条件的目标实体都召回。这种做法会增加召回数量,降低召回的准确率,为后续的筛选过滤操作增加额外负担。

请参考图7,其为对待检索位点所在区块以及周边8个区块进行查询的示意图。其中黑色实心圆点代表待检索位点,圆形区域代表所述预设范围,例如,预设范围是0~500m,那么圆形区域的半径为500m,根据该预设范围确定GeoHash值前缀得到的区块边长通常为1km左右。从该图中可以看出,标号为1、2、3、4、6的区块都不在预设范围对应的圆形区域内,也与所述圆形区域没有交集,因此采用对上述9个区块都进行查询的方式,显然会召回大量不满足条件的目标实体,准确率是比较低的。

针对这一问题,本实施例在基于双锥坐标系进行检索的基础上,采用了基于取样查询的优选实施方式,即:在以所述待检索位点为中心的、到待检索位点的距离在所述预设范围内的圆形区域中取样,根据各个取样点进行区间查询,从而在保证将所有满足条件的目标实体召回的同时,可以有效减少召回的数量,提高检索的准确率。

本步骤在以所述待检索位点为中心的、到待检索位点的距离在所述预设范围内的圆形区域中取样,所选取样点通常是均匀分布的。在具体实施时,为了简化处理过程,也可以在所述圆形区域的外切正方形中进行取样,请参考图8,其为本申请实施例提供的在待查询区域中取样的示意图,在该图中,在圆形区域的外切正方形中均匀选择了16个采样点。

在本实施例的一个具体例子中,要获取与待检索位点之间的距离在0~500m之间的目标实体信息,因此在以待检索位点为中心的、半径为500m的圆形区域中,选择了20x 20=400个取样点。在其他实施方式中,可以综合考虑具体的需求以及数据库搜索的代价选择不同数目的取样点,本实施例对此不作具体限定。

步骤603:将各取样点的第一经纬度坐标值分别转换为基于双锥坐标系的第二经纬度坐标值。

步骤604:将各取样点的第二经纬度坐标值分别编码为GeoHash值。

步骤605:根据各取样点的GeoHash值分别查询所述目标实体数据库,获取与所述待检索位点的距离在预设范围内的目标实体信息。

由于在到待检索位点的距离在所述预设范围内的圆形区域中选取了取样点,本步骤可以分别根据各取样点的GeoHash值在相应的小区块中(如图8中所示的每个取样点所在的小正方形区块中)进行查询,从而获取满足条件的目标实体信息。具体过程包括步骤605-1至605-3,下面结合附图9做进一步说明。

步骤605-1、根据各取样点的GeoHash值和所述预设范围,计算对应于每个取样点的查询范围。

由于在以所述待检索位点为中心的、到待检索位点的距离在所述预设范围内的圆形区域中进行了取样,相当于提高了查询精度,可以缩小每次查询的范围。在前面提供的第一实施例的步骤104中,已经给出了根据所述预设范围确定GeoHash值前缀长度的实现方法,具体实施时,可以在此基础上,计算由于采用取样方式增加精度导致用于查询的前缀长度的增加值。在本实施例的一个具体例子中,总共选取了20行x 20列共400个取样点,可以采用如下代码片段计算所述前缀长度的增加值,其中,Delta是可供调节的参数,可以根据具体需求进行设置,例如,设置为1或者2:

SAMPLING_ADDED_PRECISION=(int)(Math.log(20)/Math.log(2))-Delta;

将根据所述预设范围确定的前缀长度与由于采样增加的前缀长度相加,得到对每个取样点所在小区块进行查询的GeoHash值的前缀长度。针对每个取样点,保留其GeoHash值位于所述前缀部分的值,通过将位于所述前缀之后的各个比特位设置为0,获取查询区间的最小值,将位于所述前缀之后的各个比特位设置为1,获取查询区间的最大值,从而得到对应于每个取样点的查询范围。

步骤605-2、按照每个取样点的查询范围,在所述目标实体数据库中进行查询,获取对应于各取样点的目标实体。

针对每个取样点,根据在步骤605-1中得到的查询范围,在所述目标实体数据库中进行区间查询,获取在所述目标实体数据库中存储的、符合所述查询范围要求的GeoHash值,并可以进一步获取对应的目标实体。

步骤605-3、计算所述目标实体与待检索位点之间的距离,并将符合所述预设范围要求的目标实体的相关信息作为所述待检索位点的检索结果。

步骤605-2通过数据库查询操作通常可以召回多个目标实体,本步骤分别计算这些目标实体与待检索位点之间的距离,删除所述距离不在预设范围内的目标实体,并可以将保留下来的目标实体及其相关信息作为所述待检索位点的检索结果。

本实施例提供的基于地理位置的信息检索方法,由于采用双锥坐标系,能够有效解决在高纬度地区无法准确检索的问题,同时,由于采用了在以所述待检索位点为中心的、到待检索位点的距离在所述预设范围内的圆形区域中进行取样、并根据每个取样点进行区间查询的优选实施方式,在不会遗漏位于所述预设范围内的目标实体的同时,由于每次查询的区间缩小了,每次查询召回的结果显著减少,而且所有取样点整体召回的结果也显著减少,从而可以有效避免召回大量无用数据的情况,实现较高的检索准确率,减少进行筛选过滤操作的工作量,有效提高执行效率。

在上述的实施例中,提供了一种基于地理位置的信息检索方法,与之相对应的,本申请还提供一种基于地理位置的信息检索装置。请参看图10,其为本申请的一种基于地理位置的信息检索装置的实施例示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。

本实施例的一种基于地理位置的信息检索装置,包括:第一经纬度获取单元1001,用于获取待检索位点基于地理坐标系的第一经纬度坐标值;第二经纬度转换单元1002,用于将第一经纬度坐标值转换为基于双锥坐标系的第二经纬度坐标值;GeoHash编码单元1003,用于将第二经纬度坐标值编码为GeoHash值;目标实体查询单元1004,用于根据所述GeoHash值查询目标实体数据库,获取与所述待检索位点的距离在预设范围内的目标实体信息。

可选的,所述装置包括:数据库建立单元,用于预先建立所述目标实体数据库;

所述数据库建立单元包括:

信息收集子单元,用于收集供查询目标实体的基于地理坐标系的第一经纬度坐标值;

坐标值转换子单元,用于将第一经纬度坐标值转换为基于双锥坐标系的第二经纬度坐标值;

编码子单元,用于将第二经纬度坐标值编码为GeoHash值;

存储子单元,用于在目标实体数据库中存储所述GeoHash值,并建立GeoHash值与所述供查询的目标实体的对应关系。

可选的,所述数据库建立单元还包括:

实体坐标折叠子单元,用于对所述信息收集子单元收集的第一经纬度坐标值中、属于预设折叠区间的第一经度坐标值,进行坐标值折叠变换,并在处理完毕后触发所述坐标值转换子单元工作。

可选的,所述装置还包括:

折叠判断单元,用于判断所述第一经纬度获取单元获取的所述第一经纬度坐标值中的第一经度坐标值是否属于预设折叠区间;

折叠变换单元,用于当所述折叠判断单元的输出为是时,对所述第一经度坐标值进行坐标值折叠变换。

可选的,所述第二经纬度转换单元以及所述坐标值转换子单元,分别包括以下子单元:

第二纬度坐标值生成单元,用于将第一纬度坐标值作为第二纬度坐标值;

第二经度坐标值生成单元,用于采用如下公式计算第二经度坐标值:θ(bicone)=arcSin(cos(Ψ(wgs))*cos(θ(wgs))),其中,θ(bicone)是第二经度坐标值,Ψ(wgs)是第一纬度坐标值,θ(wgs)是第一经度坐标值。

可选的,所述装置包括:

取样单元,用于在获取待检索位点基于地理坐标系的第一经纬度坐标值之后,在以所述待检索位点为中心的、到待检索位点的距离在所述预设范围内的圆形区域中取样;

所述第二经纬度转换单元具体用于,将各取样点的第一经纬度坐标值分别转换为基于双锥坐标系的第二经纬度坐标值;

所述GeoHash编码单元具体用于,将各取样点的第二经纬度坐标值分别编码为GeoHash值;

所述目标实体查询单元具体用于,根据各取样点的GeoHash值分别查询所述目标实体数据库,获取与所述待检索位点的距离在预设范围内的目标实体信息。

可选的,所述目标实体查询单元包括:

查询范围计算子单元,用于根据各取样点的GeoHash值和所述预设范围,计算对应于每个取样点的查询范围;

查询执行子单元,用于按照每个取样点的查询范围,在所述目标实体数据库中进行查询,获取对应于各取样点的目标实体;

结果过滤子单元,用于计算所述目标实体与待检索位点之间的距离,并将符合所述预设范围要求的目标实体的相关信息作为所述待检索位点的检索结果。

此外,本申请还提供一种基于地理位置的信息获取方法。请参考图11,其为本申请提供的一种基于地理位置的信息获取方法的实施例的流程图,本实施例与第一实施例步骤相同的部分不再赘述,下面重点描述不同之处。本申请提供的一种基于地理位置的信息获取方法包括:

步骤1101:获取待检索位点的位置信息。

本方法通常在需要查询待检索位点周边目标实体信息的客户端设备上实施,所述客户端设备包括:移动通讯设备。所述待检索位点的位置信息可以是所述客户端设备的位置信息,具体实施时,可以通过开启客户端设备的GPS功能,从而获知客户端设备的基于地理坐标系的第一经纬度坐标值。

所述待检索位点的位置信息并不局限于所述客户端设备的位置信息,也可以是其它需要检索的地点的位置信息。所述位置信息也并不局限于经纬度坐标值,可以是其它能够表征待检索位点所在地理位置的信息,例如,可以是所述待检索位点与基站的位置关系信息、所述待检索位点所属wifi区域的标识信息、或者所述待检索位点的地理名称等。

步骤1102:向服务端发送周边信息获取请求,所述请求中至少携带所述位置信息。

向提供周边目标实体检索服务的服务端发送周边信息获取请求,所述请求中至少携带所述待检索位点的位置信息,所述请求中还可以指定查询周边目标实体的范围信息,例如:查询与所述待检索位点之间的距离属于0~500m范围之内的目标实体信息。

步骤1103:接收所述服务端返回的对应于所述待检索位点的目标实体信息,所述目标实体信息是所述服务端采用基于双锥坐标系的信息检索方法获取的。

在步骤1102向服务端发送周边信息获取请求后,本步骤可以接收所述服务端返回的位于所述待检索位点周边的目标实体信息,所述目标实体信息是由所述服务端根据待检索位点的基于双锥坐标系的GeoHash值查询目标实体数据库后获取的。

在上述的实施例中,提供了一种基于地理位置的信息获取方法,与之相对应的,本申请还提供一种基于地理位置的信息获取装置。请参看图12,其为本申请的一种基于地理位置的信息获取装置的实施例示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。

本实施例的一种基于地理位置的信息获取装置,包括:位置信息获取单元1201,用于获取待检索位点的位置信息;请求发送单元1202,用于向服务端发送周边信息获取请求,所述请求中至少携带所述位置信息;结果接收单元1203,用于接收所述服务端返回的对应于所述待检索位点的目标实体信息,所述目标实体信息是所述服务端采用基于双锥坐标系的信息检索方法获取的。

此外,本申请还提供一种基于地理位置的信息提供方法。请参考图13,其为本申请提供的一种基于地理位置的信息提供方法的实施例的流程图,本实施例与第一实施例以及第二实施例步骤相同的部分不再赘述,下面重点描述不同之处。本申请提供的一种基于地理位置的信息提供方法包括:

步骤1301、接收客户端发送的周边信息获取请求,根据请求中携带的位置信息获取待检索位点基于地理坐标系的第一经纬度坐标值。

如果所述请求中携带的是待检索位点的基于地理坐标系的第一经纬度坐标值,则直接提取该数据即可;如果所述请求中携带的是其它能够表征待检索位点所在地理位置的信息,例如与基站的位置关系信息、所属WiFi区域的标识信息、或者地理名称,那么可以通过执行相应的转换操作或者相应的地理信息数据库或数据表的查找操作,得到待检索位点的第一经纬度坐标值。

步骤1302、将第一经纬度坐标值转换为基于双锥坐标系的第二经纬度坐标值。

步骤1303、将第二经纬度作标值编码为GeoHash值。

步骤1304、根据GeoHash值查询目标实体数据库,获取与所述待检索位点的距离满足预设条件的目标实体信息。

如果步骤1301接收的周边信息获取请求中指定了查询周边目标实体的范围信息,那么本步骤可以通过查询获取与所述待检索位点的距离在所述指定范围内的目标实体信息;如果步骤1301接收的周边信息获取请求中未指定所述范围信息,那么本步骤可以根据预设策略或者经验值设置所述范围信息,并通过查询获取与所述待检索位点的距离在所述设置范围内的目标实体信息,在具体实施中,还可以对查询得到的目标实体信息按照其与待检索位点的距离从小到大排序,并从中筛选排序靠前的、预定数量的目标实体信息。

步骤1305、将所述目标实体信息返回给所述客户端。

将步骤1304获取的目标实体信息返回给所述客户端。通过步骤1301-1305的描述可以看出,由于采用双锥坐标系对待检索位点的经纬度坐标值进行了转换,因此避免了基于传统地理坐标系的GeoHash在高纬度地区经纬度编码塌缩速率不一致的问题,即使客户端希望查询的待检索位点位于高纬度地区,本方法也依然能够进行高效、准确的检索,从而提高检索的整体准确率。

在上述的实施例中,提供了一种基于地理位置的信息提供方法,与之相对应的,本申请还提供一种基于地理位置的信息提供装置。请参看图14,其为本申请的一种基于地理位置的信息提供装置的实施例示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。

本实施例的一种基于地理位置的信息提供装置,包括:请求接收单元1401,用于接收客户端发送的周边信息获取请求,根据请求中携带的位置信息获取待检索位点基于地理坐标系的第一经纬度坐标值;第二经纬度转换单元1402,用于将第一经纬度坐标值转换为基于双锥坐标系的第二经纬度坐标值;GeoHash编码单元1403,用于将第二经纬度坐标值编码为GeoHash值;目标实体查询单元1404,用于根据GeoHash值查询目标实体数据库,获取与所述待检索位点的距离满足预设条件的目标实体信息;结果返回单元1405,用于将所述目标实体信息返回给所述客户端。

此外,本申请还提供一种基于地理位置的信息检索系统,如图15所示,该系统包括上述实施例所述的基于地理位置的信息获取装置1501和基于地理位置的信息提供装置1502。所述基于地理位置的信息获取装置可以部署于移动通讯设备、个人电脑、PAD、iPad等多种客户端设备;所述基于地理位置的信息提供装置通常部署于服务器,但并不局限于服务器,也可以是能够实现本申请所述的基于地理位置的信息提供方法的任何设备。

例如,基于地理位置的信息获取装置部署于移动通讯设备上,所述基于地理位置的信息提供装置部署于服务器上。所述移动通讯设备通过开启GPS功能获取当前的基于地理坐标系的第一经纬度坐标值,并将携带所述第一经纬度作标值的周边信息获取请求发送给所述服务器;所述服务器将接收的第一经纬度坐标值转换为基于双锥坐标系的第二经纬度坐标值,并用所述第二经纬度坐标值的GeoHash值查询目标实体数据库,从而获取所述移动通讯设备周边的目标实体信息。

上述例子仅仅是示意性的,在其他的实施方式中,也可以采用不同的部署方式和实施方式,只要能够实现本申请所述的基于地理位置的信息检索系统的整体功能,就都在本申请的保护范围之内。

此外,本申请还提供另一种基于地理位置的信息检索方法。请参考图16,其为本申请提供的另一种基于地理位置的信息检索方法的实施例的流程图,本实施例与第一实施例以及第二实施例步骤相同的部分不再赘述,下面重点描述不同之处。本申请提供的另一种基于地理位置的信息检索方法包括:

步骤1601、获取待检索位点的经纬度坐标值。

步骤1602、在以所述待检索位点为中心的、到待检索位点的距离在预设范围内的圆形区域中取样。

步骤1603、将各取样点的经纬度坐标值分别编码为GeoHash值;

步骤1604、根据各取样点的GeoHash值分别查询目标实体数据库,获取与所述待检索位点的距离在预设范围内的目标实体信息。

本步骤可以根据各取样点的GeoHash值和所述预设范围,计算对应于每个取样点的查询范围;然后按照每个取样点的查询范围,在所述目标实体数据库中进行查询,获取对应于各取样点的目标实体;最后计算各目标实体与待检索位点之间的距离,并将符合所述预设范围要求的目标实体的相关信息作为所述待检索位点的检索结果。

本申请提供的上述基于地理位置的信息检索方法,由于采用了在待查询圆形区域中取样的方法,与查询9区块的检索技术相比较,每次查询的区间缩小了,每次查询召回的结果显著减少,而且所有取样点整体召回的结果也显著减少,有效避免了召回大量无用数据的情况,从而实现了较高的检索准确率,减少了进行筛选过滤操作的工作量,有效提高执行效率。

在上述的实施例中,提供了另一种基于地理位置的信息检索方法,与之相对应的,本申请还提供另一种基于地理位置的信息检索装置。请参看图17,其为本申请的另一种基于地理位置的信息检索装置的实施例示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。

本实施例的另一种基于地理位置的信息检索装置,包括:经纬度获取单元1701,用于获取待检索位点的经纬度坐标值;区域取样单元1702,用于在以所述待检索位点为中心的、到待检索位点的距离在预设范围内的圆形区域中取样;取样点编码单元1703,用于将各取样点的经纬度坐标值分别编码为GeoHash值;数据库查询单元1704,用于根据各取样点的GeoHash值分别查询目标实体数据库,获取与所述待检索位点的距离在预设范围内的目标实体信息。

本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号