CN101526366B - 地图数据处理方法及导航设备 - Google Patents
地图数据处理方法及导航设备 Download PDFInfo
- Publication number
- CN101526366B CN101526366B CN200910082963XA CN200910082963A CN101526366B CN 101526366 B CN101526366 B CN 101526366B CN 200910082963X A CN200910082963X A CN 200910082963XA CN 200910082963 A CN200910082963 A CN 200910082963A CN 101526366 B CN101526366 B CN 101526366B
- Authority
- CN
- China
- Prior art keywords
- graticule mesh
- segmental arc
- sensible degree
- sensible
- graticule
- 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.)
- Active
Links
Images
Landscapes
- Navigation (AREA)
Abstract
本发明提供地图数据处理方法及导航设备。本发明提供的技术方案由格网通达度来体现弧段在道路网络中的通达能力,从而,在实际路径规划中,对于某一端点如出发地或目的地,利用弧段的格网通达度,来检测与该端点相距一定距离的弧段,是否具有到达该端点的通达能力,若该弧段的格网通达度符合预设条件,则显示该弧段具有这样的通达能力,则在路径规划时,将该弧段纳入搜索空间,否则,不需要考虑该弧段;从而,不仅保证计算结果的准确性,而且相比较现有技术能够有效压缩搜索空间内的数据量,从而有效提高计算效率,且降低对硬件性能的要求,且不仅适用于资源不受限的应用场景,还可适用于资源受限环境。
Description
技术领域
本发明涉及导航技术领域,特别是一种地图数据处理方法及导航设备。
背景技术
通常,用户可在导航技术的帮助下,预先获知出发地到目的地的导航路径,常称为最优路径,并可按照该最优路径行驶,以顺利抵达目的地。
导航技术常基于地图数据做路径规划。地图数据是对实际道路交通的数学抽象,反映由弧段与结点构成的道路网络。其中,弧段是实际道路的数学抽象,记录道路的相关信息如,长度、宽度、道路等级、车道数、限制速度、通行限制等属性信息,等等;结点是实际道路中路口的数学抽象,标记路口,以及记录路口的转向限制信息、转向代价信息,等等。
最优路径的计算方式通常是,对地图数据做所记录的众多弧段做搜索处理,以找到能够连通出发地与目的地的路线,该路线由多个弧段连接而成。常称该计算所涉及的地图数据形成的数据空间为搜索空间。搜索空间内的数据量越大,则计算量越大,计算效率相应就低,并且,对硬件环境要求越高。
因此,期望在保证计算结果的准确性的前提下,控制搜索空间的数据量,以减少计算量,提高计算效率,降低对硬件的要求。
现有技术一为提高计算效率,按实际道路的自然等级,来划分地图数据所描述的道路网络,其中,实际道路的自然等级如高速路、国道、省道、城市道路、乡村道路,等;对应划分出弧段的等级;从而,在计算时,可设置相应的算法,先计算等级高的道路如高速路,等级较高的道路行不通的情况下,再计算等级较低的,以算出最终结果。现有技术一一定程度上可压缩搜索空间,但实际应用中存在“舍近求远”的弊端,即计算结果的准确性存在偏差,算出的最优路径未必是捷径,如有时的计算结果中存在需要绕路以走到高速路上的情况。
现有技术二期望从数据管理的层面,通过对地图数据进行有效管理,来尽量提高计算效率。现有技术二给出一种地图数据的存储结构,该存储结构为“层-区集-区-格网”四级结构。其中,格网是用于存储地图数据的基本存储单位,每个格网内存储一个地理区域内的地图数据,该地理区域可由最南端纬线、最北端纬线、最西端经线和最东端经线所围成的范围界定,因此,可将抽象的格网与该地理区域作形象的对应。参见图1,图1是格网的形象化示意图,格网A、B分别存储对应地理区域内的地图数据,如出发地在格网A内,目的地在格网B内,则图1中曲线X为出发地到目的地的最优路径。
基于对格网的理解,进一步阐述:区、区集以及层均可理解为数据存储单位,根据需要,可将多个格网归纳为一个区,将多个区归纳为一个区集,将多个区集归纳为一个层。
不同层上存储的地图数据可以对应相同的地理区域,通常体现对相同地理区域内的地图数据的不同抽象。如某层内存储某地理区域内全部道路的地图数据,而另一层内存储的地图数据虽然也反映该地理区域内的道路交通,但仅存储该地理区域内主干道路的地图数据。
现有技术二期望通过对地图数据的分层处理,在计算过程中根据具体情况,调用不同层上的地图数据,以优化计算效率,但实际并未提出较佳的具体解决方案。
目前大多导航产品的路径规划方案都和现有技术一或现有技术二相似。发明人在实现本发明的过程中,发现现有技术存在至少以下技术问题:
无论现有技术一还是现有技术一,本质上都是基于道路的自然等级对地图数据进行分层,使得路径规划的准确性存在较大偏差,并且计算效率不高。
发明内容
本发明实施例提供一种地图数据处理及导航设备,以解决在现有技术中存在的路径规划过程准确性存在偏差及计算效率不高的技术问题。
为解决上述技术问题,本发明实施例中,地图数据处理方法包括:
预设用于存储指定区域内地图数据的多个格网,所述指定区域内地图数据记录所述指定区域内道路网络中的弧段与结点;预先计算并存储格网内每个弧段的格网通达度;
所述弧段的格网通达度为:对于所有经过一弧段的最优路径,选取所述弧段在每条最优路径上的格网通达度中的最大值,作为所述弧段的格网通达度;
所述最优路径上的格网通达度为:对于最优路径上的弧段,记从出发地到所述弧段终点这一曲线段的格网通达距离为S1,记从该弧段起点到目的地这一曲线段的格网通达距离为S2,取S1与S2两值中的较小值为所述弧段在所述最优路径上的格网通达度,其中,曲线段所经过的不同格网的总数,为所述曲线段的格网通达距离;
所述预先计算格网内每个弧段的格网通达度包括:
读取每个格网内存储的地图数据;
根据读取到的地图数据,计算每个格网内每条格网路线的格网通达度;所述格网路线为所在格网上两个边界结点之间的路径;
记录每条格网路线上的弧段与结点,且根据每条格网路线的格网通达度,计算所述每个弧段的格网通达度;
所述计算每个格网内每条格网路线的格网通达度包括:
预设每条格网路线的格网通达度为n,且n的初始值为1;
步骤10、用n+1取代当前n的值;
步骤11、选取一条格网路线;
步骤12、以该格网路线为起始路线,扩展出经过该格网路线的扩展路径,且该扩展路径经过2n-1个不同格网,若位于第n个格网路线的格网通达度小于n,则更新为n;
步骤13、判断是否遍历所有格网路线,若是,执行步骤14;否则,执行步骤11;
步骤14、判断格网通达度不小于n的所有弧段的总数是否小于预设值,若是,则结束该流程,否则,执行步骤10;
所述计算所述每个弧段的格网通达度包括:
对于多条通过所述弧段的格网路线,选出其中格网通达度最大的格网路线,将所述格网路线的格网通达度作为所述弧段的格网通达度;
该方法还包括:
获知路径规划中的第一端点与第二端点;
对于离第一格网距离为M1个格网,离第二格网距离为M2个格网的各格网,设M为M1和M2中的较小值;M1与M2为非负整数;
若M<所有弧段的格网通达度中的最大值Max,则从各格网中选出符合第一预设条件的待用弧段;所述第一预设条件为:至少有一条路径经过该待用弧段,且该路径能够通达至少2M+1个格网;所述第一格网为所述第一端点所在格网,所述第二格网为所述第二端点所在格网;
若M≥Max,则从所述各格网中选出符合第二预设条件的待用弧段;所述第二预设条件为:至少有一条路径经过该待用弧段,且该路径能够通达至少2Max-1个格网;
以选出的待用弧段的集合为搜索空间,计算出所述第一端点与所述第二端点之间最优路径上的弧段。
为解决上述技术问题,本发明实施例中的导航设备包括:
用于存储指定区域内地图数据的多个格网,所述指定区域内地图数据记录所述指定区域内道路网络中的弧段与结点;还包括:通达度计算单元、第一存储单元、获取单元、过滤单元与路径计算单元;
所述通达度计算单元,用于计算格网内每个弧段的格网通达度,所述弧段的格网通达度为:对于所有经过一弧段的最优路径,选取所述弧段在每条最优路径上的格网通达度中的最大值,作为所述弧段的格网通达度,所述最优路径上的格网通达度为:对于最优路径上的弧段,记从出发地到所述弧段终点这一曲线段的格网通达距离为S1,记从该弧段起点到目的地这一曲线段的格网通达距离为S2,取S1与S2两值中的较小值为所述弧段在所述最优路径上的格网通达度,其中,曲线段所经过的不同格网的总数,为所述曲线段的格网通达 距离;
所述第一存储单元,用于存储每个弧段的格网通达度;
所述获取单元,用于获知路径规划中的第一端点与第二端点;
所述过滤单元,用于对于离第一格网距离为M1个格网,离第二格网距离为M2个格网的各格网,设M为M1和M2中的较小值;M1与M2为非负整数;若M<所有弧段的格网通达度中的最大值Max,则从各格网中选出符合第一预设条件的待用弧段;所述第一预设条件为:至少有一条路径经过该待用弧段,且该路径能够通达至少2M+1个格网;所述第一格网为所述第一端点所在格网,所述第二格网为所述第二端点所在格网;若M≥Max,则从所述各格网中选出符合第二预设条件的待用弧段;所述第二预设条件为:至少有一条路径经过该待用弧段,且该路径能够通达至少2Max-1个格网;
所述路径计算单元,用于以选出的待用弧段的集合为搜索空间,计算出所述第一端点与所述第二端点之间最优路径上的弧段;
所述通达度计算单元包括:读单元、第一计算子单元、记录单元、第二计算子单元;
所述读单元,用于读取每个格网内存储的地图数据;
所述第一计算子单元,用于根据读取到的地图数据,计算每个格网内每条格网路线的格网通达度;所述格网路线为所在格网上两个边界结点之间的路径;
所述计算每个格网内每条格网路线的格网通达度包括:
预设每条格网路线的格网通达度为n,且n的初始值为1;
步骤30、用n+1取代当前n的值;
步骤31、选取一条格网路线;
步骤32、以该格网路线为起始路线,扩展出经过该格网路线的扩展路径,且该扩展路径经过2n-1个不同格网,若位于第n个格网路线的格网通达度小于n,则更新为n;
步骤33、判断是否遍历所有格网路线,若是,执行步骤34;否则,执行步骤31;
步骤34、判断格网通达度不小于n的所有弧段的总数是否小于预设值,若是,则结束该流程,否则,执行步骤30;
所述记录单元,用于记录每条格网路线上的弧段与结点;
所述第二计算子单元,用于根据每条格网路线的格网通达度,以及所述记录单元的记录,计算所述每个弧段的格网通达度;
所述计算所述每个弧段的格网通达度包括:
对于多条通过所述弧段的格网路线,选出其中格网通达度最大的格网路线,将所述格网路线的格网通达度作为所述弧段的格网通达度。
本发明提供的技术方案的有益效果包括:
本发明的实施例中,提出格网通达度这一技术特征,由格网通达度来体现弧段在道路网络中的通达能力,从而,在实际路径规划中,对于某一端点如出发地或目的地,利用弧段的格网通达度,来检测与该端点相距一定距离的弧段,是否具有到达该端点的通达能力,若该弧段的格网通达度符合预设条件,则显示该弧段具有这样的通达能力,则在路径规划时,将该弧段纳入搜索空间,否则,不需要考虑该弧段;从而,相比较现有技术能够有效压缩搜索空间内的数据量,有效提高计算效率,且降低对硬件性能的要求,不仅适用于资源不受限的应用场景,还可适用于资源受限如嵌入式环境。
并且,本发明实施例提供的技术方案,并非基于道路的自然等级,而是根据每条道路的实际通达能力(由弧段的格网通达度体现),来计算最优路径,从而有效减少“舍近求远”的计算结果,提高计算结果的准确性。
附图说明
图1是格网的形象化示意图;
图2是本发明的实施例中计算格网内路线的格网通达度的流程图;
图3是图2中步骤202的具体实现流程实例图;
图4是图2中步骤203的具体实现流程实例图;
图5是该步骤404中扩展路径的示意图;
图6是图2中步骤204的具体实现流程实例图;
图7是图2中步骤205的具体实现流程实例图;
图8是图2中步骤206的具体实现流程实例图;
图9是本发明的实施例中路径规划方法流程图;
图10是本发明的实施例中出发地b与目的地g所在格网的示意图;
图11是本发明的实施例中设备的结构示意图;
图12是本发明的实施例中设备的另一结构示意图。
具体实施方式
本发明的实施例中,为有效控制搜索空间同时保证道路搜索结果是最优解,提出弧段的格网通达度模型;在实际进行路径规划时,基于弧段的格网通达度,可快速筛选出对最优路径有贡献的有效弧段,达到高效压缩搜索空间,提高计算效率的效果。
先对本发明的实施例中格网通达度的定义作详细说明。
可用曲线段概括弧段、最优路径等等有两个端点的曲线。本发明的实施例中,采用格网数定义格网通达距离为:
曲线段所经过的不同格网的总数,为该曲线段的格网通达距离。如图1中,曲线段X共经过17个格网,则曲线段X的格网通达距离为17;其中,曲线段X两次经过同一格网E,但该格网E对该格网通达距离的贡献仅为1个格网;类似地,格网F对该格网通达距离的贡献为1个格网。
对于最优路径上的弧段,记从出发地到该弧段终点这一曲线段的格网通达距离为S1,记从该弧段起点到目的地这一曲线段的格网通达距离为S2,取S1与S2两值中的较小值为该弧段在该最优路径上的格网通达度;
定义弧段的通达度为,对于所有经过该弧段的最优路径,该弧段在每条最优路径上都有一个格网通达度,选取所有格网通达度中的最大值,作为该弧段 的格网通达度。
本发明的实施例中,提出格网内路线(或称格网路线)的名词,该名词是,对于格网边界上的边界结点,算出的任意两个边界结点之间的最优路径,为格网内路线。由于格网内存储的道路边界结点数量有限,因此计算量不大。并且,本发明的实施例中,避开直接计算每个弧段的格网通达度,而先计算各个格网内路线的格网通达度,之后再结合每条格网内路线所通过的弧段,确定每个弧段的格网通达度,从而可极大程度的降低计算量。
参见图2,图2是本发明的实施例中计算格网内路线的格网通达度的流程图,该流程可包括以下步骤:
步骤201、根据预先圈定的地理区域对应的地图数据,制成格网。
实际应用中,在制作格网的过程中,为方便后续的数据搜索,可考虑均衡每个格网内存储的数据量。
有关格网的制作可参见相关技术资料,本申请中不作赘述。
步骤202、计算每个格网的格网内路线。
该步骤202中的计算主要包括:
对于每个格网中的所有边界结点,对其中的任意两个边界结点均执行以下计算:
根据该格网中存储的地图数据,计算该两个边界结点之间的最优路径;
记录下两个边界结点之间存在的最优路径,以及该两个边界结点,称为格网内路线。
具体计算中,存在格网内两个边界结点不可通达的情况,即不存在从一个边界结点到达另一边界结点的最优路径。
此外对于某些弧段,并没有格网内路线通过,根据定义,它们的格网通达度为0。
步骤203、计算每条格网内路线的格网通达度。
该步骤203中,计算主要包括:
以该格网内路线所在格网为中心格网,向周围格网作扩展搜索,以算出以该格网内路线出发的一条或多条最优路径,调整最优路径经过格网内路线的格网通达度。
步骤204、根据算出的每条格网内路线的格网通达度,计算每个弧段的格网通达度。
该步骤204中,计算主要包括:
该步骤204中,对于多条通过该弧段的格网内路线,选出其中格网通达度最大的格网内路线,将该格网内路线的格网通达度作为该弧段的格网通达度。
步骤205、设各弧段的格网通达度中的最大值为Max,对格网通达度为Max的弧段作进一步处理,找到存在相同结点的两两弧段,合并该两两弧段为一条弧段。记录每条抽象弧段的始结点与终结点。
该步骤205中的相同结点连接格网通达度为Max的弧段数为2(可称该相同结点为假结点);且假结点成为退化结点;可称合并出的弧段为抽象弧段。
抽象弧段的格网通达度为最大的格网通达度。一条抽象弧段可进一步与其他存在相同假结点的抽象弧段进行合并。
本发明的实施例中,可对抽象弧段,以及弧段的格网通达度为Max的弧段中未经合并的其余弧段,单独设置存储层,称为全域层,或称最高拓扑层。
步骤206、对于格网通达度为Max的弧段,该弧段上若存在边界结点,标记该弧段上的边界结点为关联结点,且建立该关联结点与全域层的关联关系。
该步骤206中,关联关系用于在具体计算最优路径时,根据该关联关系,索引到全域层的数据,且可避免对众多弧段作匹配计算,有效减少计算量。
以下举例说明上述图2所示流程中,一些主要步骤的具体实现。
参见图3,图3是图2中步骤202的具体实现流程实例图,该流程可包括以下步骤:
步骤301、对于当前处理的格网,选出该格网内未被配对的两个边界结点。
步骤302、根据该格网内存储的地图数据,计算该两个边界结点之间的最优路径,判断是否存在该两个边界结点之间的最优路径,若是,执行步骤303;否则,执行步骤305。
该步骤302中的判断用于检测两个边界结点是否能够通达。具体的计算可基于现有相关技术实现,如现有Dijstra算法。
并且,如之前提及的,由于单个格网内存储的地图数据通常较为有限,因此该步骤302的计算量并不大。
步骤303、记录算出的最优路径为格网内路线。
步骤304、存储该格网内路线所包含的弧段与结点的信息。
步骤305、判断格网内的所有边界结点中,是否存在未被配对的两两结点,若是,执行步骤301;否则,结束该流程。
就单个格网的处理来讲,上述图3流程结束。对每个格网执行上述图3流程所示操作,以算出每个格网内的格网内路线。
上述图3流程是上述步骤202的具体实施例,实际应用中,可根据需要设置步骤202的具体实现流程,如将图3中两个判断步骤设置于流程内其他合理的位置,等等,可不必局限于使用上述图3流程。
参见图4,图4是图2中步骤203的具体实现流程实例图,该流程利用到图3及相关流程的结果,可包括以下步骤:
步骤401、对于所有格网内路线,预设动态参数n代表格网内路线的格网通达度,设每个格网内路线的格网通达度n的初始值为1。
步骤402、用n+1取代当前n的值。
步骤403、选取一条格网内路线。
步骤404、从该格网内路线开始,扩展出经过该格网内路线的扩展路径,且该扩展路径经过2n-1个不同格网,若所经过的第n个格网的格网内路线的格网通达度小于n,则更新为n,相应地,该格网内路线上的弧段的格网通达度也至少为n。
步骤405、判断是否遍历所有格网内路线,若是,执行步骤406;否则,执行步骤403。
步骤406、判断格网通达度不小于n的所有弧段的总数是否小于预设值Q,若是,则结束该流程,否则,执行步骤402。
该步骤406中的预设值Q为可调参数,可根据实际需要设置,以用于控制n,以及在何时结束计算。举例如,
设所有格网上弧段总数为200万条,其中格网通达度为0的弧段(不存在于任何格网内路线的弧段)为80万条;设Q为30000;格网通达度n为1的弧段总数应为120万,不符合结束流程的条件;做迭代运算后,统计出n为2的不同弧段总数为30万,仍不符合结束流程的条件;统计出n为3的不同弧 段总数为10万,仍不符合结束流程的条件;直至算到n取4时,统计出n为4的不同弧段总数为28000,符合结束流程的条件;则仅将弧段的格网通达度分为五个等级(0~4)。一方面,上述图4流程反应了真实的规律,即格网通达度越高,则具有该高等级格网通达度的弧段或格网内路线会越少;另一方面,也许某些弧段具有大于4的更高等级的格网通达度,但一些应用场景中,可不再计算这些弧段或格网内路线的精确格网通达度,只要保证够算出的最高等级的格网通达度够用即可。
参见图5,图5是该步骤404中扩展路径的示意图,图5示出n=2,以及n=3时的扩展路径。
上述图4流程是上述步骤203的具体实施例,实际应用中,可根据需要设置步骤203的具体实现流程,而不必局限于使用上述图4流程,只要能算出格网内路线的格网通达度即可。
参见图6,图6是图2中步骤204的具体实现流程实例图,该流程利用到图6及相关流程的结果,可包括以下步骤:
步骤601、初始化弧段的格网通达度为零。
也可称弧段的格网通达度为格网通达度等级。
步骤602、选取格网内的一条未被处理的格网内路线。
步骤603、选出该格网内路线上的一个未被处理的弧段。
步骤604、判断该格网内路线的格网通达度是否大于该弧段的格网通达度,若是,执行步骤605;否则,执行步骤606。
步骤605、用该格网内路线的格网通达度更新该弧段的格网通达度。
步骤606、判断是否遍历该格网内路线上的所有弧段,若是,执行步骤607;否则,执行步骤603。
步骤607、判断是否遍历该格网内的所有格网内路线,若是,结束该流程,否则,执行步骤602。
对每个格网执行上述图6流程所示操作,以算出每个弧段的格网通达度。
上述图6流程是上述步骤204的具体实施例,实际应用中,可根据需要设置步骤204的具体实现流程,而不必局限于使用上述图6流程。
参见图7,图7是图2中步骤205的具体实现流程实例图,该流程可包括 以下步骤:
步骤701、提取所有格网通达度等于Max的所有弧段的信息。
步骤702、选出未被处理的结点。
步骤703、判断该结点是否为假结点,若是,执行步骤704;否则,执行步骤705。
步骤704、删除该假结点,将该假结点两端的弧段合并为一个弧段。
步骤705、判断是否遍历所有结点,若是,结束该流程,否则,执行步骤702。
上述图7流程是上述步骤205的具体实施例,实际应用中,可根据需要设置步骤205的具体实现流程,而不必局限于使用上述图7流程。
基于上述图7所示流程,可得到由多个弧段连接而成的抽象弧段,并且这样的连接弧段可能存在多条,同时还存在不需要进行合并处理的原始弧段。如上文提及的,称存储最高拓扑阶层弧段信息的道路分层为全域层。为在实际计算中,能将低等级道路分层的数据与全域层存储的数据形成关联,本发明的实施例中,进一步给出低等级道路分层的格网边界结点与全域层的拓扑关联处理。
参见图8,图8是图2中步骤206的具体实现流程实例图,该流程可包括以下步骤:
步骤801、选出未被处理的格网边界结点。
步骤802、判断该格网边界结点所在弧段的格网通达度是否等于Max,若是,执行步骤803;否则,执行步骤806。
步骤803、匹配该结点与对应的全域层的弧段。
步骤804、以该结点为分割点,将对应的全域层弧段分割为两条假想弧段。
步骤805、记录该结点与全域层的关联属性。
步骤806、判断是否遍历所有边界结点,若是,结束该流程,否则,执行步骤801。
上述图8流程是上述步骤206的具体实施例,实际应用中,可根据需要设置步骤206的具体实现流程,而不必局限于使用上述图8流程。
上述内容详细讲述本发明的实施例中基于格网,计算弧段的格网通达度, 得到全域层的技术方案,以用于实际的最优路径计算等等环境。
参见图9,图9是本发明的实施例中路径规划方法流程图,该流程可包括以下步骤:
步骤901、获知路径规划中的第一端点与第二端点。
第一端点如出发地,第二端点如目的地;或第一端点如目的地,第二端点如出发地。
步骤902、对于离第一格网距离为M1个格网,离第二格网距离为M2个格网的各格网,设M为M1和M2中的较小值,M1与M2为非负整数;
若M<各弧段的格网通达度中的最大值Max,则从各格网中选出符合第一预设条件的待用弧段;所述第一预设条件为:至少有一条路径经过该待用弧段,且该路径能够通达至少2M+1个格网;所述第一格网为所述第一端点所在格网;所述第二格网为所述第二端点所在格网;
若M≥Max,则从所述各格网中选出符合第二预设条件的待用弧段;所述第二预设条件为:至少有一条路径经过该待用弧段,且该路径能够通达至少2Max-1个格网。
该步骤902中,若M1与M2相等,则取M为M1与M2中的任一值。
步骤903、以选出的待用弧段的集合为搜索空间,计算出所述第一端点与所述第二端点之间最优路径上的弧段。
基于本发明的实施例提供的上述技术方案,可有效控制计算最优路径时的搜索空间。参见图10,图10是本发明的实施例中出发地b与目的地g所在格网的示意图。本发明的实施例中,需要基于弧段的格网通达度等信息,计算从出发地b到目的地g的最优路径。可作分析如下:
最终算出的最优路径由多个弧段组成。设该最优路径上的任一弧段如图10所示H,引从出发地b到弧段H的直线可见,从出发地b到该弧段H至少要经过I个格网,或者说,弧段H与出发地b之间的格网通达距离最小值为I;引从弧段H到目的地g的直线可见,从弧段H到目的地g至少要经过J个格网,或者说,弧段H与目的地g之间的格网通达距离最小值为J。
则弧段H的格网通达度D应不小于I与J中的最小值,即,
D≥min(I,J) 式1
则在确定搜索空间时,可只考虑符合式1条件的各弧段,而剔除格网通达度小于min(I,J)的所有弧段,从而有效压缩搜索空间内的数据量。式1为上述第一预设条件的具体实例。
具体地,本发明的实施例中,可结合预先算出的全域层数据,来确定搜索空间。为方便表述,可称到该格网的格网通达距离为M的所有格网的集合,为该格网的M阶拓扑保证区域;称各阶拓扑保证区域的并集,为该格网的拓扑保证区域。
设全域层上弧段的格网通达度为4,则可确定搜索空间包括:
出发地所在格网内的全部弧段,以及出发地所在格网的M阶拓扑保证区域内,格网通达度不小于M的所有弧段,且4≥M≥1;
全域层内的所有弧段;
目的地所在格网内的全部弧段,以及目的地所在格网的M阶拓扑保证区域内,格网通达度不小于M的所有弧段,且4≥M≥1。
实际应用中,可根据具体情况确定搜索空间,如出发地与目的地之间的距离较短,则可不需对全域层作搜索,或可,
仅搜索出发地所在格网的M阶拓扑保证区域;或,
仅搜索目的地所在格网的M阶拓扑保证区域;等等。
结合图10,说明如何确定出上述搜索空间:
从最优路径的计算结果反推,位于图10所示最优路径上的中间段路线ef,其上各弧段的格网通达度相对较高,设想中间段路线ef的计算结果可从全域层搜索到;而be段的计算结果可从出发地b所在格网的n阶拓扑保证区域内得到,fg段的计算结果可从目的地g所在格网的M阶拓扑保证区域内得到,从而可保证搜索结果的正确性。
但出发地b所在格网的M阶拓扑保证区域,与目的地g所在格网的n阶拓扑保证区域内的数据量依然庞大,因此,进一步结合上述式1,从该两个区域中仅选择符合式1的弧段用于计算,而剔除不符合式1的弧段,从而不仅大大较少计算量,提高计算效率,而且保证计算结果的正确性。
本发明的实施例还提供一种地图数据处理方法,该方法包括:预设用于存储指定区域内地图数据的多个格网,所述指定区域内地图数据记录所述指定区 域内道路网络中的弧段与结点;该方法还包括:
读取每个格网内存储的地图数据;
根据读取到的地图数据,计算每个格网内每条格网路线的格网通达度;记录每条格网路线上的弧段与结点;所述格网路线为所在格网上两个边界结点之间的路径;
根据每条格网路线的格网通达度,计算所述每个弧段的格网通达度。
本发明的实施例还提供一种设备,参见图11,图11是该设备的结构示意图。图11中,设备1100包括:用于存储指定区域内地图数据的多个格网1101,还包括:通达度计算单元1102、第一存储单元1103、获取单元1104、过滤单元1105与路径计算单元1106;
通达度计算单元1102,用于计算格网内每个弧段的格网通达度;
第一存储单元1103,用于存储每个弧段的格网通达度;
获取单元1104,用于获知路径规划中的第一端点与第二端点;
过滤单元1105,用于对于离第一格网距离为M1格网,离第二格网距离为M2格网的各格网,设M为M1和M2中的较小值;M1和M2为非负整数;若M<所有弧段的格网通达度中的最大值Max,则从各格网中选出符合第一预设条件的待用弧段;所述第一预设条件为:至少有一条路径经过该待用弧段,且该路径能够通达至少2M+1个格网;第一格网为所述第一端点所在格网;第二格网为所述第二端点所在格网;若M≥Max,则从所述各格网中选出符合第二预设条件的待用弧段;所述第二预设条件为:至少有一条路径经过该待用弧段,且该路径能够通达至少2Max-1个格网;
路径计算单元1106,用于以选出的待用弧段的集合为搜索空间,计算出所述第一端点与所述第二端点之间最优路径上的弧段。
参见图12,图12是本发明的实施例中设备的另一结构示意图,设备1200中,通达度计算单元1102包括:读单元21、第一计算子单元22、记录单元23、第二计算子单元24;
读单元21,用于读取每个格网内存储的地图数据;
第一计算子单元22,用于根据读取到的地图数据,计算每个格网内每条格网路线的格网通达度;所述格网路线为所在格网上两个边界结点之间的路 径;
记录单元23,用于记录每条格网路线上的弧段与结点;
第二计算子单元24,用于根据每条格网路线的格网通达度,计算所述每个弧段的格网通达度。
设备1200还包括:合并单元1201,用于根据通达度计算单元1102的计算结果,对于弧段的格网通达度等于Max的各弧段,找到存在相同结点的两两弧段,合并所述两两弧段为一条弧段;所述相同结点连接格网通达度为Max的弧段数为2。
设备1200还包括:第二存储单元1202,用于存储合并单元1201合并出的弧段,以及弧段的格网通达度为Max的弧段中未经合并单元1201合并的其余弧段。
设备1200还包括:关联建立单元1203,用于对于两端的结点至少一个为边界结点的弧段,若该弧段的格网通达度为Max,则标记该该至少一个边界结点为关联结点,且建立该关联结点与第二存储单元1202之间的关联关系。
路径计算单元1106包括:关联单元与选单元(图中未示出);
关联单元,用于在M≥Max时,判断所述待用弧段的格网通达度是否等于Max,,且是否包含格网边界结点,若是,则确定所述待用弧段中的结点为关联结点;根据所述关联关系,找到存储的由所述两两弧段合并出的弧段;
选单元,用于从由所述两两弧段合并出的弧段中,选出最优路径上的弧段。
相比较现有技术,本发明的实施例所提供的技术方案可在保证计算结果准确的前提下,有效压缩搜索空间,提高计算效率,且不仅适用于资源不受限的应用场景,还可适用于资源受限如嵌入式环境。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (2)
1.一种地图数据处理方法,其特征在于,包括:
预设用于存储指定区域内地图数据的多个格网,所述指定区域内地图数据记录所述指定区域内道路网络中的弧段与结点;预先计算并存储格网内每个弧段的格网通达度;
所述弧段的格网通达度为:对于所有经过一弧段的最优路径,选取所述弧段在每条最优路径上的格网通达度中的最大值,作为所述弧段的格网通达度;
所述最优路径上的格网通达度为:对于最优路径上的弧段,记从出发地到所述弧段终点这一曲线段的格网通达距离为S1,记从该弧段起点到目的地这一曲线段的格网通达距离为S2,取S1与S2两值中的较小值为所述弧段在所述最优路径上的格网通达度,其中,曲线段所经过的不同格网的总数,为所述曲线段的格网通达距离;
所述预先计算格网内每个弧段的格网通达度包括:
读取每个格网内存储的地图数据;
根据读取到的地图数据,计算每个格网内每条格网路线的格网通达度;所述格网路线为所在格网上两个边界结点之间的路径;
记录每条格网路线上的弧段与结点,且根据每条格网路线的格网通达度,计算所述每个弧段的格网通达度;
所述计算每个格网内每条格网路线的格网通达度包括:
预设每条格网路线的格网通达度为n,且n的初始值为1;
步骤10、用n+1取代当前n的值;
步骤11、选取一条格网路线;
步骤12、以该格网路线为起始路线,扩展出经过该格网路线的扩展路径,且该扩展路径经过2n-1个不同格网,若位于第n个格网路线的格网通达度小于n,则更新为n;
步骤13、判断是否遍历所有格网路线,若是,执行步骤14;否则,执行步骤11;
步骤14、判断格网通达度不小于n的所有弧段的总数是否小于预设值,若是,则结束该流程,否则,执行步骤10;
所述计算所述每个弧段的格网通达度包括:
对于多条通过所述弧段的格网路线,选出其中格网通达度最大的格网路线,将所述格网路线的格网通达度作为所述弧段的格网通达度;
该方法还包括:
获知路径规划中的第一端点与第二端点;
对于离第一格网距离为M1个格网,离第二格网距离为M2个格网的各格网,设M为M1和M2中的较小值;M1与M2为非负整数;
若M<所有弧段的格网通达度中的最大值Max,则从各格网中选出符合第一预设条件的待用弧段;所述第一预设条件为:至少有一条路径经过该待用弧段,且该路径能够通达至少2M+1个格网;所述第一格网为所述第一端点所在格网,所述第二格网为所述第二端点所在格网;
若M≥Max,则从所述各格网中选出符合第二预设条件的待用弧段;所述第二预设条件为:至少有一条路径经过该待用弧段,且该路径能够通达至少2Max-1个格网;
以选出的待用弧段的集合为搜索空间,计算出所述第一端点与所述第二端点之间最优路径上的弧段。
2.一种导航设备,其特征在于,包括:用于存储指定区域内地图数据的多个格网,所述指定区域内地图数据记录所述指定区域内道路网络中的弧段与结点;还包括:通达度计算单元、第一存储单元、获取单元、过滤单元与路径计算单元;
所述通达度计算单元,用于计算格网内每个弧段的格网通达度,所述弧段的格网通达度为:对于所有经过一弧段的最优路径,选取所述弧段在每条最优路径上的格网通达度中的最大值,作为所述弧段的格网通达度,所述最优路径上的格网通达度为:对于最优路径上的弧段,记从出发地到所述弧段终点这一曲线段的格网通达距离为S1,记从该弧段起点到目的地这一曲线段的格网通达距离为S2,取S1与S2两值中的较小值为所述弧段在所述最优路径上的格网通达度,其中,曲线段所经过的不同格网的总数,为所述曲线段的格网通达距离;
所述第一存储单元,用于存储每个弧段的格网通达度;
所述获取单元,用于获知路径规划中的第一端点与第二端点;
所述过滤单元,用于对于离第一格网距离为M1个格网,离第二格网距离为M2个格网的各格网,设M为M1和M2中的较小值;M1与M2为非负整数;若M<所有弧段的格网通达度中的最大值Max,则从各格网中选出符合第一预设条件的待用弧段;所述第一预设条件为:至少有一条路径经过该待用弧段,且该路径能够通达至少2M+1个格网;所述第一格网为所述第一端点所在格网,所述第二格网为所述第二端点所在格网;若M≥Max,则从所述各格网中选出符合第二预设条件的待用弧段;所述第二预设条件为:至少有一条路径经过该待用弧段,且该路径能够通达至少2Max-1个格网;
所述路径计算单元,用于以选出的待用弧段的集合为搜索空间,计算出所述第一端点与所述第二端点之间最优路径上的弧段;
所述通达度计算单元包括:读单元、第一计算子单元、记录单元、第二计算子单元;
所述读单元,用于读取每个格网内存储的地图数据;
所述第一计算子单元,用于根据读取到的地图数据,计算每个格网内每条格网路线的格网通达度;所述格网路线为所在格网上两个边界结点之间的路径;
所述计算每个格网内每条格网路线的格网通达度包括:
预设每条格网路线的格网通达度为n,且n的初始值为1;
步骤30、用n+1取代当前n的值;
步骤31、选取一条格网路线;
步骤32、以该格网路线为起始路线,扩展出经过该格网路线的扩展路径,且该扩展路径经过2n-1个不同格网,若位于第n个格网路线的格网通达度小于n,则更新为n;
步骤33、判断是否遍历所有格网路线,若是,执行步骤34;否则,执行步骤31;
步骤34、判断格网通达度不小于n的所有弧段的总数是否小于预设值,若是,则结束该流程,否则,执行步骤30;
所述记录单元,用于记录每条格网路线上的弧段与结点;
所述第二计算子单元,用于根据每条格网路线的格网通达度,以及所述记录单元的记录,计算所述每个弧段的格网通达度;
所述计算所述每个弧段的格网通达度包括:
对于多条通过所述弧段的格网路线,选出其中格网通达度最大的格网路线,将所述格网路线的格网通达度作为所述弧段的格网通达度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910082963XA CN101526366B (zh) | 2009-04-27 | 2009-04-27 | 地图数据处理方法及导航设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910082963XA CN101526366B (zh) | 2009-04-27 | 2009-04-27 | 地图数据处理方法及导航设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101526366A CN101526366A (zh) | 2009-09-09 |
CN101526366B true CN101526366B (zh) | 2012-07-04 |
Family
ID=41094360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910082963XA Active CN101526366B (zh) | 2009-04-27 | 2009-04-27 | 地图数据处理方法及导航设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101526366B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840333B (zh) * | 2010-03-16 | 2014-05-21 | 中国科学院计算技术研究所 | 一种路径结果文字描述方法及装置 |
CN102235873B (zh) * | 2010-04-21 | 2013-12-11 | 北京四维图新科技股份有限公司 | 导航电子地图的处理方法和装置、导航仪 |
CN103718000B (zh) * | 2011-05-19 | 2017-01-18 | Sk 普兰尼特有限公司 | 实时地图数据更新系统和方法 |
CN102853846A (zh) * | 2011-06-30 | 2013-01-02 | 北京畅联万方科技有限公司 | 一种道路导航数据拓扑关系正确性的批量测试方法 |
CN103246650B (zh) * | 2012-02-01 | 2016-10-05 | 北京四维图新科技股份有限公司 | 一种道路逻辑模型制作方法 |
CN103900606B (zh) * | 2012-12-25 | 2017-11-07 | 上海博泰悦臻电子设备制造有限公司 | 基于全自动模拟导航的导航路径可靠性检测方法和装置 |
CN106403970A (zh) * | 2016-06-27 | 2017-02-15 | 百度在线网络技术(北京)有限公司 | 一种路网数据处理方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1908588A (zh) * | 2006-08-17 | 2007-02-07 | 北京航空航天大学 | 一种基于小网格路网组织结构的快速地图匹配方法 |
-
2009
- 2009-04-27 CN CN200910082963XA patent/CN101526366B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1908588A (zh) * | 2006-08-17 | 2007-02-07 | 北京航空航天大学 | 一种基于小网格路网组织结构的快速地图匹配方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101526366A (zh) | 2009-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101526366B (zh) | 地图数据处理方法及导航设备 | |
Song et al. | Efficient routing on large road networks using hierarchical communities | |
CN102147260B (zh) | 电子地图匹配方法和装置 | |
CN102169637B (zh) | 面向城市交通的动态路径诱导方法 | |
CN106128100B (zh) | 一种基于Spark平台的短时交通流量预测方法 | |
JP2018538627A (ja) | 交通道路の経路ヒートを取得する方法および装置 | |
CN104391907B (zh) | 一种可变解析度的快速路径搜寻方法 | |
CN101900565A (zh) | 路径确定方法和装置 | |
Sacharidis et al. | Routing directions: Keeping it fast and simple | |
Morris et al. | Digital trail libraries | |
CN112381078A (zh) | 基于高架的道路识别方法、装置、计算机设备和存储介质 | |
CN100520300C (zh) | 城际导航路径的计算方法 | |
CN105096589A (zh) | 一种选取交通道路中代表性节点的方法、系统及客户端 | |
CN107588779B (zh) | 一种基于任意两节点间行程时间的车辆智能导航方法 | |
CN105426387A (zh) | 一种基于K-means算法的地图聚合方法 | |
KR101063827B1 (ko) | 한국토지정보시스템 연속지적도와 수치지형도의 기하학적 지도 변환을 위한 반자동화된 공액점 쌍 추출방법 | |
CN116167235A (zh) | 路网模型生成方法、装置及设备 | |
CN112948518B (zh) | 对象处理方法、装置、电子设备和计算机存储介质 | |
Koefoed-Hansen et al. | Representations for path finding in planar environments | |
CN109000672A (zh) | 基于开源pgRounting的最优路径规划方法 | |
KR102374342B1 (ko) | 음식물쓰레기 관리 지원 장치 및 방법 | |
CN114254060A (zh) | 一种城市道路与公交线路的空间匹配方法及系统 | |
Wei et al. | Mining popular routes from social media | |
Beeharee et al. | Filtering location-based information using visibility | |
Li et al. | Diversified routing queries in dynamic road networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |