[发明专利]一种基于地理位置的搜索方法有效
申请号: | 201710312262.5 | 申请日: | 2017-05-05 |
公开(公告)号: | CN107273414B | 公开(公告)日: | 2019-01-22 |
发明(设计)人: | 方清 | 申请(专利权)人: | 广州恒巨信息科技有限公司 |
主分类号: | G06F16/9537 | 分类号: | G06F16/9537;G06F16/909 |
代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 胡辉 |
地址: | 510630 广东省广州市天河*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 地理位置 搜索 方法 | ||
本发明公开了一种基于地理位置的搜索方法,包括数据索引建立步骤和数据检索步骤。本发明先是通过采用距离分层网格化方法对地图进行多层网格化处理,然后在搜索数据时,仅提取与之所属的层级网格的地理数据,从而能极大的减少计算量,大大提升搜索速度,方便快捷。本发明可广泛应用于地理位置搜索中。
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于地理位置的搜索方法。
背景技术
传统的方法对要搜索的数据项进行逐个计算,判断数据地理位置是否在搜索范围内,如果数据量越大,那么计算量就会越大,效率也会越低下。
发明内容
为了解决上述技术问题,本发明的目的是提供一种能减少计算量,且能提高搜索效率的一种基于地理位置的搜索方法。
本发明所采取的技术方案是:
一种基于地理位置的搜索方法,包括数据索引建立步骤和数据检索步骤;
所述数据索引建立步骤具体包括:
采集地理位置数据;
对平面地图按照距离进行分层网格化处理;
将采集的地理位置数据归属到对应的分层网格中;
对分层网格化后的地理位置数据建立索引。
所述数据检索步骤具体包括:
判断搜索范围所属的层级网格;
根据搜索范围所属的层级网格提取对应的地理位置数据,并在提取地理位置数据的过程中过滤不在搜索范围内的地理位置数据。
作为所述的一种基于地理位置的搜索方法的进一步改进,所述的对平面地图按照距离进行分层网格化处理,这一步骤具体包括:
按照距离对平面地图进行网格化分层,得到分层网格;
对得到的分层网格进行编码,得到网格编码。
作为所述的一种基于地理位置的搜索方法的进一步改进,所述网格化分层处理中的分层公式为:
Grid(k,n)=d*10k*(n+1);
Grid(k,n)表示对应分层的网格尺寸,d表示最小一级的网格边长基数;k和n表示网格边长步进大小。
作为所述的一种基于地理位置的搜索方法的进一步改进,所述的将采集的地理位置数据归属到对应的分层网格中,这一步骤具体为:
根据采集到地理位置数据的经纬度,记录地理位置数据中每个数据点在每个层所属的网格编码。
作为所述的一种基于地理位置的搜索方法的进一步改进,所述的对分层网格化后的地理位置数据建立索引,这一步骤具体为:
利用全文检索引擎技术,针对地理位置数据中的数据点的网格编号和所有归属分层网格编码建立索引。
作为所述的一种基于地理位置的搜索方法的进一步改进,所述的判断搜索范围所属的层级网格,这一步骤具体为:
通过搜索范围的半径来计算所属的层级网格,其具体计算公式为:
K=floor(log(r/d));
n=floor(r/(d*10k));
其中,d表示最小一级的网格边长基数,r表示搜索范围的半径,k和n表示网格边长步进大小。
作为所述的一种基于地理位置的搜索方法的进一步改进,所述的根据搜索范围所属的层级网格提取对应的地理位置数据,这一步骤具体包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州恒巨信息科技有限公司,未经广州恒巨信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710312262.5/2.html,转载请声明来源钻瓜专利网。