地理位置检索方法和装置与流程

文档序号:12124285阅读:490来源:国知局
地理位置检索方法和装置与流程

本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及用于检索地理位置的方法和装置。



背景技术:

地理位置检索,是根据输入的地理位置,以输入的地理位置为中心的一定范围内的地理位置检索,通过地理位置检索,可以快速定位需要寻找的地理位置。地理位置可以为某个建筑物的名字,也可以为某一街道的门牌号,还可以为用户的共享位置。该输入的地理位置可以特定的位置,也可以为非特定位置。地图上的单元网格,是将预先设定的地图按平面坐标或者按经纬度划分网格,以网格为单位,描述地图中的属性分类、统计分级等。

现有的地理位置检索,通常是遍历整个数据库,逐条计算数据库中的地理位置与输入的地理位置之间的距离来进行地理位置检索,或者根据输入的地理位置的经纬度信息,根据该经纬度信息确定一定范围内的地理位置,从而进行地理位置检索,此地理位置检索的方式检索速度较慢,且难以准确定位。



技术实现要素:

本申请的目的在于提出一种改进的用于检索地里位置的方法和装置,来解决以上背景技术部分提到的技术问题。

第一方面,本申请提供了一种用于检索地里位置的方法,所述方法包括:将预设的地图划分为多个连续的单元网格,所述预设的地图包括多个建筑物的地理坐标,记录各所述单元网格所包含的建筑物的地理坐标以及各所述单元网格的多个顶点的地理坐标;获取输入的地理位置,确定所述输入的地理位置的第一地理坐标,并将所述第一地理坐标与各所述单元网格所包含的地理坐标比较,确定所述第一地理坐标所属的单元网格;将所述第一地理坐标所属的单元网格作为目标单元网格,执行如下检索步骤:根据所述目标单元网格的多个顶点的地理坐标及所述第一地理坐标,确定所述目标单元网格的各顶点与所述输入的地理位置之间的多个距离;将所述多个距离与预设的距离相比较,检测所述多个距离是否均大于所述预设的距离;响应于所述多个距离均大于所述预设的距离,则输出检索范围内的地理坐标至终端,所述检索范围由所述输入的地理位置与所述预设的距离确定;响应于所述多个距离中至少一个距离小于所述检索距离,则输出所述目标单元网格与所述检索范围重叠部分内的地理坐标至终端,并将与所述目标单元网格相邻的单元网格作为目标单元网格,继续执行所述检索步骤。

在一些实施例中,所述响应于所述多个距离均大于所述预设的距离,则输出检索范围内的地理坐标至终端,所述检索范围由所述输入的地理位置与所述预设的距离确定,包括:提取所述目标单元网格内的建筑物的地理坐标,依次确定所述目标单元网格内的建筑物的地理坐标与所述第一地理坐标之间的距离,并分别与所述预设的距离比较,输出所述目标单元网格内与所述第一地理坐标的距离小于或等于所述预设的距离的建筑物的地理坐标。

在一些实施例中,所述将预设的地图划分为多个连续的单元网格,所述预设的地图包括多个建筑物的地理坐标,记录各所述单元网格所包含的建筑物的地理坐标以及各所述单元网格的多个顶点的地理坐标,包括:将所述单元网格与所述预设的地图上的各建筑物的地理坐标分别预置标签,根据各所述单元网格的预置标签,建立网格索引,记为第一索引;根据所述预设的地图的各建筑物的地理坐标的标签,建立各建筑物的地理坐标索引,记为第二索引;根据各所述单元网格与建筑物的地理坐标的对应关系,建立单元网格与建筑物的地理坐标之间的索引,记为第三索引。

在一些实施例中,所述将预设的地图划分为多个连续的单元网格,所述预设的地图包括多个建筑物的地理坐标,记录各所述单元网格所包含的建筑物的地理坐标以及各所述单元网格的多个顶点的地理坐标,包括:实时检测所述预设的地图中是否增加新的地理坐标,当检测到所述预设的地图中增加新的地理坐标时,将所述新的地理坐标与各所述单元网格的各所述顶点的地理坐标比较,并将所述新的地理坐标添加至对应的单元网格中,并更新所述第二索引以及所述第三索引。

