一种查询周围地理位置信息的方法及装置制造方法

文档序号:6521270阅读:198来源:国知局
一种查询周围地理位置信息的方法及装置制造方法
【专利摘要】本发明公开了一种查询周围地理位置信息的方法及装置,所述方法包括:获取用户输入的查询请求中的经度坐标值和纬度坐标值;将所述经度坐标值和纬度坐标值的各数值位,按照设定规则合并,成为目标字符串;将所述目标字符串与数据库中存储坐标点的字符串的对应数值位进行比较,以获得查询结果。本发明能够提高在数据库中查询周围地理位置信息的效率。
【专利说明】—种查询周围地理位置信息的方法及装置
【技术领域】
[0001]本发明涉及数据查询【技术领域】,尤其涉及一种查询周围地理位置信息的方法及装置。
【背景技术】
[0002]地理位置信息是用来表示地球上任意地点的信息,常见的表示方式为经纬度。经 纬度是经度和纬度的合称,它是一种利用三维空间的球面来定义地球上的空间的球面坐标 系统,能够表示地球上的任何一个位置。经度是地球上一个地点距离本初子午线以东或以 西的度数。本初子午线的经度是0度,东经一般写为正数,西经一般写为负数。纬度是某点 与地球球心的连线和地球赤道面所成的线面角,其数值在0到90度之间。位于赤道以北的 点的纬度叫北纬,位于赤道以南的点的纬度叫南纬。北纬一般写为正数,南纬一般写为负 数。比如X=-73,Y=40表示西经73度,北纬40.6度。
[0003]在现有技术中经纬度的存储方法是在数据库中,将经度存储在一列,将纬度存储 在一列,由两个数值表示一个坐标点。查询周围地理位置信息的方法是在数据库中通过 用户给定的一个坐标点(X,Y)和一个范围来查找这个范围内所有的坐标点,此坐标范围通 常可由一坐标信息来表示,例如,东经45.6,北纬14.2,通常表示东经45.60-45.69,北纬 14.20-14.29的范围。在查询过程中,需要对于数据库中的每一个坐标点进行两次匹配。首 先,从数据库中取出一列坐标点的经度值,将目标经度X在此列经度值中进行匹配。如果经 度值匹配成功,进一步,取出对应的纬度值,将目标纬度Y在此列纬度值中进行匹配,如果 纬度值匹配成功,则坐标点匹配成功。按照上述方法就能找到这个范围内所有的坐标点。
[0004]但是,现有技术的查询周围地理位置信息的方法的查询效率较低。

【发明内容】

[0005]本发明的目的在于提出一种查询周围地理位置信息的方法及装置,以解决在数据 库中查询周围地理位置信息效率较低的问题。
[0006]本发明提供了一种查询周围地理位置信息的方法,所述方法包括:
[0007]获取用户输入的查询请求中的经度坐标值和纬度坐标值;
[0008]将所述经度坐标值和纬度坐标值的各数值位,按照设定规则合并,成为目标字符 串;
[0009]将所述目标字符串与数据库中存储坐标点的字符串的对应数值位进行比较,以获 得查询结果。
[0010]对应地,本发明还提出了一种查询周围地理位置信息的装置,所述装置包括:
[0011]获取模块,用于获取用户输入的查询请求中的经度坐标值和纬度坐标值;
[0012]合并模块,用于将所述经度坐标值和纬度坐标值的各数值位,按照设定规则合并, 成为目标字符串;
[0013]比较模块,用于将所述目标字符串与数据库中存储坐标点的字符串的对应数值位进行比较,以获得查询结果。
[0014]本发明提出了一种查询周围地理位置信息的方法和装置,通过将地理位置信息的 经度坐标值和纬度坐标值合并为一个字符串的形式,能够通过一次匹配查询出周围的所有 地理位置信息,提高了在数据库中查询周围地理位置信息的效率。
【专利附图】

