用于基于四叉树结构确定目标的地理位置的方法和装置与流程

文档序号:11707714阅读:317来源:国知局
用于基于四叉树结构确定目标的地理位置的方法和装置与流程

本公开涉及计算机技术领域,更具体地,涉及用于基于四叉树结构确定目标在特定区域中的地理位置的方法和装置以及计算机设备。



背景技术:

反向地理编码服务是将地球表面的地址坐标转换为标准地址的过程。反向地理编码提供坐标定位引擎来帮助用户通过地面某个地物坐标值反向查询得到该地物所在的行政区、街道以及最匹配的标准地址信息。通过丰富的标准地址库中的数据,可以帮助用户在进行查询、分析、规划等领域创造无限价值。例如,可以通过坐标(113.123,37.123)得到地址(北京市通州区科创十一街18号院)。在现有反向地理编码实现过程中有多种实现方法,最常见的有两种方案。第一种方案是通过搜索技术实现反向地理编码。即,设计并实现搜索最近目标位置算法;找出多个符合半径范围内的位置(过滤出来的目标位置会比较多);设计一套过滤算法;在找出的多个目标位置之后,通过过滤算法,找出距离目标最近的位置;以及返回与找出的最近位置对应的文本地址。第一种实现方案能够适应在互联网环境下多用户同时访问;并且可以较好地平均用户每次访问的处理时间。第二种实现方案是通过传统gis相关技术实现反向地理编码。即,建立集合数据库;使用几何算法或者数据库查询;查询距离目标最近的位置;以及返回找出的最近位置对应的文本地址。然而,在实现本发明过程中,发明人发现现有技术中至少存在如下问题:第一种实现方案的准确性和可信度欠佳;并且第二种实现方案应用在互联网环境下,太过专业,无法适应所有的业务环境;当针对多用户访问时,响应速度受限;并且要求数据源较多。



技术实现要素:

鉴于此,本发明实施例提出了用于基于四叉树结构确定目标在特定区域中的地理位置的方法和装置以及计算机设备。

本发明实施例提出了一种用于基于四叉树结构确定目标在特定区域中的地理位置的方法,包括:

确定所述目标在所述特定区域中所在的末级矩形x,其中基于所述四叉树结构将所述特定区域划分为多级矩形并且对所述矩形进行四叉树编码,每一级矩形包括一个或多个矩形,并且每一个矩形内包含至少一个参考位置点;

根据所述末级矩形x的编码值来确定所述末级矩形x的多个相邻矩形;以及

计算所述目标与所述末级矩形和所述多个相邻矩形中的参考位置点之间的距离,并将与最小距离相对应的参考位置点的地理位置确定为所述目标的地理位置。

优选地,根据所述末级矩形x的编码值来确定所述末级矩形x的多个相邻矩形包括:

步骤s710:将所述末级矩形x作为当前末级矩形;

步骤s720:根据所述当前末级矩形的编码值的最末2个二进制位来确定所述当前末级矩形的相邻候选矩形的最末2个二进制位,并且通过将所述当前末级矩形的编码值中位于最末2个二进制位之前的二进制位与所确定的相邻候选矩形的最末2个二进制位进行组合来确定所述当前末级矩形的待判定级别相邻候选矩形集合;

步骤s730:确定存储器中是否存在与所述待判定级别相邻候选矩形集合中的相邻候选矩形相对应的与非空矩形相关联的编码值:

如果存在,则执行候选矩形距离判断:根据所述目标到相应候选矩形中心点的距离与预定阈值的比较从所述待判定级别相邻候选矩形集合中排除一个或多个候选矩形,然后针对所述待判定级别相邻候选矩形集合中的相邻候选矩形中的每一个,执行候选矩形划分判断:确定该相邻候选矩形是否被继续划分,如果没有,则将所述相邻候选矩形确定为末级相邻矩形,存储所述末级相邻矩形,并继续步骤s740,如果所述候选矩形被继续划分,则确定划分后的相邻候选矩形中距所述目标最近的预定数量的矩形,将所述最近的预定数量的矩形组合作为新的待判定级别相邻候选矩形集合,针对待判定级别相邻候选矩形集合中的相邻候选矩形中的每一个,执行所述候选矩形划分判断,直到到达末级矩形为止,存储所述末级相邻矩形,并继续步骤s740;

