一种地理编码方法、位置查询系统及方法[发明专利]

(10)申请公布号 (43)申请公布日 2013.11.06C N  103383682 A (21)申请号 201210130908.5
(22)申请日 2012.05.01
G06F 17/30(2006.01)
(71)申请人刘龙
地址200011 上海市黄浦区陆家浜路521弄
3号楼3305室
(72)发明人
刘龙
(54)发明名称
一种地理编码方法、位置查询系统及方法
(57)摘要
本发明公开了一种地理编码方法,包括:
a.确定地理位置;
b.确定第i 编码精度;
c.进行
第i 种划分,将地球表面划分成多个子区域,并进
行编号,对每个子区域继续划分编号,直至划分出
的每个子区域与第i 编码精度相关;d.获取指定
地理位置落入的相应子区域的编号并判断是否落
在相应子区域的边界区域,编码得到一维的第i
地理编码和第i 边界标识;b~d 重复N 次;e.组合
所述N 个地理编码和边界标识。本发明还公开了
一种采用所述地理编码方法的位置查询系统和方
法。采用本发明,可以方便快捷地实现任意指定位
置的任意指定范围和附近位置的近似查询,适合
于高速、海量的位置匹配近似查询。
(51)Int.Cl.
权利要求书2页  说明书9页  附图3页
(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书2页  说明书9页  附图3页(10)申请公布号CN 103383682 A
*CN103383682A*
1.一种地理编码方法,其特征在于,所述方法包括:
a.确定地理位置;
b.确定第i编码精度;
c.进行第i种划分,将地球表面划分成多个子区域,并进行编号,对每个子区域继续划分编号,直至划分出的每个子区域与第i编码精度相关;
d.获取指定地理位置落入的相应子区域的编号并判断是否落在相应子区域的边界区域,编码得到一维的第i地理编码和第i边界标识;
b~d重复N次;
e.组合所述N个地理编码和边界标识;
其中,N为大于零的整数,i为1~N的整数。
2.根据权利要求1所述的地理编码方法,其特征在于,所述N种划分方式为:
将地球表面近似成一个二维平面;将二维平面进行第i种错位,再进行首次网格划分,并进行编号,之后对划分出的每个子格递归进行:第i种错位和网格划分,使得每个网格边长为其每个子格边长的m倍,并进行另一编号,直至划分出的每个子格边长近似等于第i编码精度;对各次划分,获取指定地理位置落入的子格的编号并判断是否落在子格的边界区域,对所得编号、边界标识进行压缩编码,得到一维的第i地理编码和边界标识;
其中,N为大于零的整数,i为1~N的整数,m为2~10的整数。
3.根据权利要求2所述的地理编码方法,其特征在于,所述对所得编号进行压缩编码的方式为:首次网格划分,经度、纬度编号各转化为一个字符,之后网格划分,经度、纬度编号合并转化为字符;所述对所得边界标识进行压缩编码的方式为:将各次边界标识依次按位拼接转化为字符。
4.根据权利要求1所述的地理编码方法,其特征在于,所述步骤b前进一步包括步骤:确定地区修正因子,根据地区修正因子调整编码精度。
5.一种位置查询系统,包括:输入模块,用于获取指定地理位置和查询范围;输出模块,用于给出指定
地理位置和查询范围的查询结果;其特在在于,所述系统进一步包括:编码模块,用于采用所述地理编码方法生成指定地理位置的所需编码精度的地理编码和边界标识;
数据存储模块,用于存储各地理位置的所需各编码精度的地理编码、边界标识和相关信息;
查询匹配模块,用于根据指定查询范围、边界标识确定查的相应编码精度和地理编码,在数据存储模块中查与指定地理位置同一编码精度的地理编码相同或相似的所有其它地理位置。
6.根据权利要求5所述的位置查询系统,其特征在于,所述位置查询系统包含于位置匹配系统、提供基于位置的服务的系统、地理信息系统或数据库系统。
7.根据权利要求5所述的位置查询系统,其特征在于,所述查采用对地理编码HASH、快速前缀匹配。
8.根据权利要求5所述的位置查询系统,其特征在于,所述查的相应编码精度是一个或多个编码精度。
9.一种位置查询方法,其特征在于,所述方法包括:
a.采用所述地理编码方法生成各地理位置的所需各编码精度的地理编码和边界标识并存储;
b.获取指定地理位置和查询范围;
c.根据指定地理位置和查询范围获取相应编码精度的地理编码和边界标识;
d.根据指定查询范围和边界标识确定查的相应编码精度;
e.查与指定地理位置同一编码精度的地理编码相同或相似的所有其它地理位置;
f.给出指定地理位置和查询范围的查询结果。
10.根据权利要求9所述的位置查询方法,其特征在于,所述步骤e中的查采用对地理编码HASH、快速前缀匹配。
11.一种位置查询方法,其特征在于,所述方法包括:
a.采用所述地理编码方法生成各地理位置的所需各编码精度的地理编码和边界标识并存储;
b.获取指定地理位置;
c.根据指定地理位置获取相应编码精度的地理编码和边界标识;
d.根据指定边界标识确定查的相应编码精度;
e.查与指定地理位置同一编码精度的地理编码相同或相似的所有其它地理位置;
f.给出指定地理位置的查询结果。
12.根据权利要求11所述的位置查询方法,其特征在于,所述步骤e中的查采用对地理编码HASH、快速前缀匹配。
一种地理编码方法、位置查询系统及方法
技术领域
[0001] 本发明涉及位置服务领域,特别地涉及一种地理编码方法、位置查询系统及方法。
背景技术
[0002] 位置服务(Location Based Services,LBS)指的是通过移动终端、卫星和移动网络的配合,确定用户的实际地理位置,从而为用户提供与位置相关的服务信息。地理编码(Geo-coding)又称地址匹配,是为识别点、线、面的位置和属性而设置的编码,它将全部实体按照预先拟定的分类系统,选择最适宜的量化方法,按实体的属性特征和集合坐标的数据结构记录在计算机的储存设备上。在位置服务中,地理编码的应用非常广泛,可用于空间索引、可进行查询排序统计、可作为URLs、可在地图中显示、还可识别信息中所包含的模式。目前常用的GIS软件和空间数据库都具备地理编码功能,例如,ArcGIS的Geocoding和MapInfo的MapMarker等。
[0003] geohash是一种地理编码,它把二维的经纬度编码成一维的字符串。其思想为先将地球看成一个二维平面,将二维平面坐标均分为4格,按照顺序进行编号,之后再对每个子格以同样的方式进行划分,得到另一编号,一直按照这个规则划分下去,最终编号越来越多,而子格越来越小,直到能表达坐标所需要的精度为止。而在划分之中得到的每个编号对应一维坐标之中的一段,这些编号最后可以编码成一个字符串。例如,上海新天地(31.21980 121.47516)的编码是wtw3s5rs82。geohash有以下几个特点:首先,geohash用一个字符串表示经度和纬度两个坐标,只需在一列上应用索引即可。其次,geohash表示的并不是一个点,而是一个矩形区域。例如编码wtw3s5rs82s,它表示的是一个矩形区域。第三,编码的前缀可以表示更大的区域。例如编码wtw3s5rs82,它的前缀wtw3s5rs8表示包含编码wtw3s5rs82在内的更大范围。NoSQL数据库MongoDB利用geohash进行地理位置索引,这也是全球流行的LBS服务Foursquare选择MongoDB的原因之一。
[0004] 但是,geohash也存在一些问题和限制:
在位置服务中,附近位置的查询往往对精确度有要求,但要求不严格,例如,搜索附近200米内的目标,搜到的目标实际距离为150米或220米对用户来说并没有多大区别,搜到的目标数多几个或少几个对用户来说也没多大问题,因此大多采用近似查询。由于geohash 的网格是4分的,各次划分间子格的边长呈2倍关系,跨度很大(例如,纬度第12~16次划分,子格边长分别为0.02197、0.01099、0.00549、0.00275、0.00137、0.00069度,这里保留5位小数),虽然利用前缀匹配可以进行附近位置的近似查询,
但却无法直接实现指定范围(例如,100米内、200米内、800米内,近似10000米/度)的近似查询。目前的解决方法是先指定一个深度,然后将指定范围所覆盖的所有子格全部出来,再逐个在这些子格内查,但这增加了近似查询的复杂性;深度越深,查询越精确,查询的复杂性也越高。
[0005] 根据geohash,赤道和本初子午线两侧的位置由于从一开始就处于不同的子格,因此即使两个位置很近,编码及前缀也完全不同,利用前缀匹配进行附近位置的近似查询无法查到。同样是因为划分问题,处于网格边界两侧的位置,即使两个位置很近,编码也不同,
利用前缀匹配进行附近位置的近似查询不一定查到。目前的解决方法是对当前子格周边8个子格都进行计算,但这增加了近似查询的复杂性。
发明内容
[0006] 有鉴于此,本发明的目的是提供一种地理编码方法和采用该地理编码方法的位置查询系统和方法,其可以方便快捷地实现任意指定位置的任意指定范围和附近位置的近似查询,并改善赤道/本初子午线问题、边界问题。
[0007] 为达到上述目的,本发明采用如下的技术方案:
一种地理编码方法,所述方法包括:
a.确定地理位置;
b.确定第i 编码精度;
c.进行第i种划分,将地球表面划分成多个子区域,并进行编号,对每个子区域继续划分编号,直至划分出的每个子区域与第i编码精度相关;
d.获取指定地理位置落入的相应子区域的编号并判断是否落在相应子区域的边界区域,编码得到一维的第i地理编码和第i边界标识;
b~d重复N次;
e.组合所述N个地理编码和边界标识;
其中,N为大于零的整数,i为1~N的整数。
[0008] 作为本发明的进一步改进,所述N种划分方式为:
将地球表面近似成一个二维平面;将二维平面进行第i种错位,再进行首次网格划分,并进行编号,之后对划分出的每个子格递归进行:第i种错位和网格划分,使得每个网格边长为其每个子格边长的m倍,并
进行另一编号,直至划分出的每个子格边长近似等于第i编码精度;对各次划分,获取指定地理位置落入的子格的编号并判断是否落在子格的边界区域,对所得编号、边界标识进行压缩编码,得到一维的第i地理编码和边界标识;
其中,N为大于零的整数,i为1~N的整数,m为2~10的整数。
[0009] 作为本发明的进一步改进,所述对所得编号进行压缩编码的方式为:首次网格划分,经度、纬度编号各转化为一个字符,之后网格划分,经度、纬度编号合并转化为字符;所述对所得边界标识进行压缩编码的方式为:将各次边界标识依次按位拼接转化为字符。[0010] 作为本发明的进一步改进,所述步骤b前进一步包括步骤:确定地区修正因子,根据地区修正因子调整编码精度。
[0011] 一种位置查询系统,包括:输入模块,用于获取指定地理位置和查询范围;输出模块,用于给出指定地理位置和查询范围的查询结果;所述系统进一步包括:编码模块,用于采用所述地理编码方法生成指定地理位置的所需编码精度的地理编码和边界标识;
数据存储模块,用于存储各地理位置的所需各编码精度的地理编码、边界标识和相关信息;
查询匹配模块,用于根据指定查询范围、边界标识确定查的相应编码精度和地理编码,在数据存储模块中查与指定地理位置同一编码精度的地理编码相同或相似的所有其它地理位置。

本文发布于:2024-09-20 20:28:55,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/772940.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:编码   地理   查询
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议