当前位置: 首页 > 专利查询>刘龙专利>正文

一种地理编码方法、位置查询系统及方法技术方案

技术编号:9312304 阅读:141 留言:0更新日期:2013-11-06 18:44
本发明专利技术公开了一种地理编码方法,包括:a.确定地理位置;b.确定第i编码精度;c.进行第i种划分,将地球表面划分成多个子区域,并进行编号,对每个子区域继续划分编号,直至划分出的每个子区域与第i编码精度相关;d.获取指定地理位置落入的相应子区域的编号并判断是否落在相应子区域的边界区域,编码得到一维的第i地理编码和第i边界标识;b~d重复N次;e.组合所述N个地理编码和边界标识。本发明专利技术还公开了一种采用所述地理编码方法的位置查询系统和方法。采用本发明专利技术,可以方便快捷地实现任意指定位置的任意指定范围和附近位置的近似查询,适合于高速、海量的位置匹配近似查询。

【技术实现步骤摘要】

本专利技术涉及位置服务领域,特别地涉及一种地理编码方法、位置查询系统及方法。 
技术介绍
位置服务(Location Based Services,LBS)指的是通过移动终端、卫星和移动网络的配合,确定用户的实际地理位置,从而为用户提供与位置相关的服务信息。地理编码(Geo-coding)又称地址匹配,是为识别点、线、面的位置和属性而设置的编码,它将全部实体按照预先拟定的分类系统,选择最适宜的量化方法,按实体的属性特征和集合坐标的数据结构记录在计算机的储存设备上。在位置服务中,地理编码的应用非常广泛,可用于空间索引、可进行查询排序统计、可作为URLs、可在地图中显示、还可识别信息中所包含的模式。目前常用的GIS软件和空间数据库都具备地理编码功能,例如,ArcGIS的Geocoding和MapInfo的MapMarker等。geohash是一种地理编码,它把二维的经纬度编码成一维的字符串。其思想为先将地球看成一个二维平面,将二维平面坐标均分为4格,按照顺序进行编号,之后再对每个子格以同样的方式进行划分,得到另一编号,一直按照这个规则划分下去,最终编号越来越多,而子格越来越小,直到能表达坐标所需要的精度为止。而在划分之中得到的每个编号对应一维坐标之中的一段,这些编号最后可以编码成一个字符串。例如,上海新天地(31.21980 121.47516)的编码是wtw3s5rs82。geohash有以下几个特点:首先,geohash用一个字符串表示经度和纬度两个坐标,只需在一列上应用索引即可。其次,geohash表示的并不是一个点,而是一个矩形区域。例如编码wtw3s5rs82s,它表示的是一个矩形区域。第三,编码的前缀可以表示更大的区域。例如编码wtw3s5rs82,它的前缀wtw3s5rs8表示包含编码wtw3s5rs82在内的更大范围。NoSQL数据库MongoDB利用geohash进行地理位置索引,这也是全球流行的LBS服务Foursquare选择MongoDB的原因之一。但是,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米/度)的近似查询。目前的解决方法是先指定一个深度,然后将指定范围所覆盖的所有子格全部找出来,再逐个在这些子格内查找,但这增加了近似查询的复杂性;深度越深,查询越精确,查询的复杂性也越高。根据geohash,赤道和本初子午线两侧的位置由于从一开始就处于不同的子格,因此即使两个位置很近,编码及前缀也完全不同,利用前缀匹配进行附近位置的近似查询无法查到。同样是因为划分问题,处于网格边界两侧的位置,即使两个位置很近,编码也不同,利用前缀匹配进行附近位置的近似查询不一定查到。目前的解决方法是对当前子格周边8个子格都进行计算,但这增加了近似查询的复杂性。 
技术实现思路
有鉴于此,本专利技术的目的是提供一种地理编码方法和采用该地理编码方法的位置查询系统和方法,其可以方便快捷地实现任意指定位置的任意指定范围和附近位置的近似查询,并改善赤道/本初子午线问题、边界问题。为达到上述目的,本专利技术采用如下的技术方案:    一种地理编码方法,所述方法包括:a.确定地理位置;b.确定第i 编码精度;c.进行第i种划分,将地球表面划分成多个子区域,并进行编号,对每个子区域继续划分编号,直至划分出的每个子区域与第i编码精度相关;d.获取指定地理位置落入的相应子区域的编号并判断是否落在相应子区域的边界区域,编码得到一维的第i地理编码和第i边界标识;b~d重复N次;e.组合所述N个地理编码和边界标识;    其中,N为大于零的整数,i为1~N的整数。作为本专利技术的进一步改进,所述N种划分方式为:将地球表面近似成一个二维平面;将二维平面进行第i种错位,再进行首次网格划分,并进行编号,之后对划分出的每个子格递归进行:第i种错位和网格划分,使得每个网格边长为其每个子格边长的m倍,并进行另一编号,直至划分出的每个子格边长近似等于第i编码精度;对各次划分,获取指定地理位置落入的子格的编号并判断是否落在子格的边界区域,对所得编号、边界标识进行压缩编码,得到一维的第i地理编码和边界标识;其中,N为大于零的整数,i为1~N的整数,m为2~10的整数。作为本专利技术的进一步改进,所述对所得编号进行压缩编码的方式为:首次网格划分,经度、纬度编号各转化为一个字符,之后网格划分,经度、纬度编号合并转化为字符;所述对所得边界标识进行压缩编码的方式为:将各次边界标识依次按位拼接转化为字符。作为本专利技术的进一步改进,所述步骤b前进一步包括步骤:确定地区修正因子,根据地区修正因子调整编码精度。一种位置查询系统,包括:输入模块,用于获取指定地理位置和查询范围;输出模块,用于给出指定地理位置和查询范围的查询结果;所述系统进一步包括:编码模块,用于采用所述地理编码方法生成指定地理位置的所需编码精度的地理编码和边界标识;数据存储模块,用于存储各地理位置的所需各编码精度的地理编码、边界标识和相关信息;查询匹配模块,用于根据指定查询范围、边界标识确定查找的相应编码精度和地理编码,在数据存储模块中查找与指定地理位置同一编码精度的地理编码相同或相似的所有其它地理位置。作为本专利技术的进一步改进,所述位置查询系统包含于位置匹配系统、提供基于位置的服务的系统、地理信息系统(GIS)或数据库系统。作为本专利技术的进一步改进,所述查找采用对地理编码HASH、快速前缀匹配。作为本专利技术的进一步改进,所述查找的相应编码精度是一个或多个编码精度。一种位置查询方法,所述方法包括:a.采用所述地理编码方法生成各地理位置的所需各编码精度的地理编码和边界标识并存储;b.获取指定地理位置和查询范围;c.根据指定地理位置和查询范围获取相应编码精度的地理编码和边界标识;d.根据指定查询范围和边界标识确定查找的相应编码精度;e.查找与指定地理位置同一编码精度的地理编码相同或相似的所有其它地理位置;f.给出指定地理位置和查询范围的查询结果。作为本专利技术的进一步改进,所述步骤e中的查找采用对地理编码HASH、快速前缀匹配。一种位置查询方法,所述方法包括:a.采用所述地理编码方法生成各地理位置的所需各编码精度的地理编码和边界本文档来自技高网
...
一种地理编码方法、位置查询系统及方法

【技术保护点】
一种地理编码方法,其特征在于,所述方法包括:a.确定地理位置;b.确定第i编码精度;c.进行第i种划分,将地球表面划分成多个子区域,并进行编号,对每个子区域继续划分编号,直至划分出的每个子区域与第i编码精度相关;d.获取指定地理位置落入的相应子区域的编号并判断是否落在相应子区域的边界区域,编码得到一维的第i地理编码和第i边界标识;b~d重复N次;e.组合所述N个地理编码和边界标识;????其中,N为大于零的整数,i为1~N的整数。

【技术特征摘要】
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.一种位置查询系统,包括:输入模块,用于获取指定地理位置和查询范围;输出模块,用于给出指定地理位置和查询范围的查询结果;其特在在于,所述系统进一步包括:
编码模块,用于采用所述地理编码方法生成指定地理位置的所需编码精度的地理编码和边界标识;
数据存储模块...

【专利技术属性】
技术研发人员:刘龙
申请(专利权)人:刘龙
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1