如果不存在,则继续步骤s740;

步骤s740:确定所述当前末级矩形的编码值的位数是否大于2:

如果是,则执行步骤s750:将所述当前末级矩形的具有所述当前末级矩形的最末2个二进制位之前的二进制位的上一级矩形作为当前末级矩形,执行步骤s720;以及

如果否,则所述方法结束。

优选地,当所述当前末级矩形是所述末级矩形x时,不执行所述候选矩形距离判断。

优选地,每一个末级矩形中包括1000个参考位置点。

优选地,所述预定数量为一个或两个。

优选地,所述特定区域是基于如下方式利用四叉树进行划分和编码的:

步骤s310:将包含所述特定区域中的所有参考位置点的最小矩形确定为目标矩形,并且将所述目标矩形的编码确定为空;

步骤s320:确定所述目标矩形中的参考位置点的数量是否大于预定数量,如果是,则执行步骤s330;

步骤s330:将所述目标矩形划分为四个矩形,当所述目标矩形的编码为空时,将所述四个矩形编码为00、01、10和11并将所述编码值与所述矩形中的参考点的标识和所述参考位置点的地理位置相关联地存储在存储器中,并且当所述目标矩形的编码不为空时,将所述四个矩形分别编码为所述目标矩形的编码后接00、01、10和11,并将所述编码值与所述矩形中的参考点的标识和所述参考位置点的地理位置相关联地存储在存储器中;

步骤s340:针对所述四个矩形中的每一个,将该矩形确定为目标矩形,并且返回执行步骤s320,直到所述目标矩形中的参考位置点的数量小于预定数量为止。

优选地,所述矩形的范围与所述编码值、所述矩形中的参考位置点的标识和所述参考位置点的地理位置相关联地存储。

优选地,确定所述目标在所述特定区域中所在的末级矩形x还包括:

根据所述矩形的范围来确定包含所述目标的矩形中的最末级矩形x。

本发明实施例提出了一种用于基于四叉树结构确定目标在特定区域中的地理位置的装置,包括:

第一确定模块,被配置为确定所述目标在所述特定区域中所在的末级矩形x,其中基于所述四叉树结构将所述特定区域划分为多级矩形并且对所述矩形进行四叉树编码,每一级矩形包括一个或多个矩形,并且每一个矩形内包含至少一个参考位置点;

第二确定模块,被配置为根据所述末级矩形x的编码值来确定所述末级矩形x的多个相邻矩形;以及

计算模块,被配置为计算所述目标与所述末级矩形和所述多个相邻矩形中的参考位置点之间的距离,并将与最小距离相对应的参考位置点的地理位置确定为所述目标的地理位置。

优选地,所述第二确定模块被进一步配置为:

执行步骤s710:将所述末级矩形x作为当前末级矩形;

执行步骤s720:根据所述当前末级矩形的编码值的最末2个二进制位来确定所述当前末级矩形的相邻候选矩形的最末2个二进制位,并且通过将所述当前末级矩形的编码值中位于最末2个二进制位之前的二进制位与所确定的相邻候选矩形的最末2个二进制位进行组合来确定所述当前末级矩形的待判定级别相邻候选矩形集合;

执行步骤s730:确定存储器中是否存在与所述待判定级别相邻候选矩形集合中的相邻候选矩形相对应的与非空矩形相关联的编码值:

如果存在,则执行候选矩形距离判断:根据所述目标到相应候选矩形中心点的距离与预定阈值的比较从所述待判定级别相邻候选矩形集合中排除一个或多个候选矩形,然后针对所述待判定级别相邻候选矩形集合中的相邻候选矩形中的每一个,执行候选矩形划分判断:确定该相邻候选矩形是否被继续划分,如果没有,则将所述相邻候选矩形确定为末级相邻矩形,存储所述末级相邻矩形,并继续步骤s740,如果所述候选矩形被继续划分,则确定划分后的相邻候选矩形中距所述目标最近的预定数量的矩形,将所述最近的预定数量的矩形组合作为新的待判定级别相邻候选矩形集合,针对待判定级别相邻候选矩形集合中的相邻候选矩形中的每一个,执行所述候选矩形划分判断,直到到达末级矩形为止,存储所述末级相邻矩形,并继续步骤s740;

如果不存在,则继续执行步骤s740:确定所述当前末级矩形的编码值的位数是否大于2:

如果是,则执行步骤s750:将所述当前末级矩形的具有所述当前末级矩形的最末2个二进制位之前的二进制位的上一级矩形作为当前末级矩形,执行步骤s720;以及

如果否,则所述方法结束。

优选地,当所述当前末级矩形是所述末级矩形x时,不执行所述候选矩形距离判断。

优选地,每一个末级矩形中包括1000个参考位置点。

优选地,所述预定数量为一个或两个。

优选地,所述特定区域是基于如下方式利用四叉树进行划分和编码的:

步骤s310:将包含所述特定区域中的所有参考位置点的最小矩形确定为目标矩形,并且将所述目标矩形的编码确定为空;

步骤s320:确定所述目标矩形中的参考位置点的数量是否大于预定数量,如果是,则执行步骤s330;

步骤s330:将所述目标矩形划分为四个矩形,当所述目标矩形的编码为空时,将所述四个矩形编码为00、01、10和11并将所述编码值与所述矩形中的参考点的标识和所述参考位置点的地理位置相关联地存储在存储器中,并且当所述目标矩形的编码不为空时,将所述四个矩形分别编码为所述目标矩形的编码后接00、01、10和11,并将所述编码值与所述矩形中的参考点的标识和所述参考位置点的地理位置相关联地存储在存储器中;

步骤s340:针对所述四个矩形中的每一个,将该矩形确定为目标矩形,并且返回执行步骤s320,直到所述目标矩形中的参考位置点的数量小于预定数量为止。

优选地,所述矩形的范围与所述编码值、所述矩形中的参考位置点的标识和所述参考位置点的地理位置相关联地存储。

优选地,所述第二确定模块被进一步配置为:

根据所述矩形的范围来确定包含所述目标的矩形中的最末级矩形x。

本发明实施例提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:

确定所述目标在所述特定区域中所在的末级矩形x,其中基于所述四叉树结构将所述特定区域划分为多级矩形并且对所述矩形进行四叉树编码,每一级矩形包括一个或多个矩形,并且每一个矩形内包含至少一个参考位置点;

根据所述末级矩形x的编码值来确定所述末级矩形x的多个相邻矩形;以及

计算所述目标与所述末级矩形和所述多个相邻矩形中的参考位置点之间的距离,并将与最小距离相对应的参考位置点的地理位置确定为所述目标的地理位置。

优选地,根据所述末级矩形x的编码值来确定所述末级矩形x的多个相邻矩形包括:

步骤s710:将所述末级矩形x作为当前末级矩形;

步骤s720:根据所述当前末级矩形的编码值的最末2个二进制位来确定所述当前末级矩形的相邻候选矩形的最末2个二进制位,并且通过将所述当前末级矩形的编码值中位于最末2个二进制位之前的二进制位与所确定的相邻候选矩形的最末2个二进制位进行组合来确定所述当前末级矩形的待判定级别相邻候选矩形集合;