【附图说明】
[0015]图1是本发明第一实施例提供的查询周围地理位置信息的方法的实现流程图;
[0016]图2是本发明第二实施例提供的查询周围地理位置信息的装置的结构示意图。
【具体实施方式】
[0017]为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面 结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施 例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图 中仅示出了与本发明相关的部分而非全部内容。下面结合附图并通过【具体实施方式】来进一 步说明本发明的技术方案。
[0018]实施例一
[0019]图1是本发明第一实施例提供的查询周围地理位置信息的方法的实现流程图。本 发明实施例提供的方法可以由本发明实施例提供的查询周围地理位置信息的装置来执行, 该装置可以由软件和/或硬件来实现。如图1所示,本发明实施例提供的方法包括:
[0020]步骤101、获取用户输入的查询请求中的经度坐标值和纬度坐标值。
[0021]例如,用户要查询坐标信息为东经57.64911度,北纬10.40744度的地理位置的在 一定周围范围的所有点,则获取用户的查询请求中的经度坐标值为57.64911,纬度坐标值 为 10.40744。
[0022]步骤102、将所述经度坐标值和纬度坐标值的各数值位,按照设定规则合并,成为 目标字符串。
[0023]其中,经度坐标值和纬度坐标值的各数值可以是十进制数值,也可以将十进制数 值转化为二进制数值或十六进制数值。所述合并的规则优选为将所述经度坐标值和纬度坐 标值的各数值位,隔位交叉合并,但并不限于此,例如也可以是将经度值在前,纬度值在后。 数据库中坐标点的经度值和纬度值采用同样的规则进行合并来存储。
[0024]步骤103、将所述目标字符串与数据库中存储坐标点的字符串的对应数值位进行 比较,以获得查询结果。
[0025]其中,在数据库中取出一坐标点的字符串,将所述字符串与目标字符串进行比较, 如果所述字符串的对应数值位与目标字符串相匹配,则所述字符串与目标字符串匹配成 功。按照上述方法就能找到用户要查询的所有坐标点。
[0026]上述方案的有益效果是通过将用户查询请求中的经度坐标值和纬度坐标值转化 为目标字符串的形式,能够通过一次匹配查询出用户要查询的所有点。
[0027]进一步的,将所述经度坐标值和纬度坐标值的各数值位,按照设定规则合并,成为 目标字符串优选包括:将所述经度坐标值和纬度坐标值的各数值位,隔位交叉合并,成为目 标字符串,相应地,将所述目标字符串与数据库中存储坐标点的字符串的对应数值位进行比较包括:从数据库中存储坐标点的字符串的最高位开始,与所述目标字符串进行比较。
[0028]上述隔位交叉的好处在于,由于经度值和纬度值隔位交叉设置,所以可以从高位 开始,同时比较经度值和纬度值。
[0029]在上述方案中,优选是,将所述经度坐标值和纬度坐标值的各数值位,隔位交叉合 并,成为目标字符串之前,还包括:将所述经度坐标值和纬度坐标值分别转换为二进制数值。
[0030]优选是,将所述目标字符串与数据库中存储坐标点的字符串的对应数值位进行比 较之前,还包括:将数据库中以字符形式存储的坐标点字符串的各字符转换为二进制数值。
[0031]经度值和纬度值合并后的字符串,自高位开始表示一定的范围,越低的位数,则精 度越高,限定的范围越小。而二进制可将每位所限定的范围最大的精细化,因为十进制相当 于把一个范围十等分,二进制相当于把每个范围二等分,所以每个二进制位的数值能将范 围缩小至二分之一来查询,十进制需缩小至十分之一来查询,因此二进制每个位数的数值 表达的范围更精确。
[0032]优选是,将所述目标字符串与数据库中存储坐标点的字符串的对应数值位进行比 较之前,还包括:根据所述查询请求中的待查询范围值确定所述范围对应的低位数量;将 所述目标字符串的所述低位数量的低位值删除。
[0033]由前述方案可知,隔位交叉字符串中,每个数值位代表一定的范围,位数越高,则 确定的范围越大,低位值将在高位值的范围内继续缩小范围。所以,本实施例的方案可以基 于待查询的范围大小确定应比较的高数位,从而将低位的数值给删除,以减少在数据库中 的比对量。
[0034]本实施例提供的查询周围地理位置信息的方法,通过将地理位置信息的经度坐标 值和纬度坐标轴转化为目标字符串的形式,能够通过一次匹配查询出周围的所有地理位置 信息,提高了在数据库中查询周围地理位置信息的效率。
[0035]下面通过实例进行说明,数据库中的坐标点,均以字母字符串进行存储,以减小存 储空间。以ezs42为例,将相应的字母替换为十六进制数字。再将十六进制数字转换为二进 制数字。得到东经(0111110000000),北纬(101111001001)。每一个二进制数字表示对范围 的一次二等分。从第一个比特到最后一个比特,每一个比特表示对上一次划分产生的区域 进行一次二等分。以纬度距离,第一个比特将-90度到90度之间等分。0表示-90度到0 度,I表示0度到90度。对每个比特一次进行上述过程。四842对应的坐标即是西经-5.6 度,北纬42.6度。数据库中的坐标点均按照上述规则进行存储。
[0036]待查询的坐标信息为东经116.3906度,北纬39.92324度。东经116.3906度 用二进制数值表示为11010010110001000100,北纬39.92324度用二进制数值表示为 10111000110001111001。将经度坐标值和纬度坐标值隔位交叉合并,奇数位是纬度,偶数位 是经度,得到合并后的二进制数值1110011101001000111100000011010101100001。可以将 二进制数与数据库中坐标点转化而成的二进制数进行比对,以查询坐标点是否位于待查询 的位置范围内。或者,也可将合并后的二进制数值转化为十六进制数值,再转换为字母字符 串,得到wx4g0eCl。将字符串与数据库中字符串进行比对。各种制式的字符串,均可以确定 仅比较设定的前几位前缀,来确定范围。
[0037]实施例二[0038]图2是本发明第二实施例提供的查询周围地理位置信息的装置的结构示意图。如 图2所示,本发明实施例提供的装置包括:获取模块201、合并模块202和比较模块203。
[0039]其中,所述获取模块201,用于获取用户输入的查询请求中的经度坐标值和纬度坐 标值。所述合并模块202,用于将所述经度坐标值和纬度坐标值的各数值位,按照设定规则 合并,成为目标字符串。所述比较模块203,用于将所述目标字符串与数据库中存储坐标点 的字符串的对应数值位进行比较,以获得查询结果。
[0040]在上述方案中,利用合并模块202将用户查询请求中的经度坐标值和纬度坐标值 转化为目标字符串,再通过比较模块203将所述目标字符串与数据库中存储坐标点的字符 串的对应数值位进行比较,以获得查询结果,能够通过一次匹配查询出用户要查询的所有 坐标点。
[0041]进一步的,所述合并模块具体用于:将所述经度坐标值和纬度坐标值的各数值位, 隔位交叉合并,成为目标字符串,相应地,所述比较模块具体用于:从数据库中存储坐标点 的字符串的最高位开始,与所述目标字符串进行比较。
[0042]在上述方案中,优选是,还包括第一转换模块和第二转换模块。
[0043]其中,所述第一转换模块用于将所述经度坐标值和纬度坐标值的各数值位,隔位 交叉合并,成为目标字符串之前,将所述经度坐标值和纬度坐标值分别转换为二进制数值; 所述第二转换模块用于将所述目标字符串与数据库中存储坐标点的字符串的对应数值位 进行比较之前,将数据库中以字符形式存储的坐标点字符串的各字符转换为二进制数值。
[0044]优选是,还包括低位删除模块。
[0045]其中,所述确定模块低位删除模块,用于将所述目标字符串与数据库中存储坐标 点的字符串的对应数值位进行比较之前,根据所述查询请求中的待查询范围值确定所述范 围对应的低位数量;将所述目标字符串的所述低位数量的低位值删除。
[0046]本实施例提供的查询周围地理位置信息的装置,利用合并模块将用户查询请求中 的经度坐标值和纬度坐标值转化为目标字符串,再通过比较模块将所述目标字符串与数据 库中存储坐标点的字符串的对应数值位进行比较,能够通过一次匹配查询出用户要查询的 所有地理位置信息,提高了在数据库中查询周围地理位置信息的效率。
[0047]本实施例提供的查询周围地理位置信息的装置用于执行本发明任意实施例提供 的查询周围地理位置信息的方法,具备相应的功能模块,达到相同的技术效果,在装置实施 例中未详述的内容参考方法实施例。
[0048]注意,上述内容仅为本发明的较佳实施例。本领域技术人员会理解,本发明不限于 这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替 代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的 说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多 其它等效实施例,而本发明的范围由所附的权利要求范围决定。
【权利要求】
1.一种查询周围地理位置信息的方法,其特征在于,包括:获取用户输入的查询请求中的经度坐标值和纬度坐标值;将所述经度坐标值和纬度坐标值的各数值位,按照设定规则合并,成为目标字符串; 将所述目标字符串与数据库中存储坐标点的字符串的对应数值位进行比较,以获得查询结果。
2.根据权利要求1所述的方法,其特征在于:将所述经度坐标值和纬度坐标值的各数值位,按照设定规则合并,成为目标字符串包括:将所述经度坐标值和纬度坐标值的各数值位,隔位交叉合并,成为目标字符串,相应地,将所述目标字符串与数据库中存储坐标点的字符串的对应数值位进行比较包括:从数据库中存储坐标点的字符串的最高位开始,与所述目标字符串进行比较。
3.根据权利要求1所述的方法,其特征在于:将所述经度坐标值和纬度坐标值的各数值位,隔位交叉合并,成为目标字符串之前,还包括:将所述经度坐标值和纬度坐标值分别转换为二进制数值;将所述目标字符串与数据库中存储坐标点的字符串的对应数值位进行比较之前,还包括:将数据库中以字符形式存储的坐标点字符串的各字符转换为二进制数值。
4.根据权利要求1-3任一项所述的方法,其特征在于,将所述目标字符串与数据库中存储坐标点的字符串的对应数值位进行比较之前,还包括:根据所述查询请求中的待查询范围值确定所述范围对应的低位数量;`将所述目标字符串的所述低位数量的低位值删除。
5.一种查询周围地理位置信息的装置,其特征在于,包括:获取模块,用于获取用户输入的查询请求中的经度坐标值和纬度坐标值;合并模块,用于将所述经度坐标值和纬度坐标值的各数值位,按照设定规则合并,成为目标字符串;比较模块,用于将所述目标字符串与数据库中存储坐标点的字符串的对应数值位进行比较,以获得查询结果。
6.根据权利要求5所述的装置,其特征在于:所述合并模块具体用于:将所述经度坐标值和纬度坐标值的各数值位,隔位交叉合并, 成为目标字符串,相应地,所述比较模块具体用于:从数据库中存储坐标点的字符串的最高位开始,与所述目标字符串进行比较。
7.根据权利要求5所述的装置,其特征在于,还包括:第一转换模块,用于将所述经度坐标值和纬度坐标值的各数值位,隔位交叉合并,成为目标字符串之前,将所述经度坐标值和纬度坐标值分别转换为二进制数值;第二转换模块,用于将所述目标字符串与数据库中存储坐标点的字符串的对应数值位进行比较之前,将数据库中以字符形式存储的坐标点字符串的各字符转换为二进制数值。
8.根据权利要求5-7任一项所述的装置,其特征在于,还包括:低位删除模块,用于将所述目标字符串与数据库中存储坐标点的字符串的对应数值位进行比较之前,根据所述查询请求中的待查询范围值确定所述范围对应的低位数量;将所述目标字符串的所述低位数量的低位值删除。
【文档编号】G06F17/30GK103605775SQ201310625985
【公开日】2014年2月26日 申请日期:2013年11月28日 优先权日:2013年11月28日
【发明者】杨乃君 申请人:北京锐安科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1