[发明专利]一种以地理位置纬度和经度数位上的数字组合为索引的高效地理位置信息检索方法在审
申请号: | 201610227661.7 | 申请日: | 2016-04-13 |
公开(公告)号: | CN107291782A | 公开(公告)日: | 2017-10-24 |
发明(设计)人: | 周子明 | 申请(专利权)人: | 南京兆畅通讯技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 210000 江苏省南京市紫金*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 地理位置 纬度 经度 数位 数字 组合 索引 高效 信息 检索 方法 | ||
技术领域
本发明涉及地理位置信息搜索领域,特别是大数据量的地理位置信息的索引和搜索。
背景技术
现代信息系统中,地理位置通常由纬度和经度来表示,例如(31.495688度,120.311257度)代表了江苏省无锡市金匮公园的地理位置。如果没有建立索引,在需要搜索系统中某个地理位置x周围一定距离范围r内的其他地理位置信息时,需要计算系统中所有的其他地理位置(y1,y2………yn)和x之间的距离(d1,d2…dn),然后根据计算出的距离是否小于搜索给定的距离范围(d 是否小于 r)来决定是否将该信息包括在内,这需要通过大量的浮点运算来实现,效率低耗时多。
发明内容
本发明对系统中地理位置根据需要利用纬度和经度的数位上的数字组合建立索引,然后在搜索某个地理位置周围给定范围的地理位置信息时时可以利用这些索引将搜索范围快速缩小到搜索源点周围的小长方形中,以避免对系统中所有的地理位置做距离计算。
例为地理位置(31.495688度,120.311257度)建立013210439151、0132104391、和01321043三个索引,这些索引产生的方式如下:如果纬度、经度小数点前不足三位,则先在前面加0以补足三位,然后将纬度、经度从左开始轮流取一个数字然后合并起来直到产生所需长度的索引为止。理论上可以为地理位置建立2位、4位、6位...到任意位数的很多索引,但是考虑到地球上两个经度相同纬度相差1度的点之间的距离大约为111公里,而两个纬度()相同经度相差1度的点之间的距离大约为111 * cos(ø)公里,而距离的搜索范围通常是几百米到几百公里,那么实际只需要建立12位、10位、8位、6位这几个索引就足够了。
为地理位置建立索引后,在需要搜索系统中某个地理位置x周围一定距离范围r内的其他地理位置信息时,根据不同大小的搜索范围选择相应的索引可以很快将搜索区域缩小至包含搜索范围的一个长方形中。由于搜索结果在以x为原点, r为半径的园内,搜索结果内的地理位置纬度一定在x的纬度±r/111范围内,同时搜索结果内的地理位置经度一定在x的经度±r/(111 * cos(ø))内。如果搜索范围r在几百米量级,可以采用12位索引,并通过以下方法获得包含所有搜索结果的索引集:x的纬度和经度分别舍到小数点后三位,r以米为单位,纬度范围[x的纬度 - ceiling(r/111)* 0.001]~[x的纬度 + ceiling(r/111)* 0.001]、经度范围[x的经度 - ceiling(r/(111* cos(ø)))* 0.001]~[x的经度 + ceiling(r/(111* cos(ø)))* 0.001]所组成的12位索引集包含了所有的搜索结果, 其中ceiling是指向上取整。例如,我们要搜索信息系统中地理位置(31.495688度,120.311257度)周围100米内(r=100)的地理位置信息,ceiling(r/111)* 0.001 = 0.001,ceiling(r/(111* cos(ø)))* 0.001 = 0.002, 纬度31.494度~31.496度,经度120.309度~120.313度的区域包含了要搜索的全部结果,由此可以算出包含搜索结果的索引集{013210439049, 013210439140, 013210439141, 013210439142, 013210439143, 013210439059, 013210439150, 013210439151, 013210439152, 013210439153, 013210439069, 013210439160, 013210439161, 013210439162, 013210439163},通过对这个索引集内包含的地理位置信息进行和搜索源点的距离计算就得到搜索结果了,图1是描述了索引集和搜索范围的关系。
同样原理,如果搜索几公里或几十公里的范围,则可分别采用10位和8位的索引来实现。
由于现代的信息系统通常可以很快地从巨量的数据中找出索引,在采用本发明索引的地理信息系统中,当需要搜索给定位置周围某个范围内的地理信息时,可以很快地先找出包含搜索结果的索引集,然后仅对该索引集所包含的地理信息和搜索位置进行距离计算以找出搜索结果,这样搜索性能会远高于没有索引的系统。在没有索引的系统中,需要对所有的地理信息和搜索位置进行距离计算才能找出搜索结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京兆畅通讯技术有限公司,未经南京兆畅通讯技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610227661.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种图像管理方法和装置
- 下一篇:一种语义匹配方法及智能设备