步骤s730:确定存储器中是否存在与所述待判定级别相邻候选矩形集合中的相邻候选矩形相对应的与非空矩形相关联的编码值:

如果存在,则执行候选矩形距离判断:根据所述目标到相应候选矩形中心点的距离与预定阈值的比较从所述待判定级别相邻候选矩形集合中排除一个或多个候选矩形,然后针对所述待判定级别相邻候选矩形集合中的相邻候选矩形中的每一个,执行候选矩形划分判断:确定该相邻候选矩形是否被继续划分,如果没有,则将所述相邻候选矩形确定为末级相邻矩形,存储所述末级相邻矩形,并继续步骤s740,如果所述候选矩形被继续划分,则确定划分后的相邻候选矩形中距所述目标最近的预定数量的矩形,将所述最近的预定数量的矩形组合作为新的待判定级别相邻候选矩形集合,针对待判定级别相邻候选矩形集合中的相邻候选矩形中的每一个,执行所述候选矩形划分判断,直到到达末级矩形为止,存储所述末级相邻矩形,并继续步骤s740;

如果不存在,则继续步骤s740;

步骤s740:确定所述当前末级矩形的编码值的位数是否大于2:

如果是,则执行步骤s750:将所述当前末级矩形的具有所述当前末级矩形的最末2个二进制位之前的二进制位的上一级矩形作为当前末级矩形,执行步骤s720;以及

如果否,则所述方法结束。

优选地,当所述当前末级矩形是所述末级矩形x时,不执行所述候选矩形距离判断。

优选地,每一个末级矩形中包括1000个参考位置点。

优选地,所述预定数量为一个或两个。

优选地,所述特定区域是基于如下方式利用四叉树进行划分和编码的:

步骤s310:将包含所述特定区域中的所有参考位置点的最小矩形确定为目标矩形,并且将所述目标矩形的编码确定为空;

步骤s320:确定所述目标矩形中的参考位置点的数量是否大于预定数量,如果是,则执行步骤s330;

步骤s330:将所述目标矩形划分为四个矩形,当所述目标矩形的编码为空时,将所述四个矩形编码为00、01、10和11并将所述编码值与所述矩形中的参考点的标识和所述参考位置点的地理位置相关联地存储在存储器中,并且当所述目标矩形的编码不为空时,将所述四个矩形分别编码为所述目标矩形的编码后接00、01、10和11,并将所述编码值与所述矩形中的参考点的标识和所述参考位置点的地理位置相关联地存储在存储器中;

步骤s340:针对所述四个矩形中的每一个,将该矩形确定为目标矩形,并且返回执行步骤s320,直到所述目标矩形中的参考位置点的数量小于预定数量为止。

优选地,所述矩形的范围与所述编码值、所述矩形中的参考位置点的标识和所述参考位置点的地理位置相关联地存储。

优选地,确定所述目标在所述特定区域中所在的末级矩形x还包括:

根据所述矩形的范围来确定包含所述目标的矩形中的最末级矩形x。

由于采用四叉树编码的技术手段,克服了确定地理位置的准确性较低且响应速度较慢等问题,进而达到快速且准确地确定目标的地理位置的技术效果。

附图说明

根据结合示例性附图对示例性实施例的以下描述,本公开的其他细节、方面和优点将变得显而易见,在附图中:

图1示意性地示出了根据本发明的实施例的用于基于四叉树结构确定目标在特定区域中的地理位置的方法100的示意图;

图2示意性地示出了根据本发明的实施例的位置数据集的二维分布的示意图;

图3示意性地示出了根据本发明的实施例的利用四叉树对特定区域进行编码的方法的示意图;

图4示意性地示出了根据本发明的实施例利用四叉树编码通过图2所示的二维分布得到的编码结果的示意图;

图5示意性地示出了根据本发明的实施例确定目标的末级矩形的方法的示意图;

图6示意性地示出了根据本发明的实施例确定目标的末级矩形的示意图;

图7示意性地示出了根据本发明的实施例的根据末级矩形x的编码值来确定末级矩形x的多个相邻矩形的示意图;

图8示意性地示出了根据本发明的实施例用于基于四叉树结构确定目标在特定区域中的地理位置的装置800的示意图;以及

图9示意性地示出了根据本发明的实施例用于基于四叉树结构确定目标在特定区域中的地理位置的系统900的示意图。

附图没有对实施例的所有电路或结构进行显示。贯穿所有附图相同的附图标记表示相同或相似的部件或特征。

具体实施方式

下面将详细描述本发明的具体实施例,应当注意,这里描述的实施例只用于举例说明,并不用于限制本发明。在以下描述中,为了提供对本发明的透彻理解,阐述了大量特定细节。然而,对于本领域普通技术人员显而易见的是:不必采用这些特定细节来实行本发明。在其他实例中,为了避免混淆本发明,未具体描述公知的电路、材料或方法。

在整个说明书中,对“一个实施例”、“实施例”、“一个示例”或“示例”的提及意味着:结合该实施例或示例描述的特定特征、结构或特性被包含在本发明至少一个实施例中。因此,在整个说明书的各个地方出现的短语“在一个实施例中”、“在实施例中”、“一个示例”或“示例”不一定都指同一实施例或示例。此外,可以以任何适当的组合和/或子组合将特定的特征、结构或特性组合在一个或多个实施例或示例中。此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。这里使用的术语“和/或”包括一个或多个相关列出的项目的任何和所有组合。

下面参照图1描述用于基于四叉树结构确定目标在特定区域中的地理位置的方法100。在步骤s10,确定目标在特定区域中所在的末级矩形x,其中基于四叉树结构将特定区域划分为多级矩形并且对矩形进行四叉树编码,每一级矩形包括一个或多个矩形,并且每一个矩形内包含至少一个参考位置点。

首先,将描述基于四叉树结构将特定区域划分为多级矩形并且对矩形进行四叉树编码。例如,在特定区域中存在如下位置数据集:a(20,50),b(35,40),c(50,50),d(60,40),e(65,35),f(70,20),g(60,25),h(45,30),i(10,30),j(20,20),k(30,10),1(50,10),m(70,10),其二维分布如图2所示。

首先,找出包含所有位置数据集的最小矩形a。例如,可以通过以下方式来得到最小矩形a:获得所有位置数据集中位于左下角的位置数据作为矩形左下角的坐标;获得所有位置数据集中位于右上角的位置数据作为矩形右上角的坐标;以及将这两个坐标进行组合以得到包含所有位置数据集的最小矩形a的范围。然后,如图3所示,基于如下方式利用四叉树对该特定区域进行划分和编码:

步骤s310:将与特定区域相对应的最小矩形a确定为目标矩形,并且将目标矩形的编码确定为空;

步骤s320:确定目标矩形中的参考位置点的数量是否大于预定数量(这里设置为1,当然,该预定数量也可以为其他任意数值,例如,1000),如果是,则执行步骤s330;

步骤s330:将目标矩形划分为四个矩形,当目标矩形的编码为空时,将四个矩形编码为00、01、10和11并将所述编码值与所述矩形中的参考点的标识和所述参考位置点的地理位置相关联地存储在存储器中,并且当目标矩形的编码不为空时,将四个矩形分别编码为目标矩形的编码后接00、01、10和11,并将编码值与矩形中的参考点的标识和所述参考位置点的地理位置相关联地存储在存储器中;

步骤s340:针对四个矩形中的每一个,将该矩形确定为目标矩形,并且返回执行步骤s320,直到目标矩形中的参考位置点的数量小于预定数量为止。

以图2所示的位置数据集为例,根据该数据集生成的编码结果如图4所示。

应当注意的是,矩形的范围可以用左下角坐标和右上角坐标的组合来表示,并且可以与该矩形的编码值、该矩形中的参考位置点的标识和该参考位置点的地理位置相关联地存储在存储器中。

当利用四叉树结构对特定区域进行了划分和编码之后,需要确定目标在特定区域中所在的末级矩形,即,包含目标的所有矩形中的最小矩形b。例如,如图5所示,可以通过以下方式来确定目标的末级矩形。

在步骤s510,以与特定区域相对应的上述最小矩形a作为目标区域(四个坐标点为(x0,y1),(x1,y1),(x0,y0)和(x1,y0),如图6所示)。

在步骤s520,确定目标矩形是否被继续划分,如果否,则该目标矩形即为末级矩形,并且该过程结束,如果是,则执行步骤s530。

步骤s530:根据式1至式4确定目标所在的矩形(具体地,当满足式1和式3时,目标所在的矩形为左下角的矩形,当满足式1和式4时,目标所在的矩形为右下角的矩形,当满足式2和式3时,目标所在的矩形为左上角的矩形,以及当满足式2和式4时,目标所在的矩形为右上角的矩形),并且将所确定的矩形确定为目标矩形,继续执行步骤s520,直到目标矩形未被继续划分为止。

|y-y0|≤|y1-y|(式1)

|y-y0|>|y1-y|(式2)

|x-x0|≤|x1-x|(式3)

|x-x0|>|x1-x|(式4)

在步骤s11,根据末级矩形x的编码值来确定末级矩形x的多个相邻矩形。

具体地,如图7所示,步骤s11可以包括:

步骤s710:将末级矩形x作为当前末级矩形;

步骤s720:根据当前末级矩形的编码值的最末2个二进制位来确定当前末级矩形的相邻候选矩形的最末2个二进制位,并且通过将当前末级矩形的编码值中位于最末2个二进制位之前的二进制位与所确定的相邻候选矩形的最末2个二进制位进行组合来确定当前末级矩形的待判定级别相邻候选矩形集合。

如果当前末级矩形的编码值的最末2个二进制位是00,则当前末级矩形的相邻候选矩形的最末2个二进制位可能是01、11和10,如果当前末级矩形的编码值的最末2个二进制位是01,则当前末级矩形的相邻候选矩形的最末2个二进制位可能是00、11和10,如果当前末级矩形的编码值的最末2个二进制位是10,则当前末级矩形的相邻候选矩形的最末2个二进制位可能是00、01和11,并且如果当前末级矩形的编码值的最末2个二进制位是11,则当前末级矩形的相邻候选矩形的最末2个二进制位可能是01、10和00。

步骤s730:确定存储器中是否存在与待判定级别相邻候选矩形集合中的相邻候选矩形相对应的与非空矩形相关联的编码值:

如果存在,则执行候选矩形距离判断:根据目标到相应候选矩形中心点的距离与预定阈值的比较从待判定级别相邻候选矩形集合中排除一个或多个候选矩形,然后针对待判定级别相邻候选矩形集合中的相邻候选矩形中的每一个,执行候选矩形划分判断:确定该相邻候选矩形是否被继续划分,如果没有,则将相邻候选矩形确定为末级相邻矩形,存储末级相邻矩形,并继续步骤s740,如果候选矩形被继续划分,则确定划分后的相邻候选矩形中距目标最近的预定数量(例如,一个或两个)的矩形,将最近的预定数量的矩形组合作为新的待判定级别相邻候选矩形集合,针对待判定级别相邻候选矩形集合中的相邻候选矩形中的每一个,执行候选矩形划分判断,直到到达末级矩形为止,存储末级相邻矩形,并继续步骤s740;

如果不存在,则继续步骤s740;

步骤s740:确定当前末级矩形的编码值的位数是否大于2:

如果是,则执行步骤s750:将当前末级矩形的具有当前末级矩形的最末2个二进制位之前的二进制位的上一级矩形作为当前末级矩形,执行步骤s720;以及

如果否,则方法结束。

应当清楚的是,候选矩形距离判断是可选的,可以根本不执行该候选矩形距离判断,或者可以在当前末级矩形是末级矩形x时,不执行候选矩形距离判断。

下面,返回参照图3来描述根据本发明实施例的确定目标所在末级矩形的相邻矩形。

目标p所处位置如图4所示。可以确定当前末级矩形为矩形110010。该末级矩形110010的待判定级别相邻候选矩形集合为110000、110001和110011。由于110000和110011这两个矩形是空矩形,且矩形110001未被继续划分,因此该末级矩形110010的相邻末级矩形为110001。

由于当前末级矩形110010的编码值的位数大于2,因此将其上一级矩形1100作为当前末级矩形,继续确定该当前末级矩形的待判定级别相邻候选矩形集合1101、1110和1111。由于1111为空,因此将仅针对1101和1110执行候选矩形距离判断,从而排除矩形1101。针对矩形1110,执行候选矩形划分判断,确定出的相邻末级矩形为111001。

由于当前末级矩形1100的编码值的位数大于2,因此将其上一级矩形11作为当前末级矩形,继续确定该当前末级矩形的待判定级别相邻候选矩形集合00、10和01。类似地,针对矩形00和01,可以通过候选矩形距离判断将其排除,针对矩形10,可以确定候选相邻矩形为1011。

最后,可以确定目标p的相邻候选矩形为110001、111001和1011。

在步骤s12,计算目标(m1,n1)与所述末级矩形和所述多个相邻矩形中的参考位置点(xs,ys)之间的距离,如式5所示,并将与最小距离dmin相对应的参考位置点的地理位置确定为所述目标的地理位置。

d=|m1-xs|+|n1-ys|(式5)

本发明实施例具有以下有益效果:能适应互联网环境下的反向地理编码应用,并且处理速度快且准确性高。

图8示意性地示出了根据本发明的实施例用于基于四叉树结构确定目标在特定区域中的地理位置的装置800的示意图。装置800包括第一确定模块810,第二确定模块820和计算模块830。

第一确定模块810可以被配置为确定所述目标在所述特定区域中所在的末级矩形x,其中基于所述四叉树结构将所述特定区域划分为多级矩形并且对所述矩形进行四叉树编码,每一级矩形包括一个或多个矩形,并且每一个矩形内包含至少一个参考位置点。

第二确定模块820可以被配置为根据所述末级矩形x的编码值来确定所述末级矩形x的多个相邻矩形。

计算模块830可以被配置为计算所述目标与所述末级矩形和所述多个相邻矩形中的参考位置点之间的距离,并将与最小距离相对应的参考位置点的地理位置确定为所述目标的地理位置。

所述第二确定模块820可以被进一步配置为:

执行步骤s710:将所述末级矩形x作为当前末级矩形;

执行步骤s720:根据所述当前末级矩形的编码值的最末2个二进制位来确定所述当前末级矩形的相邻候选矩形的最末2个二进制位,并且通过将所述当前末级矩形的编码值中位于最末2个二进制位之前的二进制位与所确定的相邻候选矩形的最末2个二进制位进行组合来确定所述当前末级矩形的待判定级别相邻候选矩形集合;

执行步骤s730:确定存储器中是否存在与所述待判定级别相邻候选矩形集合中的相邻候选矩形相对应的与非空矩形相关联的编码值:

如果存在,则执行候选矩形距离判断:根据所述目标到相应候选矩形中心点的距离与预定阈值的比较从所述待判定级别相邻候选矩形集合中排除一个或多个候选矩形,然后针对所述待判定级别相邻候选矩形集合中的相邻候选矩形中的每一个,执行候选矩形划分判断:确定该相邻候选矩形是否被继续划分,如果没有,则将所述相邻候选矩形确定为末级相邻矩形,存储所述末级相邻矩形,并继续步骤s740,如果所述候选矩形被继续划分,则确定划分后的相邻候选矩形中距所述目标最近的预定数量的矩形,将所述最近的预定数量的矩形组合作为新的待判定级别相邻候选矩形集合,针对待判定级别相邻候选矩形集合中的相邻候选矩形中的每一个,执行所述候选矩形划分判断,直到到达末级矩形为止,存储所述末级相邻矩形,并继续步骤s740;

如果不存在,则继续执行步骤s740:确定所述当前末级矩形的编码值的位数是否大于2:

如果是,则执行步骤s750:将所述当前末级矩形的具有所述当前末级矩形的最末2个二进制位之前的二进制位的上一级矩形作为当前末级矩形,执行步骤s720;以及

如果否,则所述方法结束。

所述第二确定模块820可以被进一步配置为:根据所述矩形的范围来确定包含所述目标的矩形中的最末级矩形x。

本发明实施例具有以下有益效果:能适应互联网环境下的反向地理编码应用,并且处理速度快且准确性高。

图9示意性地示出了根据本发明的实施例用于基于四叉树结构确定目标在特定区域中的地理位置的系统900的示意图。系统900包括处理器910,例如,数字信号处理器(dsp)。处理器910可以是用于执行本文所描述的过程的不同动作的单个装置或多个装置。系统900还可以包括输入/输出(i/o)装置930,用于从其他实体接收信号或者向其他实体发送信号。

此外,系统900包括存储器920,该存储器920可以具有以下形式:非易失性或易失性存储器,例如,电可擦除可编程只读存储器(eeprom)、闪存等。存储器920存储计算机可读指令,当处理器910执行该计算机可读指令时,该计算机可读指令使处理器执行本文所述的动作。

本发明实施例具有以下有益效果:能适应互联网环境下的反向地理编码应用,并且处理速度快且准确性高。

以上的详细描述通过使用示意图、流程图和/或示例,已经阐述了检查方法和系统的众多实施例。在这种示意图、流程图和/或示例包含一个或多个功能和/或操作的情况下,本领域技术人员应理解,这种示意图、流程图或示例中的每一功能和/或操作可以通过各种结构、硬件、软件、固件或实质上它们的任意组合来单独和/或共同实现。在一个实施例中,本发明的实施例所述主题的若干部分可以通过专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、或其他集成格式来实现。然而,本领域技术人员应认识到,这里所公开的实施例的一些方面在整体上或部分地可以等同地实现在集成电路中,实现为在一台或多台计算机上运行的一个或多个计算机程序(例如,实现为在一台或多台计算机系统上运行的一个或多个程序),实现为在一个或多个处理器上运行的一个或多个程序(例如,实现为在一个或多个微处理器上运行的一个或多个程序),实现为固件,或者实质上实现为上述方式的任意组合,并且本领域技术人员根据本公开,将具备设计电路和/或写入软件和/或固件代码的能力。此外,本领域技术人员将认识到,本公开所述主题的机制能够作为多种形式的程序产品进行分发,并且无论实际用来执行分发的信号承载介质的具体类型如何,本公开所述主题的示例性实施例均适用。信号承载介质的示例包括但不限于:可记录型介质,如软盘、硬盘驱动器、紧致盘(cd)、数字通用盘(dvd)、数字磁带、计算机存储器等;以及传输型介质,如数字和/或模拟通信介质(例如,光纤光缆、波导、有线通信链路、无线通信链路等)。

虽然已参照几个典型实施例描述了本发明,但应当理解,所用的术语是说明和示例性、而非限制性的术语。由于本发明能够以多种形式具体实施而不脱离发明的精神或实质,所以应当理解,上述实施例不限于任何前述的细节,而应在随附权利要求所限定的精神和范围内广泛地解释,因此落入权利要求或其等效范围内的全部变化和改型都应为随附权利要求所涵盖。

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