在一些实施例中,所述将预设的地图划分为多个连续的单元网格,所述预设的地图包括多个建筑物的地理坐标,记录各所述单元网格所包含的建筑物的地理坐标以及各所述单元网格的多个顶点的地理坐标,包括:当检测到原有的地理坐标发生变更时,判断变更后的地理坐标是否在所述原有的地理坐标所属的单元网格内;响应于变更后的地理坐标在所述原有的地理坐标所属的单元网格内,将所述原有的地理坐标变更为新的地理坐标;响应于变更后的地理坐标不在所述原有的地理坐标所属的单元网格内,将所述原有的地理坐标从其所属的单元网格中删除,并将所述新的地理坐标添加至与新的地理位置对应的网格,并更新所述第一索引、所述第二索引以及所述第三索引。

在一些实施例中,所述将地图划分为多个连续的单元网格,并记录各所述单元网格所包含的地理坐标以及各所述单元网格的边界值,包括:当所述预设的地图上各建筑物的地理位置位于两个或多个所述单元网格的共同顶点或共同的边界处时,将位于所述共同顶点或共同边界处的所述各建筑物的地理坐标单元记录。

在一些实施例中,所述预设的地图还包括各建筑物的主题信息,所述建筑物的主题信息与所述建筑物的地里坐标存在一一对应的关系,所述主题信息包括以下至少一项:所述建筑物的名字,所述建筑物所属的类别;以及所述方法还包括:获取输入的主题信息;对所述输入的主题信息进行解析,确定所述输入的主题信息所包含的关键词;将所述关键词与所述检索范围内的各建筑物的主题信息匹配,根据匹配信息,向终端输出所述检索范围内与所述输入的主题信息匹配的建筑物的地里坐标。

在一些实施例中,所述与所述目标单元网格相邻的单元网格包括:与所述目标单元网格有共同顶点的单元网格和/或与所述目标单元网格有共同的边界的单元网格。

在一些实施例中,各所述单元网格为矩形网格,各所述单元网格的顶点的地理坐标包括各所述单元网格的四个顶点的地理坐标,以及

所述根据所述目标单元网格的顶点的地理坐标,确定所述目标单元网格的顶点与所述当前地理位置的距离,包括:依次确定所述当前地理位置与所述目标单元网格的四个顶点的距离。

第二方面,本申请提供了一种检索地理位置的装置,所述装置包括:划分单元,配置用于将预设的地图划分为多个连续的单元网格,所述预设的地图包括多个建筑物的地理坐标,记录各所述单元网格所包含的建筑物的地理坐标以及各所述单元网格的多个顶点的地理坐标;第一获取单元,配置用于获取输入的地理位置,确定所述输入的地理位置的第一地理坐标,并将所述第一地理坐标与各所述单元网格所包含的地理坐标比较,确定所述第一地理坐标所属的单元网格;检索单元,配置用于将所述第一地理坐标所属的单元网格作为目标单元网格,顺序执行如下检索子单元:确定子单元,配置用于根据所述目标单元网格的多个顶点的地理坐标及所述第一地理坐标,确定所述目标单元网格的各顶点与所述输入的地理位置之间的多个距离;检测子单元,配置用于将所述多个距离与预设的距离相比较,检测所述多个距离是否均大于所述预设的距离;输出子单元,配置用于响应于所述多个距离均大于所述预设的距离,则输出检索范围内的地理坐标至终端,所述检索范围由所述输入的地理位置与所述预设的距离确定;反馈单元,配置用于响应于所述多个距离中至少一个距离小于所述检索距离,则输出所述目标单元网格与所述检索范围重叠部分内的地理坐标至终端,并将与所述目标单元网格相邻的单元网格作为目标单元网格反馈给所述检索单元。

在一些实施例中,所述输出子单元配置进一步用于:提取所述目标单元网格内的建筑物的地理坐标,依次确定所述目标单元网格内的建筑物的地理坐标与所述第一地理坐标之间的距离,并分别与所述预设的距离比较,输出所述目标单元网格内与所述第一地理坐标的距离小于或等于所述预设的距离的建筑物的地理坐标。

在一些实施例中,所述划分单元包括:索引建立子单元,配置用于将所述单元网格与所述预设的地图上的各建筑物的地理坐标分别预置标签,根据各所述单元网格的预置标签,建立网格索引,记为第一索引;根据所述预设的地图的各建筑物的地理坐标的标签,建立各建筑物的地理坐标索引,记为第二索引;根据各所述单元网格与建筑物的地理坐标的对应关系,建立单元网格与建筑物的地理坐标之间的索引,记为第三索引。

在一些实施例中,所述划分单元包括:比较子单元,配置用于实时检测所述预设的地图中是否增加新的地理坐标,当检测到所述预设的地图中增加新的地理坐标时,将所述新的地理坐标与各所述单元网格的各所述顶点的地理坐标比较,并将所述新的地理坐标添加至对应的单元网格中,并更新所述第二索引以及所述第三索引。

在一些实施例中,所述划分单元包括:判断子单元,配置用于当检测到原有的地理坐标发生变更时,判断变更后的地理坐标是否在所述原有的地理坐标所属的单元网格内;信息变更子单元,配置用于响应于变更后的地理坐标在所述原有的地理坐标所属的单元网格内,将所述原有的地理坐标变更为新的地理坐标;更新子单元,配置用于响应于变更后的地理坐标不在所述原有的地理坐标所属的单元网格内,将所述原有的地理坐标从其所属的单元网格中删除,并将所述新的地理坐标添加至与新的地理位置对应的网格,并更新所述第一索引、所述第二索引以及所述第三索引。

在一些实施例中,所述划分子单元配置进一步用于:当所述预设的地图上各建筑物的地理位置位于两个或多个所述单元网格的共同顶点或共同的边界处时,将位于所述共同顶点或共同边界处的所述各建筑物的地理坐标单元记录。

在一些实施例中,所述预设的地图还包括各建筑物的主题信息,所述建筑物的主题信息与所述建筑物的地里坐标存在一一对应的关系,所述主题信息包括以下至少一项:所述建筑物的名字,所述建筑物所属的类别;以及所述装置还包括:第二获取单元,配置用于获取输入的主题信息;解析单元,配置用于对所述输入的主题信息进行解析,确定所述输入的主题信息所包含的关键词;匹配单元,配置用于将所述关键词与所述检索范围内的各建筑物的主题信息匹配,根据匹配信息,向终端输出所述检索范围内与所述输入的主题信息匹配的建筑物的地里坐标。

在一些实施例中,所述与所述目标单元网格相邻的单元网格包括:与所述目标单元网格有共同顶点的单元网格和/或与所述目标单元网格有共同的边界的单元网格。

在一些实施例中,各所述单元网格为矩形网格,各所述单元网格的顶点的地理坐标包括各所述单元网格的四个顶点的地理坐标,以及所述确定子单元配置进一步用于:依次确定所述当前地理位置与所述目标单元网格的四个顶点的距离。

本申请提供的用于检索地理位置的方法和装置,通过将预先设定的地图划分为多个连续的单元网格,而后根据输入的地里位置信息,确定该地里位置信息对应的地理坐标,并根据预先设定的检索距离,确定在输入的地理位置范围内的各建物的地里坐标并将该坐标发送至终端服务器,从而根据划分的网格,利用输入位置所属的网格以及周围网格的检索方式,快速检索出地图上需要检索的建筑物的地理位置。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1是本申请可以应用于其中的示例性系统架构图;

图2是根据本申请的用于检索地理位置的方法的一个实施例的流程图;

图3是根据本申请的用于检索地理位置的方法的一个应用场景的示意图;

图4是根据本申请的用于检索地理位置的方法的又一个实施例的流程图;

图5是根据本申请的用于检索地理位置的装置的一个实施例的结构示意图;

图6是适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图1示出了可以应用本申请的网页生成方法或网页生成装置的实施例的示例性系统架构100。

如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、搜索类应用、地图类应用、即时通讯工具、社交平台软件等可以进行信息输入且支持地理位置查询、具有定位功能的应用。

终端设备101、102、103可以是具有显示屏并且支持信息输入、同时可以查看电子地图的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。

服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的地图、地理位置信息等提供支持的后台网页服务器。后台服务器可以对接收到的地理位置进行分析,确定地理位置的地理坐标,并根据该地理坐标针对预先设定的地图网格信息进行分析处理,并将处理结果返回给终端设备。

需要说明的是,本申请实施例所提供的网页生成方法一般由服务器105执行,相应地,网页生成装置一般设置于服务器105中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

继续参考图2,示出了根据本申请的用于检索地理位置的方法的一个实施例的流程200。所述的用于检索地理位置的方法,包括以下步骤:

步骤201,将预设的地图划分为多个连续的单元网格,预设的地图包括多个建筑物的地理坐标,记录各单元网格所包含的建筑物的地理坐标以及各单元网格的多个顶点的地理坐标。

在本实施例中,用于检索地理位置的方法运行于其上的电子设备(例如图1所示的服务器)中预先设置有地图,该地图可以为某个国家的地图,可以为某个地区的地图,例如可以为华东地区、华南地区、华北地区的地图,可以为某一省的地图,也可以为某一市区的地图等等,在预设的地图上有多个建筑物的地理坐标,该地理坐标为该建筑物的经纬度坐标,其中,建筑物可以为银行、大厦、写字楼、超市、学校、商店、购物中心等等。服务器首先可以将预设的地图划分为多个连续的单元网格,该单元网格的面积的大小可以根据单元网格与预设的地图的比例进行预先设定,预设的地图上的各单元网格的面积的大小可以相同,也可以不同,单元网格可以根据地理位置的经纬度进行划分。上述各单元网格的形状为多边形,即可以为四边形,六边形等。

在本实施例中,将预先设定的地图划分好单元网格后,每个单元网格内包含多个建筑物,服务器可以记录各个单元网格中所包含的上述预设地图上的建筑物的地理坐标,同时记录上述单元网格中每个单元网格的各个顶点的地理坐标。

在本实施例的一些可选的实现方式中,对于上述预设的地图上各建筑物的地理坐标处于两个或者多个单元网格的公共的顶点处或者公共的边界处时,服务器可以将处于上述公共顶点处或者处于公共边界处的地理坐标进行单独记录。

步骤202,获取输入的地理位置,确定输入的地理位置的第一地理坐标,并将第一地理坐标与各单元网格所包含的地理坐标比较,确定第一地理坐标所属的单元网格。

在本实施例中,用于检索地理位置的方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式从用户利用其进行地理位置输入的终端获取用户输入的地理位置。服务器根据用户输入的地理位置的信息,确定输入的地理位置的第一地理坐标,并将该第一地理坐标与上述每一个单元网格所包含的地理坐标进行比较,即可以将第一地理坐标的经纬度坐标与步骤201中确定的各个单元网格的顶点的经纬度坐标进行比较,确定该第一地理坐标所属的单元网格。在此可以理解的是,上述各单元网格会覆盖上述预设的地图上一定的面积范围,该范围界限由单元网格的各顶点的经纬度坐标来限定。将该第一地理坐标与所属的单元网格的各个建筑物的经纬度坐标进行匹配,确定上述地理位置在其所属的单元网格内的位置。

步骤203,将第一地理坐标所属的单元网格作为目标单元网格,执行以下步骤:

步骤2031,根据目标单元网格的多个顶点的地理坐标及第一地理坐标,确定目标单元网格的各顶点与输入的地理位置之间的多个距离。

在本实施例中,根据步骤202中确定的第一地理坐标所在的单元网格的位置以及步骤201中确定的各个单元网格的多个顶点的地理坐标,可以确定第一地理坐标与目标单元网格的各个顶点之间的距离。其中,在确定上述第一地理坐标与目标单元网格的各个顶点的地理坐标之间的距离时,当第一地理坐标与目标单元网格之间的直线距离上存在建筑物时,可以避开建筑物而选择与该建筑物最近的道路进行计算。

在本实施例的一些可选的实现方式中,可以将上述单元网格划分为矩形网格,该矩形网格的顶点的地理坐标即为矩形网格的四个顶点的地理坐标,确定第一地理坐标与目标单元网格的顶点的地理坐标之间的距离,即依次确定第一地理位置与目标单元网格的四个顶点的地理坐标之间的距离。

步骤2032,将多个距离与预设的距离相比较,检测多个距离是否均大于预设的距离。

在本实施例中,根据步骤2031中确定的第一地理坐标与目标单元网格的各个顶点的地理坐标之间的距离,可以将上述多个距离中的每一个距离与服务器中预先设定的距离相比较,以检测上述多个距离是否均大于上述预设的距离。

步骤2033,响应于多个距离均大于预设的距离,则输出检索范围内的地理坐标至终端,检索范围由输入的地理位置与预设的距离确定。

在本实施例中,根据步骤2032中检测出的第一地理坐标与目标单元网格的各个顶点的地理坐标之间的多个距离,以及上述多个距离与预设的距离之间的大小比较,当判断出第一地理坐标与目标单元网格的各个顶点的地理坐标之间的距离均大于预设的距离时,则表示以第一地理坐标为圆心,以预设的距离为半径的圆的范围全部落在上述目标单元网格内,该范围即为检索范围,此时服务器输出检索范围至终端设备。

在本实施例的一些可选的实现方式中,在确定上述目标单元网格内的建筑物的地理坐标是否为满足条件的地理坐标时,可以提取目标单元网格内的所有的建筑物的地理坐标,并依次确定目标单元网格内的建筑物的地理坐标与上述第一地理坐标之间的距离,该距离的确定方法同步骤2031中确定第一地理坐标与目标单元网格的顶点的地理坐标之间的距离相同,并将确定的距离分别与上述预设的距离相比较,根据比较结果,向终端设备输出目标单元网格内与第一地理坐标的距离小于或者等于预设的距离的建筑物的地理坐标。

步骤204,响应于各距离中至少一个距离小于预设的距离,则输出目标单元网格与检索范围重叠部分内的地理坐标至终端,并将与目标单元网格相邻的单元网格作为目标单元网格,继续执行检索步骤。

在本实施例中,根据步骤2032中检测出的目标单元网格的各个顶点的地理坐标与第一地理坐标之间的多个距离中至少有一个距离小于上述预设的距离,则表示以第一地理坐标为圆心,以预设的距离为半径的圆的范围即检索范围并没有全部落在上述目标单元网格中,也就是说,上述目标单元网格所包含的建筑物的坐标有部分或者全部落在上述检索范围内,即上述目标单元网格与检索范围重叠的部分为符合检索条件的检索范围,将该检索范围内的建筑物的地理坐标输出至终端设备,同时将与上述目标单元网格相邻的单元网格作为目标单元网格,继续执行检索步骤203。

在本实施例中,当上述目标单元网格所包含的建筑物的坐标全部落在上述检索范围内时,则将上述目标单元网格内的全部建筑物的地理坐标输出至终端设备;当上述目标单元网格所包含的建筑物的坐标部分落在上述检索范围内时,则首先提取上述目标单元网格内的地理坐标,并依次确定目标单元网格内的建筑物的地理坐标与上述第一地理坐标之间的距离,将确定的距离分别与上述预设的距离相比较,根据比较结果,向终端设备输出目标单元网格内与第一地理坐标的距离小于或者等于预设的距离的建筑物的地理坐标。

在本实施例的一些可选的实现方式中,上述与目标单元网格相邻的单元网格包括与目标单元网格有共同顶点的单元网格和/或与目标单元网格由共同的边的单元网格。例如,当上述单元网格为四边形时,与目标单元网相邻的单元网格为目标单元网格周围与目标单元网格只有相同的顶点的四个单元网格以及与目标单元网格有共同的边的单元网格,即目标单元网格周围的八个单元网格即为相邻的单元网格。

继续参见图3,图3是根据本实施例的用于检索地理位置的方法的应用场景的一个示意图。在图3的应用场景中,服务器首先将预先设置的地图A划分成多个单元网格,即单元网格a-单元网格j,其中,每个单元网格中均包含多个建筑物的地理坐标,服务器同时记录下每个单元网格的顶点的地理坐标。接着服务器获取用户通过终端设备输入的地理位置a1,并确定地理位置a1的地理坐标,根据a1的地理坐标确定a1所属的单元网格a,并将a确定为目标单元网格。然后,确定地理位置a1与目标单元网格a的各个顶点的地理坐标之间的距离,将各距离与服务器中预设的距离相比较,检测各距离是否均大于预设的距离。当服务器检测到第一距离、第二距离与第三距离大于预设的距离,而第四距离小于预设的距离时,此时目标单元网格a中符合条件的检索范围为目标单元网格a与检索范围重叠的部分,检索范围为以地理位置a1为圆心、以预设的距离为半径的圆的范围,输出该重叠部分至终端设备,同时依次检索与目标单元网格a相邻的单元网格b-g的建筑物的地理位置是否为符合要求的位置。

本申请的上述实施例提供的方法通过将预设的地图划分为多个连续的单元网格,以单元网格为单位对以输入的地理位置为中心对周围的建筑物的地理位置进行定位的方法,提高了检索的效率以及检索的准确性。

进一步参考图4,其示出了用于检索地理位置的方法的又一个实施例的流程400。该用于检索地理位置的方法的流程400,包括以下步骤:

步骤401,将预设的地图划分为多个连续的单元网格,预设的地图包括多个建筑物的地理坐标,记录各单元网格所包含的建筑物的地理坐标以及各单元网格的多个顶点的地理坐标。

在本实施例中,用于检索地理位置的方法运行于其上的电子设备(例如图1所示的服务器)中预先设置有地图,将预设的地图划分为多个连续的单元网格,其中每个单元网格内包含多个建筑物的地理坐标,服务器可以记录各个单元网格中所包含的上述预设地图上的建筑物的地理坐标,同时记录上述单元网格中每个单元网格的各个顶点的地理坐标。

步骤401包括以下几个步骤:

步骤4011,将单元网格与预设的地图上的各建筑物的地理坐标分别预置标签,根据各单元网格的预置标签,建立网格索引,记为第一索引;根据预设的地图的各建筑物的地理坐标的标签,建立各建筑物的地理坐标索引,记为第二索引;根据各单元网格与建筑物的地理坐标的对应关系,建立单元网格与建筑物的地理坐标之间的索引,记为第三索引。

在本实施例中,将上述各单元网格分别预置标签词,例如,单元网格的标签词可以为根据网格的经纬度坐标而确定的网格的序号;将预设的地图上的各建筑物的地理坐标分别预置标签词,例如预设的地图上每个建筑物都有其所属的主题,根据各建筑物的主题,预置主题词,并根据主题词设置序号,例如在预设的地图上有5个银行,可以分别标记为银行1,银行2,银行3,银行4,银行5。根据各单元网格的预置标签,建立网格索引,记为第一索引;根据预设的地图的各建筑物的地理坐标的标签,建立各建筑物的地理坐标的索引,记为第二索引;根据步骤401中确定的各单元网格中所包含的地图上建筑物的地理坐标,建立单元网格与建筑物的地理坐标之间的索引,记为第三索引。

步骤4012,实时检测预设的地图中是否增加新的地理坐标,当检测到预设的地图中增加新的地理坐标时,将新的地理坐标与各单元网格的各顶点的地理坐标比较,并将新的地理坐标添加至对应的单元网格中,并更新第二索引以及第三索引。

在本实施例中,根据步骤4011中各单元网格与地图上建筑物的地理位置坐标建立的索引关系,服务器可以实时检测该地图中是否有新的地理坐标增加,该检测方式可以根据全球定位系统返回的地图内容与原地图的内容进行对比,从而确定预设的地图中是否有新的地理坐标增加。当服务器检测到上述预设的地图中有新的地理坐标增加时,可以将该新的地理坐标与各单元网格的顶点坐标进行比较,根据比较结果,将新增加的地理坐标添加至对应的单元网格中,同时更新上述第二索引以及第三索引。

步骤4013,当检测到原有的地理坐标发生变更时,判断变更后的地理坐标是否在原有的地理坐标所属的单元网格内。

在本实施例中,服务器可以实时检测上述预设的地图上的各建筑物的地理坐标是否发生变更,该检测的方式同样可以将通过全球定位系统返回的地图内容与预先设定的内容进行比较来进行判断。当服务器检测到原有的建筑物的地理坐标发生变更时,可以进一步判断该建筑物变更后的地理坐标是否还在变更前所属的单元网格内。

步骤4014,响应于变更后的地理坐标在原有的地理坐标所属的单元网格内,将原有的地理坐标变更为新的地理坐标,并更新第二索引和第三索引。

当服务器判断出上述变更后的地理坐标还在原有的地理坐标所属的单元网格内时,服务器将该单元网格中已经变更的原来的建筑物的地理坐标更改为变更后的地理坐标,同时更新上述第二索引和第三索引。

步骤4015,响应于变更后的地理坐标不在原有的地理坐标所属的单元网格内,将原有的地理坐标从其所属的单元网格中删除,并将新的地理坐标添加至与新的地理位置对应的网格,并更新第一索引、第二索引以及第三索引。

当服务器判断出上述变更后的地理坐标不在原有的地理坐标所属的单元网格内时,服务器将变更前的建筑物的地理坐标从其所属的单元网格中删除掉,并根据变更后的地理坐标与单元网格的对应关系,将变更后的新的地理坐标添加至与其对应的单元网格中,并更新上述第一索引、第二索引以及第三索引。

步骤402,获取输入的地理位置,确定输入的地理位置的第一地理坐标,并将第一地理坐标与各单元网格所包含的地理坐标比较,确定第一地理坐标所属的单元网格。

步骤403,将第一地理坐标所属的单元网格作为目标单元网格,执行以下步骤:

步骤4031,根据目标单元网格的多个顶点的地理坐标及第一地理坐标,确定目标单元网格的各顶点的地理坐标与第一地理坐标的多个距离。

步骤4032,将多个距离与预设的距离相比较,检测多个距离是否均大于预设的距离。

步骤4033,响应于多个距离均大于预设的距离,则输出检索范围内的地理坐标至终端,检索范围由输入的地理位置与预设的距离确定。

步骤404,响应于各距离中至少一个距离小于预设的距离,则输出目标单元网格与检索范围重叠部分内的地理坐标至终端,并将与目标单元网格相邻的单元网格作为目标单元网格,继续执行检索步骤。

在本实施例中,步骤402、步骤403、步骤404与图2所示的实施例的步骤202、步骤203、步骤204的方法一致,在此不再赘述。

步骤405,获取输入的的主题信息。

在本实施例中,上述预设的地图中还包括各建筑物的主题信息,该主题信息包括但不限于各建筑物的门牌号,各建筑物的名称,各建筑物所属的类别,例如该类别可以为服务类,可以为办公类,可以为住宅类,服务类又可以分为餐饮类,娱乐类,购物类等,办公类可以分为写字楼,大厦,工作单位名称等,住宅类等,各建筑物的主题信息与建筑物的地理坐标存在一一对应的关系。服务器在获取用户通过终端输入的地理位置的同时,还可以获取用户通过终端输入的主题信息,该主题信息可以为文字信息、图片信息、语言信息等。

步骤406,对输入的主题信息进行解析,确定输入的主题信息所包含的关键词。

根据步骤405中获取到的主题信息,服务器可以对该主题信息进行解析,例如可以对文字信息进行语义分析,对图片信息、语言信息等转化成文字信息,然后再对文字信息进行语义分析,语义分析方法可以利用全切分方法,可以首先切分出与语言词库匹配的所有可能的词,再运用统计语言模型确定最优的切分结果,从而确定上述输入的主题信息中的关键词。

步骤407,将关键词与检索范围内的各建筑物的主题信息匹配,根据匹配信息,向终端输出检索范围内与输入的主题信息匹配的建筑物的地里坐标。

在本实施例中,根据步骤403以及步骤404中确定的检索范围内的各建筑物的地理坐标,确定与各建筑物的地理坐标对应的主题信息后,可以将步骤406中确定的用户输入的主题信息所包含的关键词与检索范围内的各建筑物进行匹配,确定在检索范围内与主题信息相匹配的建筑物,然后将与关键词相匹配的各建筑物的地理坐标输出至终端设备。

从图4中可以看出,与图2对应的实施例相比,本实施例突出了建立单元网格的索引、各建筑物的地理坐标的索引以及单元网格与其所属的各建筑物的地理坐标之间的索引的步骤,建立对单元网格内的地理坐标进行更新的步骤以及根据输入的主题信息为终端设备输出相应主题的建筑物的地理坐标的步骤。由此,本实施例描述的方法可以更加快速、准确的检索出符合条件的地理位置。

进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种用于检索地理位置的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图5所示,本实施例所述的用于检索地理位置的装置500包括:划分单元501、第一获取单元502、检索单元503和反馈单元504。其中,划分单元501配置用于将预设的地图划分为多个连续的单元网格,预设的地图包括多个建筑物的地理坐标,记录各单元网格所包含的建筑物的地理坐标以及各单元网格的多个顶点的地理坐标;第一获取单元502配置用于获取输入的地理位置,确定输入的地理位置的第一地理坐标,并将第一地理坐标与各单元网格所包含的地理坐标比较,确定第一地理坐标所属的单元网格;检索单元503配置用于将第一地理坐标所属的单元网格作为目标单元网格,顺序执行如下检索子单元:确定子单元,配置用于根据目标单元网格的多个顶点的地理坐标及第一地理坐标,确定目标单元网格的各顶点与输入的地理位置之间的多个距离;检测子单元,配置用于将多个距离与预设的距离相比较,检测多个距离是否均大于预设的距离;输出子单元,配置用于响应于多个距离均大于预设的距离,则输出检索范围内的地理坐标至终端,检索范围由输入的地理位置与预设的距离确定;而反馈单元504配置用于响应于多个距离中至少一个距离小于检索距离,则输出目标单元网格与检索范围重叠部分内的地理坐标至终端,并将与目标单元网格相邻的单元网格作为目标单元网格反馈给检索单元。其中,上述与目标单元网格相邻的单元网格包括与目标单元网格由共同顶点的单元网格和/或与目标单元网格有共同的边界的单元网格。

在本实施例中,划分单元501、第一获取单元502、检索单元503和反馈单元504的具体处理可以参考图2对应实施例步骤201、步骤202、步骤203和步骤204的详细描述,在此不再赘述。

在本实施例的一些可选的实现方式中,上述装置500的检索单元503的输出子单元5031配置进一步用于提取目标单元网格内的建筑物的地理坐标,依次确定目标单元网格内的建筑物的地理坐标与第一地理坐标之间的距离,并分别与预设的距离比较,输出目标单元网格内与第一地理坐标的距离小于或等于预设的距离的建筑物的地理坐标。

在本实施例的一些可选的实现方式中,上述划分单元501还包括索引建立子单元5011,配置用于将单元网格与预设的地图上的各建筑物的地理坐标分别预置标签,根据各单元网格的预置标签,建立网格索引,记为第一索引;根据预设的地图的各建筑物的地理坐标的标签,建立各建筑物的地理坐标索引,记为第二索引;根据各单元网格与建筑物的地理坐标的对应关系,建立单元网格与建筑物的地理坐标之间的索引,记为第三索引。比较子单元5012配置用于实时检测预设的地图中是否增加新的地理坐标,当检测到预设的地图中增加新的地理坐标时,将新的地理坐标与各单元网格的各顶点的地理坐标比较,并将新的地理坐标添加至对应的单元网格中,并更新第二索引以及第三索引。判断子单元5013,配置用于当检测到原有的地理坐标发生变更时,判断变更后的地理坐标是否在原有的地理坐标所属的单元网格内;信息变更子单元5014,配置用于响应于变更后的地理坐标在原有的地理坐标所属的单元网格内,将原有的地理坐标变更为新的地理坐标;更新子单元5015,配置用于响应于变更后的地理坐标不在原有的地理坐标所属的单元网格内,将原有的地理坐标从其所属的单元网格中删除,并将新的地理坐标添加至与新的地理位置对应的网格,并更新第一索引、第二索引以及第三索引。

在本实施例的一些可选的实现方式中,上述装置500的划分单元配置进一步用于当预设的地图上各建筑物的地理坐标位于两个或多个单元网格的共同顶点或共同的边界处时,将位于共同顶点或共同边界处的各建筑物的地理坐标单元记录。

在本实施例的一些可选的实现方式中,上述预设的地图还包括各建筑物的主题信息,建筑物的主题信息与建筑物的地里坐标存在一一对应的关系,主题信息包括以下至少一项:建筑物的名字,建筑物所属的类别;以及上述装置500还包括:第二获取单元505,配置用于获取输入的主题信息;解析单元506,配置用于对所述输入的主题信息进行解析,确定输入的主题信息所包含的关键词;匹配单元507,配置用于将关键词与检索范围内的各建筑物的主题信息匹配,根据匹配信息,向终端输出检索范围内与输入的主题信息匹配的建筑物的地里坐标。

在本实施例的一些可选的实现方式中,上述各单元网格为矩形网格,各单元网格的顶点的地理坐标包括各单元网格的四个顶点的地理坐标,以及上述装置500的检索单元503的确定子单元5031配置进一步用于:依次确定当前地理位置与目标单元网格的四个顶点的距离。

下面参考图6,其示出了适于用来实现本申请实施例的终端设备的计算机系统600的结构示意图。

如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。

以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括划分单元、第一获取单元、检索单元和反馈单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,划分单元还可以被描述为“用于将预设的地图划分为多个连续的单元网格的单元”。

作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:将预设的地图划分为多个连续的单元网格,所述预设的地图包括多个建筑物的地理坐标,记录各所述单元网格所包含的建筑物的地理坐标以及各所述单元网格的多个顶点的地理坐标;获取输入的地理位置,确定所述输入的地理位置的第一地理坐标,并将所述第一地理坐标与各所述单元网格所包含的地理坐标比较,确定所述第一地理坐标所属的单元网格;将所述第一地理坐标所属的单元网格作为目标单元网格,执行如下检索步骤:根据所述目标单元网格的多个顶点的地理坐标及所述第一地理坐标,确定所述目标单元网格的各顶点与所述输入的地理位置之间的多个距离;将所述多个距离与预设的距离相比较,检测所述多个距离是否均大于所述预设的距离;响应于所述多个距离均大于所述预设的距离,则输出检索范围内的地理坐标至终端,所述检索范围由所述输入的地理位置与所述预设的距离确定;响应于所述多个距离中至少一个距离小于所述检索距离,则输出所述目标单元网格与所述检索范围重叠部分内的地理坐标至终端,并将与所述目标单元网格相邻的单元网格作为目标单元网格,继续执行所述检索步骤。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1