CN115221159A - 定位方法和相关装置 - Google Patents
定位方法和相关装置 Download PDFInfo
- Publication number
- CN115221159A CN115221159A CN202110426810.3A CN202110426810A CN115221159A CN 115221159 A CN115221159 A CN 115221159A CN 202110426810 A CN202110426810 A CN 202110426810A CN 115221159 A CN115221159 A CN 115221159A
- Authority
- CN
- China
- Prior art keywords
- polygon
- target
- polygons
- coordinates
- coordinate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
Abstract
本申请提供一种定位方法和相关装置,该方法包括:接收来自于终端设备的坐标;根据路由信息和对应该坐标的目标区域标识,确定对应于该目标区域标识的目标数据节点;向该目标数据节点发送定位请求,该定位请求包括该坐标;接收来自于该目标数据节点的定位反馈。通过上述技术方案,路由节点可以将接收到的坐标发送至确定的目标数据节点,而无需将坐标发送至系统中的所有数据节点。除目标数据节点外,其他数据节点无需参与到确定与坐标对应的多边形的计算中。这样,可以减少整个系统的功率消耗。该目标数据节点可以较快地确定出包含有该坐标的多边形。这样,可以提高逆地理搜索的响应速度,提高用户体验。
Description
技术领域
本申请涉及电子地图领域,更具体地,涉及一种定位方法和相关装置。
背景技术
逆地理搜索可以实现根据坐标(例如经纬度)确定位置信息的功能。例如,输入经纬度(39.991366,116.25952),返回的逆地理搜索结果可以包括:北坞公园西门;北坞村路;海淀区;北京市;中国。
逆地理搜索的应用场景非常广泛。基于位置的服务(location based service,LBS)是逆地理搜索的最为常见的一个应用场景。LBS通过用户上传的坐标,确定用户的位置,从而可以为用户提供相应的服务。例如,为用户推荐附件的商场、餐馆、咖啡馆等;确定用户的当前位置以便于网约车司机找到用户等。
逆地理搜索的响应速度对用户体验的影响很大。响应速度越快,用户体验越好。因此,业界希望能够提高逆地理搜索的响应速度。
发明内容
本申请提供一种定位方法和相关装置,可以提高逆地理搜索的响应速度。
第一方面,本申请实施例提供一种定位方法,该方法包括:接收来自于终端设备的坐标;根据路由信息和对应该坐标的目标区域标识,确定对应于该目标区域标识的目标数据节点,其中该路由信息用于指示区域标识和数据节点的对应关系,该目标区域标识用于指示包含该坐标的区域;向该目标数据节点发送定位请求,该定位请求包括该坐标;接收来自于该目标数据节点的定位反馈,该定位反馈包括地理位置信息,该地理位置信息用于描述包含该坐标的地理位置。
上述技术方案中,不同的数据节点保存有不同的区域标识和多边形的对应关系(即多边形索引信息)。路由节点保存有区域标识和数据节点的对应关系(即路由信息)。这样,当路由节点接收到来自于终端设备的坐标后,可以根据坐标确定对应的目标区域标识,进而根据路由信息确定与该目标区域标识对应的目标数据节点。这样,路由节点可以将接收到的坐标发送至确定的目标数据节点,而无需将坐标发送至系统中的所有数据节点。除目标数据节点外,其他数据节点无需参与到确定与坐标对应的多边形的计算中。这样,可以减少整个系统的功率消耗。此外,由于目标数据节点保存的多边形是经过分割后得到的较小的多边形,因此该目标数据节点可以较快地确定出包含有该坐标的多边形。这样,可以提高逆地理搜索的响应速度,提高用户体验。
结合第一方面,在第一方面的一种可能的实现方式中,该路由信息包括多个索引以及与各个索引对应的数据节点的标识,其中该多个索引中的每个索引为一个区域标识或者一个区域标识范围。在此情况下,根据路由信息和该目标区域标识,确定对应于该目标区域标识的目标数据节点,包括:从该多个索引中确定与该目标区域标识匹配的目标索引;确定与该目标索引对应的数据节点为该目标数据节点。
结合第一方面,在第一方面的一种可能的实现方式中,该定位反馈还包括至少一个信息点POI,该坐标与该至少一个POI中的每个POI之间的距离小于预设阈值。
第二方面,本申请实施例提供一种定位方法,该方法包括:接收来自于路由节点的定位请求,该定位请求包括坐标;根据多边形索引信息、该坐标和对应于该坐标的目标区域标识,确定该坐标对应的目标多边形,其中,该多边形索引信息用于指示区域标识和多边形的对应关系,该目标区域标识与多个第一多边形对应,该目标多边形为该多个第一多边形中的一个,该多个第一多边形是对一个第二多边形进行分割得到的部分或全部多边形,该坐标位于该目标多边形的范围内;向该路由节点发送定位反馈,该定位反馈包括地理位置信息,该地理位置信息用于描述包含该坐标的地理位置。
上述实施例中,第一多边形是对第二多边形分割得到的。多边形面积越小,判断坐标在该多边形的范围内的速度就越快。因此,上述技术方案可以提高逆地理搜索的响应速度。
结合第二方面,在第二方面的一种可能的实现方式中,该多边形索引信息包括多个索引以及与各个索引对应的第一多边形,其中该多个索引中的每个索引为一个区域标识;该根据多边形索引信息、该目标区域标识和该坐标,确定目标多边形,包括:从该多个索引中确定与该目标区域标识匹配的目标索引;对与该目标索引对应的该多个第一多边形进行排序;根据排序结果和该坐标,确定该目标多边形。
结合第二方面,在第二方面的一种可能的实现方式中,该对与该目标索引对应的该多个第一多边形进行排序,包括:根据该多个第一多边形的信息区域AOI级别,对该多个第一多边形进行排序,其中AOI级别较高的第一多边形的排名高于AOI级别较低的第一多边形排名。多边形的AOI级别越高,多边形的面积就越小;多边形面积越小,判断坐标在该多边形的范围内的速度就越快。因此,上述技术方案可以更进一步提高逆地理搜索的响应速度。
结合第二方面,在第二方面的一种可能的实现方式中,该对与该目标索引对应的该多个第一多边形进行排序,还包括:确定该多个第一多边形中的N个AOI级别相同的第一多边形,其中N为大于或等于2的正整数;根据N个AOI级别相同的第一多边形中的每个参考区域的中心点到该坐标的距离,对该N个AOI级别相同的第一多边形进行排序,其中,该N个AOI级别相同的第一多边形中中心点到该坐标距离较近的第一多边形的排名高于中心点到该坐标较远的第一多边形的排名。通常情况下,坐标到某一多边形的中心点的距离越近,该坐标属于该多边形的概率越大。因此,上述技术方案可以更进一步提高逆地理搜索的响应速度。
结合第二方面,在第二方面的一种可能的实现方式中,该根据排序结果和该坐标,确定该目标多边形,包括:从该多个第一多边形中的排名最高的第一多边形起,依次判断该第一多边形是否包含该坐标,直到确定出该目标多边形。
结合第二方面,在第二方面的一种可能的实现方式中,在该向该路由节点发送定位反馈之前,该方法还包括:确定该目标数据节点中是否包括目标信息点POI,其中该目标POI 为与该坐标距离小于预设阈值的POI;在该目标数据节点中包括该目标POI的情况下,该定位反馈还包括该目标POI。
结合第二方面,在第二方面的一种可能的实现方式中,该第二多边形的边界点数量大于预设边界点数量阈值,该第一多边形的边界点数量小于或等于该预设边界点数量阈值;或者
该第二多边形的边界点数量大于该预设边界点数量阈值且该第二多边形的面积大于预设面积阈值,该第一多边形的边界点数量小于或等于该预设边界点数量阈值,或者,该第一多边形的面积小于或等于该预设面积。
结合第二方面,在第二方面的一种可能的实现方式中,该多个第一多边形是根据该第二多边形的外接图形的中心点,对该第二多边形进行分割得到的部分或全部多边形。
结合第二方面,在第二方面的一种可能的实现方式中,该外接图形为正多边形、梯形、平行四边形,或者圆形,其中该外接正多边形的边数小于或等于8。
结合第二方面,在第二方面的一种可能的实现方式中,该目标区域标识为与该目标多边形对应的至少一个区域标识中的一个。
第三方面,本申请实施例提供一种计算机设备,该计算机设备包括用于实现第一方面或第一方面的任一种可能的实现方式的单元。
第四方面,本申请实施例提供一种计算机设备,该计算机设备包括用于实现第二方面或第二方面的任一种可能的实现方式的单元。
第五方面,本申请实施例提供一种计算机设备,该计算机设备包括处理器,该处理器用于与存储器耦合,读取并执行该存储器中的指令和/或程序代码,以执行第一方面或第一方面的任一种可能的实现方式。
第六方面,本申请实施例提供一种计算机设备,该计算机设备包括处理器,该处理器用于与存储器耦合,读取并执行该存储器中的指令和/或程序代码,以执行第二方面或第二方面的任一种可能的实现方式。
第七方面,本申请实施例提供一种芯片系统,该芯片系统包括逻辑电路,该逻辑电路用于与输入/输出接口耦合,通过该输入/输出接口传输数据,以执行第一方面或第一方面任一种可能的实现方式。
第八方面,本申请实施例提供一种芯片系统,该芯片系统包括逻辑电路,该逻辑电路用于与输入/输出接口耦合,通过该输入/输出接口传输数据,以执行第二方面或第二方面任一种可能的实现方式。
第九方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有程序代码,当该计算机存储介质在计算机上运行时,使得计算机执行如第一方面或第一方面的任一种可能的实现方式。
第十方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有程序代码,当该计算机存储介质在计算机上运行时,使得计算机执行如第二方面或第二方面的任一种可能的实现方式。
第十一方面,本申请实施例提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行如第一方面或第一方面的任一种可能的实现方式。
第十二方面,本申请实施例提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行如第二方面或第二方面的任一种可能的实现方式。
附图说明
图1是根据本申请实施例提供的一种可能的应用场景的示意图。
图2是根据本申请实施例提供的定位方法的示意性流程图。
图3是根据申请实施例提供的一种确定地图索引的方法的示意性流程图。
图4示出了一个多边形A的示意图。
图5示出了四种对多边形A进行分割的结果示意图。
图6是对多边形A的最终分割结果示意图。
图7是根据本申请实施例提供的一种定位方法的示意性流程图。
图8是根据本申请实施例提供的一种定位方法的示意性流程图。
图9是根据本申请实施例提供的一种计算机设备的示意图。
图10是根据本申请实施例提供的另一种计算机设备的示意图。
图11是根据本申请实施例提供的另一种计算机设备的示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
为了便于本领域技术人员更好地理解本申请的技术方案,首先对本申请涉及的一些相关技术和概念进行简单介绍。
1,地图投影
地图投影就是指建立地球表面(或其他星球表面或天球面)上的点与投影平面(即地图平面)上点之间的一一对应关系的方法,即建立之间的数学转换公式。它将作为一个不可展平的曲面(例如地球表面)投影到一个平面的基本方法,保证了空间信息在区域上的联系与完整。这个投影过程将产生投影变形,而且不同的投影方法具有不同性质和大小的投影变形。
常用的投影方法有墨卡托投影、高斯-克吕格投影、斜轴等面积方位投影、双标准纬线等角圆锥投影、等差分纬线多圆锥投影、正轴方位投影等。
墨卡托投影是一种等角正切圆柱投影,由荷兰地图学家墨卡托(GerhardusMercator) 在1569年拟定。
墨卡托投影的“等角”特性,保证了对象的形状的不变形,正方形的物体投影后不会变为长方形。“等角”也保证了方向和相互位置的正确性,因此在航海和航空中常常应用,使得人们查询地物的方向时不会出错。
墨卡托投影的“圆柱”特性,保证了南北(纬线)和东西(经线)都是平行直线,并且相互垂直。而且经线间隔是相同的,纬线间隔从标准纬线(此处是赤道,也可能是其他纬线)向两级逐渐增大。
在实际应用中为了便于计算,部分厂商(例如谷歌、百度等)采用的是墨卡托投影的变种——网络墨卡托投影(web墨卡托投影)。它接收的输入是世界大地测量系统(wordgeodetic system,WGS)84坐标系的经纬度,但在投影时不再把地球当做椭球而当做半径为6378137米的标准球体,以简化计算。
2,地球坐标系统
地球坐标系既可以以笛卡尔坐标的形式表达,也可以采用大地坐标的形式表达。
以笛卡尔坐标表达的地球坐标系被称为空间直角坐标系,其X轴通常指向某一起始子午面,Z轴与地球自转轴平行或重合,Y轴则与X轴和Z轴向垂直。
以大地坐标表达的地球坐标系被称为空间大地坐标系,也可简称为大地坐标系或者地理坐标系。空间大地坐标系使用大地纬度、大地经度和大地高来描述物体的空间位置。
因为大地水准面并不规则,地球上不同地区往往需要使用不同的参考椭球体(reference ellipsoid),来尽可能适合当地的大地水准面。
参考椭球体是一个数学上定义的地球表面,它近似于大地水准面。因为是几何模型,可以用长半轴、短半轴和扁率来确定。大地纬度、大地经度和大地高都以此为基础。
北京54坐标系使用的是克拉索夫斯基(Krasovsky)1940的参考椭球,西安80坐标系使用的是1975年国际大地测量与地球物理联合会第16届大会推荐的参考椭球。当前世界范围内更普遍使用的是WGS所定义的参考椭球。
大地纬度、大地经度和大地高可以标示地球上的任何一个位置。如前所述,不同地区可能会使用不同的参考椭球体,即使是使用相同的椭球体,也可能会为了让椭球体更好地吻合当地的大地水准面,而调整椭球体的方位,甚至大小。这就需要使用不同的大地测量系统(geodetic datum)来标识。因此,对于地球上某一个位置来说,使用不同的大地测量系统,得到的坐标是不一样的。
前面提到的北京54坐标系和西安80坐标系是常用的两种坐标系统。除此之外,常见的坐标系统还包括WGS 84坐标系、国家测绘局02号标准(GCJ-02)坐标系、百度(baidu,BD)-09坐标系等。
3,信息区域和信息点
信息区域(area of information,AOI)可以是一个行政区、国家、城市等。AOI可以用一个多边形(由多边形的边界点经纬度坐标构成)表示。
信息点(point of information,POI)可以是一个建筑、商铺、公交站等,用一个经纬度坐标来标识位置。
例如经纬度(39.991366,116.25952)对应的POI可以是北坞公园西门;对应的AOI可以是北坞村路;海淀区;北京市;中国。
图1是根据本申请实施例提供的一种可能的应用场景的示意图。如图1所示,定位系统100包括路由节点101,数据节点102至104和处理节点105。终端设备110将获取到的坐标(例如经纬度)发送至定位系统100中的路由节点101。路由节点101将该坐标转发至多个数据节点中的一个。接收到坐标的数据节点根据该坐标确定位置信息,并将该位置信息发送至路由节点101,路由节点101将该位置信息发送至终端设备110。处理节点 105负责构建索引信息并将构建的索引信息分发给相应的数据节点,以便于数据节点根据该索引信息确定位置信息。
可以理解的是,如图1所示的定位系统100仅是一个定位系统的示例。本申请实施例对定位系统中包括的路由节点和处理节点的数目并没有限定。例如,在另一些实施例中,定位系统可以包括多个路由节点和/或多个处理节点。本申请实施例中的数据节点的数目可以是大于或等于2的正整数。例如,在另一些实施例中,定位系统可以包括两个或者三个以上的数据节点。
本申请实施例中所称的终端设备可以是任何具有定位功能的终端设备,例如可以是手机、平板电脑、笔记本电脑、智能手表等。
图2是根据本申请实施例提供的定位方法的示意性流程图。如图2所示,该定位方法可以分为离线部分和在线部分。
离线部分包括步骤201至步骤203,其中步骤201至步骤203可以由处理节点或者处理节点中的部件(例如芯片或者电路等)实现。
在线部分包括步骤204至步骤208,其中步骤204和步骤205可以由路由节点或路由节点中的部件(例如芯片或电路等)实现,步骤206至步骤208可以由数据节点实现。
下面,分别对处理节点、路由节点和数据节点的功能进行介绍。为了便于描述,以下实施例中假设使用根据web墨卡托投影得到的投影地图。
根据web墨卡托投影得到的投影地图可以划分为多个区域。对根据web墨卡托投影得到的投影地图分割得到的区域可以称为瓦片。用于标识瓦片的标识可以称为瓦片标识(ID)或者瓦片坐标。
本领域技术人员可以理解对投影地图进行分割得到的地图区域也可以有其他称呼。因此,以下实施例中的瓦片一词也可以替换为区域、地图区域、地图单元、地图块等。相应的,瓦片ID也可以替换为地图单元坐标、地图块坐标等。此外,区域标识可以是对地图区域进行geohash编码得到与该区域对应的geohash。
类似的,以下实施例中假设基于的坐标系是WGS 84坐标系。WGS 84坐标系中的坐标用经纬度。可以理解,以下实施例中的坐标也可以替换为笛卡尔坐标系中的坐标。
图3是根据申请实施例提供的一种确定地图索引的方法的示意性流程图。如图3所示的方法可以由处理节点或者处理节点中的部件实现。
301,对多边形A进行分割,得到多个多边形。
多边形A可以是一个行政区、一个国家或者一个城市。例如,图4示出了一个多边形A。
对多边形A进行分割的方式可以有多种。例如,可以根据多边形A的外接图形的中心点对该多边形A进行划分。多边形A的外接图形可以是边数小于或等于8的正多边形 (例如矩形、正六边形等)。多边形A的外接图形还可以是梯形、平行四边形或者圆形等。
又如,可以根据多边形A的外接图形的边的中点对该多边形A进行划分。
又如,可以将多边形A进行等分,得到多个第一多边形。
图5示出了四种对多边形A进行分割的结果。
如图5中的(a)是根据多边形A的外接矩形的中心,对该多边形A进行分割,得到了四个多边形,分别为多边形A1、多边形A2、多边形A3和多边形A4。
如图5中的(b)是根据多边形A的外接矩形的短边的中心,对该多边形A进行分割,得到了两个多边形,分别为多边形A1和多边形A2。
如图5中的(c)是根据多边形A的外接矩形的长边的中心,对该多边形A进行分割,得到了第二多边形。
如图5中的(d)是将多边形A的外接矩形进行等分后得到的四个第一多边形。该四个四个多边形,分别为多边形A1、多边形A2、多边形A3和多边形A4。
302,确定分割得到的多个多边形中的每个多边形是否满足预设条件。对于满足预设条件的多边形,可以执行步骤303及步骤303以后的步骤。对于不满足条件的多边形,则继续进行分割,直到得到满足预设条件的多边形。对不满足条件的多边形进行分割的方式与对多边形A进行分割的方式相同。继续分割的方式与最初分割的方式可以相同也可以不相同。
图6是对多边形A的最终分割结果。图6是在如图5中的(a)所示的分割结果的基础上,继续分割得到的。
如图6所示,多边形A1不满足预设条件。因此多边形A1被继续分割,得到多边形A11、多边形A12、多边形A13和多边形A14。多边形A11、多边形A13和多边形A14 满足预设条件。因此多边形A11、多边形A13和多边形A14不需要被继续分割。多边形 A12不满足预设条件。因此多边形A12被继续分割为多边形A121、多边形A122、多边形 A123和多边形A124。
多边形A2也不满足预设条件。因此,多边形A2被继续分割,得到多边形A21、多边形A22、多边形A23和多边形A24。多边形A21、多边形A22、多边形A23和多边形 A24满足预设条件,因此不需要被继续分割。
多边形A3也不满足预设条件。因此,多边形A3被继续分割,得到多边形A31、多边形A32、多边形A33和多边形A34。多边形A31、多边形A32、多边形A33和多边形 A34满足预设条件,因此不需要被继续分割。
多边形A4也不满足预设条件。因此,多边形A4被继续分割,得到多边形A41、多边形A42、多边形A43和多边形A44。多边形A41、多边形A42、多边形A43和多边形 A44满足预设条件,因此不需要被继续分割。
综上所述,对如图4所示的多边形A的最终分割结果包括:多边形A11、多边形A13、多边形A14、多边形A21、多边形A22、多边形A23、多边形A24、多边形A31、多边形 A32、多边形A33、多边形A34、多边形A41、多边形A42、多边形A43、多边形A44、多边形121、多边形A122、多边形A123和多边形A124,共计19个多边形。
可选的,在一些实施例中,用于判断多边形是否需要继续分割的预设条件是:判断多边形包括的边界点数量是否小于或等于预设边界点数量阈值。如果多边形的边界点数量大于该预设边界点数量阈值,则确定该多边形不满足该预设条件;如果多边形的边界点数量小于或等于该预设边界点数量阈值,则确定该多边形满足该预设条件。
可选的,在另一些实施例中,用于判断多边形是否需要继续分割的预设条件是:判断多边形包括的边界点数量是否小于或等于预设边界点数量阈值以及确定多边形的面积是否小于预设面积阈值。如果多边形的边界点数量大于该预设边界点数量阈值并且多边形的面积大于该预设面积阈值,则确定该多边形不满足该预设条件。如果多边形的边界点数量小于或等于该预设边界点数量阈值或者多边形的面积小于或等于该预设面积阈值,则确定该多边形满足该预设条件。
可选的,在另一些实施例中,用于判断多边形是否需要继续分割的预设条件是:判断多边形的面积是否小于或等于预设面积阈值。如果多边形的面积大于该预设面积阈值,则确定该多边形不满足该预设条件。如果多边形的面积小于或等于该预设面积阈值,则确定该多边形满足该预设条件。
可以理解的是,预设边界点数量阈值过大或过小都会影响最终的确定结果。如果预设边界点数量阈值越少,那么就有越多的多边形需要被继续分割,这样离线处理时间会相应增加,而且确定的与用户输入的坐标对应的多边形数量会相应增加,从而使得反馈结果的时间增加。相反地,如果预设边界点数量阈值越多,那么可能出现分割得到的多边形面积过大。这样,可能会增加判断包含用户输入的坐标的难度,从而使得反馈结果的时间增加。
上述预设边界点数量阈值可以是大于或等于4且小于或等于1000的正整数。可选的,在一些实施例中,预设边界点数量阈值可以是大于或等于100且小于或等于300的正整数。例如,可以是200、180、220等。
类似的,预设面积阈值过大或过小都会影响最终的确定结果。如果预设面积阈值越小,那么就有越多的多边形需要被继续分割,这样离线处理时间会相应增加,而且确定的与用户输入的坐标对应的多边形数量会相应增加,从而使得反馈结果的时间增加。相反地,如果预设面积阈值越大,那么可能出现分割得到的多边形面积过大。预设面积阈值可以是一个预设的数值或者是根据一个预设比例值和最初分割的多边形计算得到的数值。
如上所述,对于满足预设条件的多边形,可以不需要对该多边形继续分割;对于不满足预设条件的多边形,需要继续分割,直到得到满足该预设条件的多边形。
对于不需要继续分割的多边形,可以执行步骤303及步骤303以后的步骤。为了便于描述,可以将不需要继续分割的多边形称为参考多边形。
303,确定参考多边形和瓦片ID的对应关系。
每个瓦片有唯一的瓦片ID。投影地图分割得到的瓦片数量与瓦片等级有关。瓦片的数量与瓦片等级有如下关系:
Num_tile=4Level,(公式1)
其中Num_tile表示瓦片数量,Level表示瓦片等级,level为大于或等于0的正整数。
例如,瓦片等级为0的世界地图只有一个瓦片;瓦片等级为1的世界地图被分为四个瓦片,这四个瓦片的瓦片ID可以分别为(0,0)、(0,1)、(1,0)和(1,1)。
瓦片ID可以根据瓦片等级和经纬度计算得到。瓦片ID包括两部分,tileX和tileY,tileX可以根据以下公式确定:
其中lng表示经度,Level表示瓦片等级。
tileY可以根据以下公式确定:
其中,lat表示纬度,ln表示以常数e为底数的对数符号,tan表示正切符号,sec表示正割符号,π表示圆周率的值。
可以看出,根据公式2和公式3,如果地球上一个点的经纬度和瓦片等级是确定的,那么就可以确定出该点所在的瓦片ID。
在一些实施例中,可以根据参考多边形中的每个点的坐标确定出参考多边形对应的瓦片ID。
在另一些实施例中,可以根据瓦片中的点和多边形,来确定该瓦片与多边形的对应关系。确定瓦片中的点和多边形的关系可以用向量积法、面积法、角度和法等,本申请实施例对此并不限定。
在另一些实施例中,可以使用JTS确定瓦片和多边形的对应关系。JTS是Java的处理地理数据的应用程序接口(application programming interface,API)。JTS支持一套完整的二元谓词操作。二元谓词方法将两个几何图形作为参数,返回一个布尔值来表示几何图形是否有指定的空间关系。它支持的空间关系有:相等(equals)、分离(disjoint)、相交(intersect)、相接(touches)、交叉(crosses)、包含于(within)、包含(contains)、覆盖/覆盖于(overlaps)。同时,也支持一般的关系(relate)操作符。
假设如图6所示的参考多边形和瓦片ID有如表1所示的对应关系。
表1
瓦片ID | 多边形 |
223,132 | A11,A13 |
223,131 | A31,A33 |
224,132 | A121,A122,A123,A124,A14 |
224,131 | A32,A34 |
225,132 | A21,A23 |
225,131 | A41,A42,A43,A44 |
226,132 | A22,A24 |
如表1示出了对多边形A分割后得到的所有参考多边形和瓦片ID的对应关系,这个对应关系可以称为总多边形索引信息。
304,将多边形索引信息分发给不同的数据节点。
可选的,在一些实施例中,可以在每确定出一个参考多边形和瓦片ID的对应关系后,将该参考多边形和瓦片ID的对应关系发送至一个数据节点中。
可选的,在另一些实施例中,可以在确定出所有参考多边形和瓦片ID的对应关系(即总多边形索引信息),再将总多边形索引信息分拆为多个多边形索引信息,将该多个多边形索引信息发送至多个数据节点中。
还以如表1所示的总多边形索引信息为例。如表1所示的总多边形索引信息可以分拆为如表2,表3和表4所示的三个多边形索引信息。
表2
瓦片ID | 多边形 |
223,132 | A11,A13 |
223,131 | A31,A33 |
表3
瓦片ID | 多边形 |
224,132 | A121,A122,A123,A124,A14 |
224,131 | A32,A34 |
表4
瓦片ID | 多边形 |
225,132 | A21,A23 |
225,131 | A41,A42,A43,A44 |
226,132 | A22,A24 |
如表2至表4所示的三个多边形索引信息可以分别发送至三个数据节点。还以如图1 所示的系统100为例,如表2所示的多边形索引信息可以发送至数据节点102,如表3所示的多边形索引信息可以发送至数据节点103,如表4所示的多边形索引信息可以发送至数据节点104。数据节点可以保存接收到的多边形索引信息。
表1所示的多边形索引信息中,每个多边形只与一个瓦片ID对应。在另一些实施例中,可能出现一个多边形与多个瓦片ID对应的情况。例如,一个多边形的一部分的瓦片 ID为225,131,另一部分的瓦片ID为225,132。
305,确定路由信息并将路由信息发送至路由节点。
该路由信息记录了瓦片ID和数据节点的对应关系。还以上述表2至表4的分发规则为例。处理节点可以保存如表5所示的路由信息。
表5
处理节点确定的路由信息可以发送至路由节点,以便于路由节点根据该路由信息确定出与用户输入的坐标对应的数据节点。
如表5所示的瓦片ID和数据节点的对应关系中的瓦片ID包括瓦片ID的tile X值和tile Y值。在另一些实施例中,路由信息中的瓦片ID和数据节点的对应关系中也可以仅包括瓦片ID的tile X和tile Y中的一个。例如,路由节点还可以如表6所示。
表6
可以理解的是,如表5和表6所示的路由信息可以是处理节点确定的路由信息的一部分。
处理节点通过离线计算,可以将一个对应于一个国家、省、城市或者行政区等的多边形划分为多个多边形,并将多边形和瓦片ID的对应关系分别保存至不同的数据节点。
此外,如上所述,每个POI也有对应的坐标。处理节点还可以根据POI的坐标,确定出该POI所在的瓦片的瓦片ID,并将POI和瓦片ID的对应关系发送至对应的数据节点。
例如,假设存在十个POI,分别称为POI 1至POI 10。根据POI 1至POI 10可以确定出POI 1至POI 10存在如表7所示的对应关系。
表7
瓦片ID | POI |
223,132 | POI 1 |
223,131 | POI 2 |
224,132 | POI 3 |
224,131 | POI 4 |
225,132 | POI 5 |
225,131 | POI 6,POI7 |
226,132 | POI 8,POI 9,POI 10 |
类似的,数据节点也可以将POI和瓦片ID的对应关系保存至不同的数据节点。例如如表6所示的POI和瓦片ID的对应关系可以分拆为如表8、表9和表10所示的三个对应关系。
表8
瓦片ID | POI |
223,132 | POI 1 |
223,131 | POI 2 |
表9
瓦片ID | POI |
224,131 | POI 4 |
224,132 | POI 3 |
表10
瓦片ID | POI |
225,132 | POI 5 |
225,131 | POI 6,POI7 |
226,132 | POI 8,POI 9,POI 10 |
如表8所示的POI和瓦片ID对应关系可以保存至数据节点102,如表9所示的POI 和瓦片ID的对应关系可以保存至数据节点103,如表10所示的POI和瓦片ID的对应关系可以保存至数据节点104。
在完成了如图3所示的离线计算后,路由节点和数据节点可以根据用户输入的坐标确定地理位置信息。
图7是根据本申请实施例提供的一种定位方法的示意性流程图。
701,终端设备获取坐标。
该坐标可以是终端设备中具有定位功能的芯片或者片上系统(system on chip,SoC) 等确定的。
702,终端设备将该坐标发送至路由节点。
703,路由节点根据该坐标,确定对应于该坐标的瓦片ID。为了便于描述,可以将对应于该坐标的瓦片ID称为目标瓦片ID。该目标瓦片ID用于指示包含该坐标的瓦片。
还以web墨卡托投影和WGS 84坐标系为例,假设终端设备确定的坐标的经纬度分别为33.55,69.57,那么可以根据公式2和公式3计算出与该坐标对应的瓦片ID为225,131。
704,路由节点根据该目标瓦片ID和路由信息,确定出与该目标瓦片ID对应数据节点。为了便于描述,可以将与该目标瓦片ID对应的数据节点称为目标数据节点。
假设路由节点确定出的瓦片ID为225,131。该路由节点可以根据如表6所示的路由信息,确定出与该瓦片ID(225,131)对应的目标数据节点为数据节点104。
705,路由节点可以向数据节点104发送定位请求,该定位请求包括该坐标。相应的,数据节点104接收该定位请求。
706,数据节点104根据多边形索引信息、目标瓦片ID和该坐标,确定出目标多边形。
可选的,在一些实施例中,数据节点104可以根据定位请求中的坐标,确定对应的目标瓦片ID。
可选的,在另一些实施例中,路由节点在确定目标数据节点时已经根据该坐标确定了目标瓦片ID。因此该路由节点向数据节点104发送的定位请求中也可以携带该目标瓦片 ID。在此情况下,数据节点104可以直接使用该目标瓦片ID。
数据节点104可以根据该多边形索引信息和目标瓦片ID,确定多个多边形;根据该多个多边形和该坐标,确定该目标多边形,其中该坐标在该目标多边形的范围内。
还以瓦片ID(225,131)为例。如上所述,数据节点104保存如表4所示的多边形索引信息。根据如表4所示的索引信息,可以确定与瓦片ID(225,131)对应的多边形包括多边形A41、多边形A42、多边形A43和多边形A44。然后,数据节点104可以按照顺序确定每个多边形的范围内是否包含坐标33.55,69.57。
可选的,在一些实施例中,数据节点104可以按照多边形索引信息中的与瓦片ID(225, 131)对应的索引条目中的多边形顺序依次确定多边形范围内是否包含坐标33.55,69.57。
可选的,在另一些实施例中,数据节点104还可以确定坐标33.55,69.57到上述四个多边形中每个多边形中心点的距离,根据坐标到各个多边形的中心点的距离对上述四个多边形进行排序,其中坐标到中心点的距离越近,排名越高。然后数据节点104按照排名从高到低确定多边形是否包含该坐标。例如,假设坐标33.55,69.57到多边形A41的中心点的距离为DIST41,坐标33.55,69.57到多边形A42的中心点的距离为DIST42,坐标33.55, 69.57到多边形A43的中心点的距离为DIST43,坐标33.55,69.57到多边形A44的中心点的距离为DIST44。假设,DIST43<DIST44<DIST42<DIST41。那么,多边形A41至多边形A44 排名由高到低依次为:多边形A43、多边形A44、多边形A42和多边形A41。在此情况下,数据节点104可以先判断多边形A43中是否包含坐标33.55,69.57。如果多边形A43中包含坐标33.55,69.57,那么多边形A43即为该目标多边形。如果多边形A43不包含坐标33.55, 69.57,那么数据节点104可以确定多边形A44是否包含坐标33.55,69.57;如果数据节点 104确定多边形A44也不包含坐标33.55,69.57,那么继续确定多边形A42是否包含坐标 33.55,69.57,以此类推。
如表4所示的与瓦片ID(225,131)对应的四个多边形都是从一个多边形A中分割得到的。因此,这四个多边形的AOI级别相同。如果与瓦片ID(225,131)对应的多个多边形的AOI级别不同,那么级别高的多边形的排名高于级别低的多边形的排名。例如,假设与瓦片ID(225,131)对应的多边形包括:多边形A41、多边形A42、多边形A43、多边形A44、多边形B11、多边形B12、多边形B13、多边形C11和多边形C12,其中多边形C11和多边形C12的AOI级别为级别1,多边形B11、多边形B12和多边形B13的级别为级别2,多边形A41、多边形A42、多边形A43和多边形A44的级别为级别3。假设级别1的级别最高,级别2的级别低于级别1,且级别2的级别高于级别3。那么多边形C11和多边形C12的排名高于多边形B11、多边形B12和多边形B13的排名,多边形 B11、多边形B12和多边形B13的排名高于多边形A41、多边形A42、多边形A43和多边形A44的排名。如果同一级别中的多边形数目大于或等于一个预设值,那么需要确定每个多边形的中心到坐标的距离,然后根据距离对同一级别的多边形排序。例如,假设该预设阈值为3,那么需要对多边形B11、多边形B12和多边形B13进行排序,多边形A41、多边形A42、多边形A43和多边形A44进行排序。可以看出,由于级别1的多边形数目少于该预设阈值,因此可以不需要按照中心点到坐标的距离对多边形C11和多边形C12进行排序。多边形C11和多边形C12的顺序可以是任意的。假设上述多边形最终的排序结果为(排名由高到低):C11,C12,B12,B11,B13,A43,A44,A42和A41。数据节点104可以先判断多边形C11中是否包含坐标33.55,69.57。如果多边形C11中包含坐标 33.55,69.57,那么多边形C11即为该目标多边形。如果多边形C11不包含坐标33.55,69.57,那么数据节点104可以确定多边形C12是否包含坐标33.55,69.57;如果数据节点104确定多边形C12也不包含坐标33.55,69.57,那么继续确定多边形B12是否包含坐标33.55, 69.57,以此类推。
在一些实施例中,AOI级别可以与最初需要被分割的多边形的行政区类型相关。行政区越小,AOI级别越高。例如,国家的AOI级别低于省的AOI级别,省的AOI级别低于市的AOI级别,市的AOI级别低于区的AOI级别。
在另一些实施例中,AOI级别也可以与最初需要被分割的多边形的面积相关。面积越小,AOI级别越高。
707,数据节点104向路由节点发送定位反馈,该定位反馈包括地理位置信息,该地理位置信息用于描述该目标多边形。
还以坐标33.55,69.57为例,假设根据坐标33.55,69.57确定的目标多边形为多边形 A43,多边形A43是根据阿富汗地图分割得到的。那么用于描述该目标多边形的地理位置信息为:阿富汗。
可选的,在一些实施例中,该定位反馈还可以包括目标POI,该目标POI是该坐标附近的POI。换句话说,数据节点可以根据瓦片ID和POI的对应关系,确定出与瓦片ID对应的一个或多个POI,然后确定每个POI到该坐标的距离,如果POI到该坐标的距离小于一个预设阈值,那么该POI可以作为目标POI。可以理解的是,在一些实施例中,可能会出现所有POI到该坐标的距离都大于该预设阈值。在此情况下,该定位反馈中可以不包含目标POI或者指示没有找到目标POI。在另一些实施例中,可能会出现多个POI到该坐标的距离都小于该预设阈值。在此情况下该多个POI可以都作为该目标POI。
708,路由节点将该定位反馈发送至终端设备。
上述技术方案中,不同的数据节点保存有不同的瓦片ID和多边形的对应关系(即多边形索引信息)。路由节点保存有瓦片ID和数据节点的对应关系(即路由信息)。这样,当路由节点接收到来自于终端设备的坐标后,可以根据坐标确定对应的瓦片ID,进而根据路由信息确定与瓦片ID对应的数据节点。这样,路由节点可以将接收到的坐标发送至确定的数据节点(以下称为目标数据节点),而无需将坐标发送至系统中的所有数据节点。除目标数据节点外,其他数据节点无需参与到确定与坐标对应的多边形的计算中。这样,可以减少整个系统的功率消耗。此外,由于目标数据节点保存的多边形是经过分割后得到的较小的多边形,因此该目标数据节点可以较快地确定出包含有该坐标的多边形。这样,可以提高逆地理搜索的响应速度,提高用户体验。
此外,在一些实施例中,在从多个多边形中确定目标多边形的过程中,先根据AOI级别和/或坐标到中心点的距离进行排序,然后根据排序结果以此判断多边形中是否包含该坐标。通常情况下,坐标到某一多边形的中心点的距离越近,该坐标属于该多边形的概率越大。多边形的AOI级别越高,多边形的面积就越小;多边形面积越小,判断坐标在该多边形的范围内的速度就越快。因此,上述技术方案可以更进一步提高逆地理搜索的响应速度。
图8是根据本申请实施例提供的一种定位方法的示意性流程图。图8所示的方法可以由数据节点或者数据节点中的部件执行。
801,接收来自于路由节点的定位请求,该定位请求包括坐标。
802,根据多边形索引信息、该坐标和对应于该坐标的目标区域标识,确定该坐标对应的目标多边形,其中,该多边形索引信息用于指示区域标识和多边形的对应关系,该目标区域标识与多个第一多边形对应,该目标多边形是多个第一多边形中的一个,该多个第一多边形是对一个第二多边形分割得到的部分或全部多边形,该坐标位于该目标多边形的范围内。
例如,假设该坐标是33.55,69.57,那么可以根据公式2和公式3计算出与该坐标对应的目标区域标识为225,131。
例如,该多边形索引信息可以是如表4所示的索引信息。多边形A41、多边形A42、多边形A43和多边形A44可以是第一多边形,多边形A41、多边形A42、多边形A43和多边形A44是对多边形A4分割得到的。多边形A4可以是一个第二多边形。
又如,多边形A121、多边形A122、多边形A123和多边形A124可以是第一多边形,多边形A12可以是第二多边形。
又如,多边形A11、多边形A13和多边形A14可以是第一多边形,多边形A1可以是第二多边形。
803,向该路由节点发送定位反馈,该定位反馈包括地理位置信息,该地理位置信息用于描述包含该坐标的地理位置。
该地理位置信息可以是AOI。该地理位置信息描述的地理位置可以是步骤802中所确定的目标多边形。
图8所示的方法的各个步骤的具体实现方式可以参考图7所示的实施例,多边形分割、索引以及路由信息的确定方式可以参考图3所示的实施例,为了简洁,在此就不再赘述。
图9是根据本申请实施例提供的一种计算机设备的示意图。如图9所示的计算机设备 900可以执行上述实施例中由路由节点执行的步骤。如图9所示的计算机设备900包括接收单元901、处理单元902和发送单元903。
接收单元901,用于接收来自于终端设备的坐标。
处理单元902,用于根据路由信息和对应于该坐标的目标区域标识,确定对应于该目标区域标识的目标数据节点,其中该路由信息用于指示区域标识和数据节点的对应关系,该目标区域标识用于指示包含该坐标的区域。
发送单元903,用于向该目标数据节点发送定位请求,该定位请求包括该坐标。
接收单元901,还用于接收来自于该目标数据节点的定位反馈,该定位反馈包括地理位置信息,该地理位置信息用于描述包含该坐标的地理位置。
接收单元901、处理单元902和发送单元903的具体功能和有益效果可以参考上述方法部分实施例的描述,为了简洁,在此就不再赘述。
应理解,图9仅为示例而非限定,上述包括接收单元、发送单元和处理单元的计算机设备可以不依赖于图9所示的结构。
当该计算机设备900为芯片时,该芯片包括接收单元、发送单元和处理单元。其中,接收单元和发送单元可以是输入输出电路、通信接口;处理单元为该芯片上集成的处理器或者微处理器或者集成电路。
图10是根据本申请实施例提供的另一种计算机设备的示意图。如图10所示的计算机设备1000可以执行上述实施例中由数据节点执行的步骤。如图10所示的计算机设备1000包括接收单元1001、处理单元1002和发送单元1003。
接收单元1001,用于接收来自于路由节点的定位请求,该定位请求包括坐标。
处理单元1002,用于根据多边形索引信息、该坐标和对应于该坐标的目标区域标识,确定该坐标对应的目标多边形,其中,该多边形索引信息用于指示区域标识和多边形的对应关系,该目标区域标识与多个第一多边形对应,该目标多边形为该多个第一多边形中的一个,该多个第一多边形是对一个第二多边形进行分割得到的部分或全部多边形,该坐标位于该目标多边形的范围内。
发送单元1003,用于向该路由节点发送定位反馈,该定位反馈包括地理位置信息,该地理位置信息用于描述该目标多边形。
接收单元1001、处理单元1002和发送单元1003的具体功能和有益效果可以参考上述方法部分实施例的描述,为了简洁,在此就不再赘述。
应理解,图10仅为示例而非限定,上述包括接收单元、发送单元和处理单元的计算机设备可以不依赖于图10所示的结构。
当该计算机设备1000为芯片时,该芯片包括接收单元、发送单元和处理单元。其中,接收单元和发送单元可以是输入输出电路、通信接口;处理单元为该芯片上集成的处理器或者微处理器或者集成电路。
图11是根据本申请实施例提供的另一种计算机设备的示意图。如图11所示的计算机设备1100可以执行上述实施例中由处理节点执行的步骤。如图11所示的计算机设备1100包括处理单元1101和发送单元1102。
处理单元1101,可以用于对多边形分割,得到多个多边形。
处理单元1101,还可以用于确定分割得到的多个多边形中的每个多边形是否满足预设条件;确定满足条件的多边形和区域标识的对应关系,得到多边形索引信息;对不满足预设条件的多边形继续分割直到得到满足条件的多边形。
发送单元1102,用于将处理单元1101确定的多个索引信息发送给多个数据节点。
处理单元1101,还用于确定路由信息。
发送单元1102,还用于将该路由信息发送至路由节点。
处理单元1101和发送单元1102的具体功能和有益效果可以参考上述方法部分实施例的描述,为了简洁,在此就不再赘述。
应理解,图11仅为示例而非限定,上述包括接收单元、发送单元和处理单元的计算机设备可以不依赖于图11所示的结构。
当该计算机设备1100为芯片时,该芯片包括发送单元和处理单元。其中,发送单元可以是输入输出电路、通信接口;处理单元为该芯片上集成的处理器或者微处理器或者集成电路。
本申请实施例还提供了一种计算机设备,包括处理器和存储器。处理器用于与存储器耦合,读取并执行存储器中的指令和/或程序代码,以执行上述方法实施例中处理节点执行的步骤。
本申请实施例还提供了一种计算机设备,包括处理器和存储器。处理器用于与存储器耦合,读取并执行存储器中的指令和/或程序代码,以执行上述方法实施例中路由节点执行的步骤。
本申请实施例还提供了一种计算机设备,包括处理器和存储器。处理器用于与存储器耦合,读取并执行存储器中的指令和/或程序代码,以执行上述方法实施例中数据节点执行的步骤。
应理解,上述处理器可以是一个芯片。例如,该处理器可以是现场可编程门阵列(field programmable gate array,FPGA),可以是专用集成芯片(application specificintegrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processor unit,CPU),还可以是网络处理器(network processor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(microcontroller unit, MCU),还可以是可编程控制器(programmable logic device,PLD)、其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,或其他集成芯片。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应注意,本申请实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器 (enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM, SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
根据本申请实施例提供的方法,本申请还提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行上述实施例中处理节点执行的各个步骤。
根据本申请实施例提供的方法,本申请还提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行上述实施例中路由节点执行的各个步骤。
根据本申请实施例提供的方法,本申请还提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行上述实施例中数据节点执行的各个步骤。
根据本申请实施例提供的方法,本申请还提供一种计算机可读介质,该计算机可读介质存储有程序代码,当该程序代码在计算机上运行时,使得该计算机执行上述实施例中处理节点执行的各个步骤。
根据本申请实施例提供的方法,本申请还提供一种计算机可读介质,该计算机可读介质存储有程序代码,当该程序代码在计算机上运行时,使得该计算机执行上述实施例中数据节点执行的各个步骤。
根据本申请实施例提供的方法,本申请还提供一种计算机可读介质,该计算机可读介质存储有程序代码,当该程序代码在计算机上运行时,使得该计算机执行上述实施例中路由节点执行的各个步骤。
根据本申请实施例提供的方法,本申请还提供一种系统,其包括前述的处理节点、一个或多个路由节点和多个数据节点。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (32)
1.一种定位方法,其特征在于,所述方法包括:
接收来自于终端设备的坐标;
根据路由信息和对应所述坐标的目标区域标识,确定对应于所述目标区域标识的目标数据节点,其中所述路由信息用于指示区域标识和数据节点的对应关系,所述目标区域标识用于指示包含所述坐标的区域;
向所述目标数据节点发送定位请求,所述定位请求包括所述坐标;
接收来自于所述目标数据节点的定位反馈,所述定位反馈包括地理位置信息,所述地理位置信息用于描述包含所述坐标的地理位置。
2.如权利要求1所述的方法,其特征在于,所述路由信息包括多个索引以及与各个索引对应的数据节点的标识,其中所述多个索引中的每个索引为一个区域标识或者一个区域标识范围。
3.如权利要求1或2所述的方法,其特征在于,所述定位反馈还包括至少一个信息点POI,所述坐标与所述至少一个POI中的每个POI之间的距离小于预设阈值。
4.一种定位方法,其特征在于,所述方法包括:
接收来自于路由节点的定位请求,所述定位请求包括坐标;
根据多边形索引信息、所述坐标和对应于所述坐标的目标区域标识,确定所述坐标对应的目标多边形,其中,所述多边形索引信息用于指示区域标识和多边形的对应关系,所述目标区域标识与多个第一多边形对应,所述目标多边形为所述多个第一多边形中的一个,所述多个第一多边形是对一个第二多边形进行分割得到的部分或全部多边形,所述坐标位于所述目标多边形的范围内;
向所述路由节点发送定位反馈,所述定位反馈包括地理位置信息,所述地理位置信息用于描述包含所述坐标的地理位置。
5.如权利要求4所述的方法,其特征在于,所述多边形索引信息包括多个索引以及与各个索引对应的第一多边形,其中所述多个索引中的每个索引为一个区域标识;
所述根据多边形索引信息、所述目标区域标识和所述坐标,确定目标多边形,包括:
从所述多个索引中确定与所述目标区域标识匹配的目标索引;
对与所述目标索引对应的所述多个第一多边形进行排序;
根据排序结果和所述坐标,确定所述目标多边形。
6.如权利要求5所述的方法,其特征在于,所述对与所述目标索引对应的所述多个第一多边形进行排序,包括:
根据所述多个第一多边形的信息区域AOI级别,对所述多个第一多边形进行排序,其中AOI级别较高的第一多边形的排名高于AOI级别较低的第一多边形排名。
7.如权利要求6所述的方法,其特征在于,所述对与所述目标索引对应的所述多个第一多边形进行排序,还包括:
确定所述多个第一多边形中的N个AOI级别相同的第一多边形,其中N为大于或等于2的正整数;
根据N个AOI级别相同的第一多边形中的每个参考区域的中心点到所述坐标的距离,对所述N个AOI级别相同的第一多边形进行排序,其中,所述N个AOI级别相同的第一多边形中中心点到所述坐标距离较近的第一多边形的排名高于中心点到所述坐标较远的第一多边形的排名。
8.如权利要求5至7中任一项所述的方法,其特征在于,所述根据排序结果和所述坐标,确定所述目标多边形,包括:
从所述多个第一多边形中的排名最高的第一多边形起,依次判断所述第一多边形是否包含所述坐标,直到确定出所述目标多边形。
9.如权利要求4至8中任一项所述的方法,其特征在于,在所述向所述路由节点发送定位反馈之前,所述方法还包括:
确定所述目标数据节点中是否包括目标信息点POI,其中所述目标POI为与所述坐标距离小于预设阈值的POI;
在所述目标数据节点中包括所述目标POI的情况下,所述定位反馈还包括所述目标POI。
10.如权利要求4至9中任一项所述的方法,其特征在于,
所述第二多边形的边界点数量大于预设边界点数量阈值,所述第一多边形的边界点数量小于或等于所述预设边界点数量阈值;或者
所述第二多边形的边界点数量大于所述预设边界点数量阈值且所述第二多边形的面积大于预设面积阈值,所述第一多边形的边界点数量小于或等于所述预设边界点数量阈值,或者,所述第一多边形的面积小于或等于所述预设面积。
11.如权利要求4至10中任一项所述的方法,其特征在于,所述多个第一多边形是根据所述第二多边形的外接图形的中心点,对所述第二多边形进行分割得到的部分或全部多边形。
12.如权利要求11所述的方法,其特征在于,所述外接图形为正多边形、梯形、平行四边形,或者圆形,其中所述外接正多边形的边数小于或等于8。
13.如权利要求4至12中任一项所述的方法,其特征在于,所述目标区域标识为与所述目标多边形对应的至少一个区域标识中的一个。
14.一种计算机设备,其特征在于,包括:
接收单元,用于接收来自于终端设备的坐标;
处理单元,用于根据路由信息和对应所述坐标的目标区域标识,确定对应于所述目标区域标识的目标数据节点,其中所述路由信息用于指示区域标识和数据节点的对应关系,所述目标区域标识用于指示包含所述坐标的区域;
发送单元,用于向所述目标数据节点发送定位请求,所述定位请求包括所述坐标;
所述接收单元,还用于接收来自于所述目标数据节点的定位反馈,所述定位反馈包括地理位置信息,所述地理位置信息用于描述包含所述坐标的地理位置。
15.如权利要求14所述的计算机设备,其特征在于,所述路由信息包括多个索引以及与各个索引对应的数据节点的标识,其中所述多个索引中的每个索引为一个区域标识或者一个区域标识范围。
16.如权利要求14或15所述的计算机设备,其特征在于,所述定位反馈还包括至少一个信息点POI,所述坐标与所述至少一个POI中的每个POI之间的距离小于预设阈值。
17.一种计算机设备,其特征在于,包括:
接收单元,用于接收来自于路由节点的定位请求,所述定位请求包括坐标;
处理单元,用于根据多边形索引信息、所述坐标和对应于所述坐标的目标区域标识,确定所述坐标对应的目标多边形,其中,所述多边形索引信息用于指示区域标识和多边形的对应关系,所述目标区域标识与多个第一多边形对应,所述目标多边形为所述多个第一多边形中的一个,所述多个第一多边形是对一个第二多边形进行分割得到的部分或全部多边形,所述坐标位于所述目标多边形的范围内;
发送单元,用于向所述路由节点发送定位反馈,所述定位反馈包括地理位置信息,所述地理位置信息用于描述包含所述坐标的地理位置。
18.如权利要求17所述的计算机设备,其特征在于,所述多边形索引信息包括多个索引以及与各个索引对应的第一多边形,其中所述多个索引中的每个索引为一个区域标识;
所述处理单元,具体用于从所述多个索引中确定与所述目标区域标识匹配的目标索引;对与所述目标索引对应的所述多个第一多边形进行排序;根据排序结果和所述坐标,确定所述目标多边形。
19.如权利要求18所述的计算机设备,其特征在于,所述处理单元,具体用于根据所述多个第一多边形的信息区域AOI级别,对所述多个第一多边形进行排序,其中AOI级别较高的第一多边形的排名高于AOI级别较低的第一多边形排名。
20.如权利要求19所述的计算机设备,其特征在于,所述处理单元,具体用于确定所述多个第一多边形中的N个AOI级别相同的第一多边形,其中N为大于或等于2的正整数;
根据N个AOI级别相同的第一多边形中的每个参考区域的中心点到所述坐标的距离,对所述N个AOI级别相同的第一多边形进行排序,其中,所述N个AOI级别相同的第一多边形中中心点到所述坐标距离较近的第一多边形的排名高于中心点到所述坐标较远的第一多边形的排名。
21.如权利要求18至20中任一项所述的计算机设备,其特征在于,所述处理单元,具体用于从所述多个第一多边形中的排名最高的第一多边形起,依次判断所述第一多边形是否包含所述坐标,直到确定出所述目标多边形。
22.如权利要求17至21中任一项所述的计算机设备,其特征在于,在所述向所述路由节点发送定位反馈之前,所述方法还包括:
确定所述目标数据节点中是否包括目标信息点POI,其中所述目标POI为与所述坐标距离小于预设阈值的POI;
在所述目标数据节点中包括所述目标POI的情况下,所述定位反馈还包括所述目标POI。
23.如权利要求17至22中任一项所述的计算机设备,其特征在于,
所述第二多边形的边界点数量大于预设边界点数量阈值,所述第一多边形的边界点数量小于或等于所述预设边界点数量阈值;或者
所述第二多边形的边界点数量大于所述预设边界点数量阈值且所述第二多边形的面积大于预设面积阈值,所述第一多边形的边界点数量小于或等于所述预设边界点数量阈值,或者,所述第一多边形的面积小于或等于所述预设面积。
24.如权利要求17至23中任一项所述的计算机设备,其特征在于,所述多个第一多边形是根据所述第二多边形的外接图形的中心点,对所述第二多边形进行分割得到的部分或全部多边形。
25.如权利要求24所述的计算机设备,其特征在于,所述外接图形为正多边形、梯形、平行四边形,或者圆形,其中所述外接正多边形的边数小于或等于8。
26.如权利要求17至25中任一项所述的计算机设备,其特征在于,所述目标区域标识为与所述目标多边形对应的至少一个区域标识中的一个。
27.一种计算机设备,其特征在于,包括:处理器,所述处理器用于与存储器耦合,读取并执行所述存储器中的指令和/或程序代码,以执行如权利要求1至3中任一项所述的方法。
28.一种计算机设备,其特征在于,包括处理器,所述处理器用于与存储器耦合,读取并执行所述存储器中的指令和/或程序代码,以执行如权利要求4至13中任一项所述的方法。
29.一种芯片系统,其特征在于,包括:逻辑电路,所述逻辑电路用于与输入/输出接口耦合,通过所述输入/输出接口传输数据,以执行如权利要求1至3中任一项所述的方法。
30.一种芯片系统,其特征在于,包括:逻辑电路,所述逻辑电路用于与输入/输出接口耦合,通过所述输入/输出接口传输数据,以执行如权利要求4至13中任一项所述的方法。
31.一种计算机可读介质,其特征在于,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行如权利要求1至3中任一项所述的方法。
32.一种计算机可读介质,其特征在于,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行如权利要求4至13中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110426810.3A CN115221159A (zh) | 2021-04-20 | 2021-04-20 | 定位方法和相关装置 |
PCT/CN2022/086658 WO2022222828A1 (zh) | 2021-04-20 | 2022-04-13 | 定位方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110426810.3A CN115221159A (zh) | 2021-04-20 | 2021-04-20 | 定位方法和相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115221159A true CN115221159A (zh) | 2022-10-21 |
Family
ID=83605047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110426810.3A Pending CN115221159A (zh) | 2021-04-20 | 2021-04-20 | 定位方法和相关装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115221159A (zh) |
WO (1) | WO2022222828A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117290617A (zh) * | 2023-08-18 | 2023-12-26 | 中国船舶集团有限公司第七〇九研究所 | 一种海上分布式多源异构时空数据查询方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9019984B2 (en) * | 2011-06-03 | 2015-04-28 | Apple Inc. | Selecting wireless access points for geofence monitoring |
CN105103619B (zh) * | 2013-03-15 | 2019-08-30 | 波音公司 | 基于路由器物理位置的安全路由 |
US11562040B2 (en) * | 2014-09-25 | 2023-01-24 | United States Postal Service | Methods and systems for creating and using a location identification grid |
CN108271120B (zh) * | 2017-12-22 | 2020-04-24 | 阿里巴巴集团控股有限公司 | 目标区域及目标用户的确定方法、装置及设备 |
CN112639766A (zh) * | 2018-10-05 | 2021-04-09 | 谷歌有限责任公司 | 改善离线地图数据可用性 |
-
2021
- 2021-04-20 CN CN202110426810.3A patent/CN115221159A/zh active Pending
-
2022
- 2022-04-13 WO PCT/CN2022/086658 patent/WO2022222828A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022222828A1 (zh) | 2022-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10149094B2 (en) | Systems and methods to identify a predefined geographical region in which a mobile device is located | |
CA3038583C (en) | Method and device for determining areas of interest based on geolocation data | |
US10555115B1 (en) | Cacheable geographic pages | |
CN109478184B (zh) | 识别、处理和显示数据点聚类 | |
WO2015154438A1 (zh) | 定位方法及装置 | |
US8996551B2 (en) | Managing geographic region information | |
CN111651685A (zh) | 一种兴趣点获取方法、装置、电子设备及存储介质 | |
CN115221159A (zh) | 定位方法和相关装置 | |
CN110779516A (zh) | 一种移动终端地图定位方法、终端设备及存储介质 | |
US20050278117A1 (en) | Automated method and system to calculate the surface distance between two geographical locations, and to filter a data set based on the calculation | |
CN103279524A (zh) | 基于geocoding的二手车车源信息搜索和排序法 | |
CN116541616A (zh) | 对象放置地址确定方法、装置、计算机设备和存储介质 | |
US10452733B2 (en) | Semantic location and proximity of maps | |
CN107657474B (zh) | 一种商圈边界的确定方法及服务端 | |
CN110750602A (zh) | 确定订单地址所属站点的方法和装置 | |
CN111737374B (zh) | 位置坐标确定方法、装置、电子设备及存储介质 | |
CN103186528A (zh) | 筛选地理信息的方法、装置与移动终端 | |
Kumar et al. | Referencing and coordinate systems in GIS | |
CN111274272B (zh) | 一种对象的查找方法、装置及计算机系统 | |
CN111460057A (zh) | Poi坐标确定方法、装置与设备 | |
CN111858543B (zh) | 商业地图的质量评估方法、装置及计算设备 | |
CN107092630B (zh) | 业务对象的搜索方法和装置 | |
WO2021020274A1 (ja) | 位置空間識別方法、位置空間識別子付与装置及びコンピュータプログラム | |
CN108573653B (zh) | 电子地图生成方法及装置 | |
CN113868555A (zh) | 一种轨迹检索方法、装置、设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |