地图数据处理方法及导航设备的利记博彩app

文档序号:6151151阅读:162来源:国知局
专利名称:地图数据处理方法及导航设备的利记博彩app
技术领域
本发明涉及导航技术领域,特别是一种地图数据处理方法及导航设备。
背景技术
通常,用户可在导航技术的帮助下,预先获知出发地到目的地的导航路径, 常称为最优路径,并可按照该最优路径行驶,以顺利抵达目的地。
导航技术常基于地图数据做路径规划。地图数据是对实际道路交通的数学 抽象,反映由弧段与结点构成的道路网络。其中,弧段是实际道路的数学抽象, 记录道路的相关信息如,长度、宽度、道路等级、车道数、限制速度、通行限
制等属性信息,等等;结点是实际道路中路口的数学抽象,标记路口,以及记 录路口的转向限制信息、转向代价信息,等等。
最优路径的计算方式通常是,对地图数据做所记录的众多弧段做搜索处 理,以找到能够连通出发地与目的地的路线,该路线由多个弧段连接而成。常 称该计算所涉及的地图数据形成的数据空间为搜索空间。搜索空间内的数据量 越大,则计算量越大,计算效率相应就低,并且,对硬件环境要求越高。
因此,期望在保证计算结果的准确性的前提下,控制搜索空间的数据量, 以减少计算量,提高计算效率,降低对硬件的要求。
现有技术一为提高计算效率,按实际道路的自然等级,来划分地图数据所 描述的道路网络,其中,实际道路的自然等级如高速路、国道、省道、城市道 路、乡村道路,等;对应划分出弧段的等级;从而,在计算时,可i殳置相应的 算法,先计算等级高的道路如高速路,等级较高的道路行不通的情况下,再计 算等级较低的,以算出最终结果。现有技术一一定程度上可压缩搜索空间,但 实际应用中存在"舍近求远"的弊端,即计算结果的准确性存在偏差,算出的 最优路径未必是捷径,如有时的计算结果中存在需要绕路以走到高速路上的情 况。现有技术二期望从数据管理的层面,通过对地图数据进行有效管理,来尽 量提高计算效率。现有技术二给出 一种地图数据的存储结构,该存储结构为"层
-区集-区-格网"四级结构。其中,格网是用于存储地图数据的基本存储单位, 每个格网内存储一个地理区域内的地图数据,该地理区域可由最南端绵线、最 北端纟韦线、最西端经线和最东端经线所围成的范围界定,因此,可将抽象的格 网与该地理区域作形象的对应。参见图1,图1是格网的形象化示意图,格网
A、 B分别存储对应地理区域内的地图数据,如出发地在格网A内,目的地在 格网B内,则图1中曲线X为出发地到目的地的最优路径。
基于对格网的理解,进一步阐述区、区集以及层均可理解为数据存储单 位,根据需要,可将多个格网归纳为一个区,将多个区归纳为一个区集,将多 个区集归纳为一个层。
不同层上存储的地图数据可以对应相同的地理区域,通常体现对相同地理 区域内的地图数据的不同抽象。如某层内存储某地理区域内全部道路的地图数 据,而另一层内存储的地图数据虽然也反映该地理区域内的道路交通,但仅存 储该地理区域内主干道路的地图数据。
现有技术二期望通过对地图数据的分层处理,在计算过程中根据具体情 况,调用不同层上的地图数据,以优化计算效率,但实际并未提出较佳的具体 解决方案。
目前大多导航产品的路径规划方案都和现有技术一或现有技术二相似。发 明人在实现本发明的过程中,发现现有技术存在至少以下技术问题
无论现有技术一还是现有技术一,本质上都是基于道路的自然等级对地图 数据进行分层,使得路径规划的准确性存在较大偏差,并且计算效率不高。

发明内容
本发明实施例提供一种地图数据处理及导航设备,以解决在现有技术中存 在的路径规划过程准确性存在偏差及计算效率不高的技术问题。
为解决上述技术问题,本发明实施例中,地图数据处理方法包括 预设用于存储指定区域内地图数据的多个格网,所述指定区域内地图数据 记录所述指定区域内道路网络中的弧段与结点;预先计算并存储格网内每个弧段的格网通达度;该方法还包括
获知路径规划中的第 一端点与第二端点;
对于离第一格网距离为Ml个格网,离第二格网距离为M2个格网的各格 网,设M为Ml和M2中的较小值;Ml与M2为非负整数;
若]VK所有弧段的格网通达度中的最大值Max,则从各格网中选出符合第 一预设条件的待用弧段;所述第一预设条件为至少有一条路径经过该待用弧 段,且该路径能够通达至少2M+1个格网;所述第一格网为所述第一端点所在 格网,所述第二格网为所述第二端点所在格网;
若M^Max,则从所述各格网中选出符合第二预设条件的待用弧段;所述 第二预设条件为至少有一条路径经过该待用弧段,且该路径能够通达至少2 Max-l个格网;
以选出的待用弧段的集合为搜索空间,计算出所述第 一端点与所述第二端 点之间最优路径上的弧段。
优选地,所述预先计算格 内每个弧段的格网通达度包括 读取每个格网内存储的地图数据;
根据读取到的地图数据,计算每个格网内每条格网路线的格网通达度;所 述格网路线为所在格网上两个边界结点之间的路径;
记录每条格网路线上的弧段与结点,且根据每条格网路线的格网通达度, 计算所述每个弧段的格网通达度。
优选地,所述计算每个格网内每条格网路线的格网通达度包括
预设每条格网路线的格网通达度为n,且n的初始值为l;
步骤30、用n+l取代当前n的值;
步骤31、选取一条格网路线;
步骤32、以该格网路线为起始路线,扩展出经过该格网路线的扩展路径, 且该扩展路径经过2n-l个不同格网,若位于第n个格网内路线的格网通达度 小于n,则更新为n;
步骤33、判断是否遍历所有格网路线,若是,执行步骤34;否则,执行 步骤31;
步骤34、判断格网通达度不小于n的所有弧4史的总数是否小于预设值,若是,则结束该流程,否则,执行步骤30。
优选地,所述计算所述每个弧段的格网通达度包括
对于多条通过该弧段的格网路线,选出其中格网通达度最大的格网路线,
将该格网路线的格网通达度作为该弧段的格网通达度。
优选地,所述计算所述每个弧段的格网通达度后,该方法进一步包括 对于弧段的格网通达度为Max的孤段,找到存在相同结点的两两弧段,
合并所述两两弧段为 一条弧段;
所述相同结点连接格网通达度为Max的弧段数为2。
优选地,所述合并所述两两弧l殳为一条弧辜史后,该方法进一步包括
存储由所述两两弧段合并出的弧段,以及弧段的格网通达度为Max的弧
段中未经所述合并的其余弧段。
优选地,所述合并所述两两弧^歐为一条弧^歐后,该方法进一步包括 对于两端的结点至少一个为边界结点的弧段,若该弧段的格网通达度为
Max,则标记至少一个边界结点为关联结点,且建立该关联结点与存储的由所
述两两弧段合并出的弧段之间的关联关系。
优选地,若M^Max,所述从选出的待用弧^a中,选出所述第一端点与所
述第二端点之间最优路径上的弧段包括
判断所述待用弧段是否包含边界结点,且格网通达度是否等于Max,若是,
则确定所述待用弧段中的结点为关联结点;
根据所述关联关系,找到存储的由所述两两弧段合并出的弧段; 从由所述两两弧^殳合并出的弧段中,选出所述最优路径上的弧段。 一种地图数据处理方法,包括预设用于存储指定区域内地图数据的多个
格网,所述指定区域内地图数据记录所述指定区域内道路网络中的弧段与结
点;该方法包4舌
读取每个格网内存储的地图数据;
根据读取到的地图数据,计算每个格网内每条格网路线的格网通达度;记 录每条格网路线上的弧段与结点;所述格网路线为所在格网上两个边界结点之 间的路径;
根据每条格网路线的格网通达度,计算所述每个弧段的格网通达度。为解决上述技术问题,本发明实施例中的导航设备包括 用于存储指定区域内地图数据的多个格网,所述指定区域内地图数据记录 所述指定区域内道路网络中的弧段与结点;还包括通达度计算单元、第一存 储单元、获取单元、过滤单元与路径计算单元;
所述通达度计算单元,用于计算格网内每个弧段的格网通达度; 所述第一存储单元,用于存储每个弧段的格网通达度; 所述获^^单元,用于获知路径规划中的第一端点与第二端点; 所述过滤单元,用于对于离第一格网距离为Ml个格网,离第二格网距离 为M2个格网的各格网,设M为Ml和M2中的较小值;M1与M2为非负整 数;若M〈所有弧段的格网通达度中的最大值Max,则从各格网中选出符合第 一预设条件的待用弧段;所述第一预设条件为至少有一条路径经过该待用弧 段,且该路径能够通达至少2M+1个格网;所述第一格网为所述第一端点所在 格网,所述第二格网为所述第二端点所在格网;若M^VIax,则从所述各格网 中选出符合第二预设条件的待用弧段;所述第二预设条件为至少有一条路径 经过该待用弧段,且该路径能够通达至少2 Max -1个格网;
所述路径计算单元,用于以选出的待用弧段的集合为搜索空间,计算出所 述第 一端点与所述第二端点之间最优路径上的弧段。
优选地,所述通达度计算单元包括读单元、第一计算子单元、记录单元、 第二计算子单元;
所述读单元,用于读取每个格网内存储的地图数据; 所述第一计算子单元,用于根据读取到的地图数据,计算每个格网内每条 格网路线的格网通达度;所述格网路线为所在格网上两个边界结点之间的路
径;
所述记录单元,用于记录每条格网路线上的弧段与结点; 所述第二计算子单元,用于根据每条格网路线的格网通达度,以及所述记 录单元的记录,计算所述每个弧段的格网通达度。 优选地,所述设备进一步包括
合并单元,用于根据所述通达度计算单元的计算结果,对于弧段的格网通 达度等于Max的各弧段,找到存在相同结点的两两弧段,合并所述两两弧段为一条弧段;所述相同结点连接格网通达度为Max的弧段数为2。
优选地,所述设备进一步包括第二存储单元,用于存储所述合并单元合 并出的弧段,以及弧段的格网通达度为Max的弧段中未经所述合并单元合并 的其余弧段。
优选地,所述设备进一步包括关联建立单元,用于对于两端的结点至少 一个为边界结点的弧段,若该弧段的格网通达度为Max,则标记该至少一个边 界边界结点为关联结点,且建立该关联结点与所述第二存储单元之间的关联关 系。
优选地,所述路径计算单元包括关联单元与选单元; 所述关联单元,用于在M^Max时,判断所述待用弧段的格网通达度是否 等于Max,且是否包含格网边界结点,若是,则确定所述待用弧段中的结点为 关联结点;根据所述关联关系,找到存储的由所述两两弧段合并出的弧段;
所述选单元,用于从由所述两两弧段合并出的弧^a中,选出所述最优路径 上的弧段。
本发明提供的技术方案的有益效果包括
本发明的实施例中,提出格网通达度这一技术特征,由格网通达度来体现 弧段在道路网络中的通达能力,从而,在实际路径规划中,对于某一端点如出 发地或目的地,利用弧段的格网通达度,来检测与该端点相距一定距离的弧段, 是否具有到达该端点的通达能力,若该弧段的格网通达度符合预设条件,则显 示该弧段具有这样的通达能力,则在路径规划时,将该弧段纳入搜索空间,否 则,不需要考虑该弧段;从而,相比较现有技术能够有效压缩搜索空间内的数 据量,有效提高计算效率,且降低对硬件性能的要求,不仅适用于资源不受限 的应用场景,还可适用于资源受限如嵌入式环境。
并且,本发明实施例提供的技术方案,并非基于道路的自然等级,而是根 据每条道路的实际通达能力(由弧段的格网通达度体现),来计算最优路径, 从而有效减少"舍近求远"的计算结果,提高计算结果的准确性。


图l是格网的形象化示意图;图2是本发明的实施例中计算格网内路线的格网通达度的流程图3是图2中步骤202的具体实现流程实例图4是图2中步骤203的具体实现流程实例图5是该步骤404中扩展路径的示意图6是图2中步骤204的具体实现流程实例图7是图2中步骤205的具体实现流程实例图8是图2中步骤206的具体实现流程实例图9是本发明的实施例中路径规划方法流程图10是本发明的实施例中出发地b与目的地g所在格网的示意图ll是本发明的实施例中设备的结构示意图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、判断格网内的所有边界结点中,是否存在未被配对的两两结点, 若是,执^f于步骤301;否则,结束该流程。
就单个格网的处理来讲,上述图3流程结束。对每个格网执行上述图3 流程所示操作,以算出每个格网内的格网内路线。
上述图3流程是上述步骤202的具体实施例,实际应用中,可根据需要设 置步骤202的具体实现流程,如将图3中两个判断步骤设置于流程内其他合理 的位置,等等,可不必局限于使用上述图3流程。
参见图4,图4是图2中步骤203的具体实现流程实例图,该流程利用到 图3及相关流程的结果,可包括以下步骤
步骤401、对于所有格网内路线,预设动态参数n代表格网内路线的格网 通达度,设每个格网内路线的格网通达度n的初始值为1。
步骤402、用n+l取代当前n的值。
步骤403、选取一条格网内路线。
步骤404、从该格网内路线开始,扩展出经过该格网内路线的扩展路径, 且该扩展路径经过2n-l个不同格网,若所经过的第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、对于离第一格网距离为Ml个格网,离第二格网距离为M2个 格网的各格网,设M为Ml和M2中的较小值,Ml与M2为非负整数;
若1VK各弧段的格网通达度中的最大值Max,则从各格网中选出符合第一 预设条件的待用弧段;所述第一预设条件为至少有一条路径经过该待用弧段, 且该路径能够通达至少2M+1个格网;所述第一格网为所述第一端点所在格 网;所述第二格网为所述第二端点所在格网;
若M^Max,则从所述各格网中选出符合第二预设条件的待用弧段;所述 第二预设条件为至少有一条路径经过该待用弧段,且该路径能够通达至少2 Max-l个格网。
该步骤902中,若Ml与M2相等,则取M为Ml与M2中的任一值。
步骤903、以选出的待用弧段的集合为搜索空间,计算出所述第一端点与 所述第二端点之间最优路径上的弧段。
基于本发明的实施例提供的上述技术方案,可有效控制计算最优路径时的 搜索空间。参见图10,图10是本发明的实施例中出发地b与目的地g所在格 网的示意图。本发明的实施例中,需要基于弧段的格网通达度等信息,计算从 出发地b到目的地g的最优路径。可作分析如下
最终算出的最优路径由多个弧段组成。设该最优路径上的任一弧段如图 IO所示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则在确定搜索空间时,可只考虑符合式l条件的各弧段,而剔除格网通达
度小于min(I, J)的所有弧段,从而有效压缩搜索空间内的数据量。式l为 上述第 一预设条件的具体实例。
具体地,本发明的实施例中,可结合预先算出的全域层数据,来确定搜索 空间。为方便表述,可称到该格网的格网通达距离为M的所有格网的集合, 为该格网的M阶拓朴保证区域;称各阶拓朴保证区域的并集,为该格网的拓 朴保证区域。
设全域层上弧段的格网通达度为4,则可确定搜索空间包括 出发地所在格网内的全部弧段,以及出发地所在格网的M阶拓朴保证区 域内,格网通达度不小于M的所有弧4殳,JL4>M>1; 全域层内的所有孤段;
目的地所在格网内的全部弧段,以及目的地所在格网的M阶拓朴保证区 域内,格网通达度不小于M的所有弧段,且4》M》1。
实际应用中,可根据具体情况确定搜索空间,如出发地与目的地之间的距 离较短,则可不需对全域层作搜索,或可,
仅搜索出发地所在格网的M阶拓朴保证区域;或,
仅搜索目的地所在格网的M阶拓朴保证区域;等等。
结合图10,说明如何确定出上述搜索空间
从最优路径的计算结果反推,位于图10所示最优路径上的中间段路线ef, 其上各弧段的格网通达度相对较高,设想中间段路线ef的计算结果可从全域 层搜索到;而be段的计算结果可从出发地b所在格网的n阶拓朴保证区域内 得到,fg段的计算结果可从目的地g所在格网的M阶拓朴保证区域内得到, 从而可保证搜索结果的正确性。
但出发地b所在才各网的M阶拓朴保证区域,与目的地g所在格网的n阶 拓朴保证区域内的数据量依然庞大,因此,进一步结合上述式l,从该两个区 域中仅选择符合式1的弧段用于计算,而剔除不符合式1的弧段,从而不仅大 大较少计算量,提高计算效率,而且保证计算结果的正确性。
本发明的实施例还提供一种地图数据处理方法,该方法包括预设用于存 储指定区域内地图数据的多个格网,所述指定区域内地图数据记录所述指定区域内道路网络中的弧段与结点;该方法还包括 读取每个格网内存储的地图数据;
根据读取到的地图数据,计算每个格网内每条格网路线的格网通达度;记 录每条格网路线上的弧段与结点;所述格网路线为所在格网上两个边界结点之 间的路径;
根据每条格网路线的格网通达度,计算所述每个弧段的格网通达度。 本发明的实施例还提供一种设备,参见图11,图ll是该设备的结构示意 图。图11中,设备1100包括用于存储指定区域内地图数据的多个格网1101, 还包括通达度计算单元1102、第一存储单元1103、获取单元1104、过滤单 元1105与路径计算单元1106;
通达度计算单元1102,用于计算格网内每个弧段的格网通达度; 第一存储单元1103,用于存储每个弧段的格网通达度; 获取单元1104,用于获知路径规划中的第一端点与第二端点; 过滤单元1105,用于对于离第一格网距离为Ml格网,离第二格网距离为 M2格网的各格网,设M为Ml和M2中的较小值;Ml和M2为非负整数; 若M〈所有弧段的格网通达度中的最大值Max,则从各格网中选出符合第一预 设条件的待用弧段;所述第一预设条件为至少有一条路径经过该待用弧段, 且该路径能够通达至少2M+1个格网;第一格网为所述第一端点所在格网;第 二格网为所述第二端点所在格网;若M^Max,则从所述各格网中选出符合第 二预设条件的待用弧段;所述第二预设条件为至少有一条路径经过该待用弧 段,且该路径能够通达至少2Max-l个格网;
路径计算单元1106,用于以选出的待用弧段的集合为搜索空间,计算出 所述第 一端点与所述第二端点之间最优路径上的弧段。
参见图12,图12是本发明的实施例中设备的另一结构示意图,设备1200 中,通达度计算单元1102包括读单元21、第一计算子单元22、记录单元 23、第二计算子单元24;
读单元21,用于读取每个格网内存储的地图数据;
第一计算子单元22,用于根据读取到的地图数据,计算每个格网内每条 格网路线的格网通达度;所述格网路线为所在格网上两个边界结点之间的路径;
记录单元23,用于记录每条格网路线上的弧段与结点;
第二计算子单元24,用于根据每条格网路线的格网通达度,计算所述每
个弧段的格网通达度。
设备1200还包括合并单元1201,用于4艮据通达度计算单元1102的计
算结果,对于弧段的格网通达度等于Max的各弧段,找到存在相同结点的两
两弧段,合并所述两两弧段为一条弧段;所述相同结点连接格网通达度为Max
的弧段数为2。
设备1200还包括第二存储单元1202,用于存储合并单元1201合并出 的弧段,以及弧段的格网通达度为Max的弧段中未经合并单元1201合并的其 余弧段。
设备1200还包括关联建立单元1203,用于对于两端的结点至少一个为 边界结点的弧段,若该弧段的格网通达度为Max,则标记该该至少一个边界结 点为关联结点,且建立该关联结点与第二存储单元1202之间的关联关系。 路径计算单元1106包括关联单元与选单元(图中未示出); 关联单元,用于在M^Max时,判断所述待用弧段的格网通达度是否等于 Max,,且是否包含格网边界结点,若是,则确定所述待用弧段中的结点为关 联结点;根据所述关联关系,找到存储的由所述两两弧段合并出的弧段;
选单元,用于从由所述两两弧段合并出的弧段中,选出最优路径上的弧段。 相比较现有技术,本发明的实施例所提供的技术方案可在保证计算结果准 确的前提下,有效压缩搜索空间,提高计算效率,且不仅适用于资源不受限的 应用场景,还可适用于资源受限如嵌入式环境。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通 技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰, 这些改进和润饰也应^f见为本发明的保护范围。
权利要求
1、一种地图数据处理方法,其特征在于,包括预设用于存储指定区域内地图数据的多个格网,所述指定区域内地图数据记录所述指定区域内道路网络中的弧段与结点;预先计算并存储格网内每个弧段的格网通达度;该方法还包括获知路径规划中的第一端点与第二端点;对于离第一格网距离为M1个格网,离第二格网距离为M2个格网的各格网,设M为M1和M2中的较小值;M1与M2为非负整数;若M<所有弧段的格网通达度中的最大值Max,则从各格网中选出符合第一预设条件的待用弧段;所述第一预设条件为至少有一条路径经过该待用弧段,且该路径能够通达至少2M+1个格网;所述第一格网为所述第一端点所在格网,所述第二格网为所述第二端点所在格网;若M≥Max,则从所述各格网中选出符合第二预设条件的待用弧段;所述第二预设条件为至少有一条路径经过该待用弧段,且该路径能够通达至少2Max-1个格网;以选出的待用弧段的集合为搜索空间,计算出所述第一端点与所述第二端点之间最优路径上的弧段。
2、 根据权利要求1所述的方法,其特征在于,所述预先计算格网内每个 弧段的格网通达度包括读取每个格网内存储的地图数据;根据读取到的地图数据,计算每个格网内每条格网路线的格网通达度;所 述格网路线为所在格网上两个边界结点之间的路径;记录每条格网路线上的弧段与结点,且根据每条格网路线的格网通达度,计算所述每个弧段的格网通达度。
3、 根据权利要求2所述的方法,其特征在于,所述计算每个格网内每条 格网路线的格网通达度包括预设每条格网路线的格网通达度为n,且n的初始值为1; 步骤30、用n+l取代当前n的值;步骤31、选取一条格网路线;步骤32、以该格网路线为起始路线,扩展出经过该格网路线的扩展路径, 且该扩展路径经过2n-l个不同格网,若位于第n个格网内路线的格网通达度 小于n,则更新为n;步骤33、判断是否遍历所有格网路线,若是,执行步骤34;否则,执行 步骤31;步骤34、判断格网通达度不小于n的所有弧段的总数是否小于预设值,若是,则结束该流程,否则,执行步骤30。
4、 根据权利要求2所述的方法,其特征在于,所述计算所述每个弧段的 格网通达度包括对于多条通过该弧段的格网路线,选出其中格网通达度最大的格网路线, 将该格网路线的格网通达度作为该弧段的格网通达度。
5、 根据权利要求2、 3或4所述的方法,其特征在于,所述计算所述每个 弧段的格网通达度后,该方法进一步包括对于弧段的格网通达度为Max的弧段,找到存在相同结点的两两弧段, 合并所述两两弧段为一条弧段;所述相同结点连接格网通达度为Max的弧段数为2。
6、 根据权利要求5所述的方法,其特征在于,所述合并所述两两弧段为 一条弧段后,该方法进一步包括存储由所述两两弧段合并出的弧段,以及弧段的格网通达度为Max的弧 段中未经所述合并的其余弧段。
7、 根据权利要求6所述的方法,其特征在于,所述合并所述两两孤段为 一条弧段后,该方法进一步包括对于两端的结点至少 一个为边界结点的弧段,若该弧段的格网通达度为 Max,则标记至少一个边界结点为关联结点,且建立该关联结点与存储的由所 述两两弧段合并出的弧段之间的关联关系。
8、 根据权利要求7所述的方法,其特征在于,若M^Max,所述从选出的 待用弧段中,选出所述第一端点与所述第二端点之间最优路径上的弧段包括判断所述待用弧段是否包含边界结点,且格网通达度是否等于Max,若是,则确定所述待用弧段中的结点为关联结点;根据所述关联关系,找到存储的由所述两两弧段合并出的弧段; 从由所述两两弧段合并出的弧段中,选出所述最优路径上的弧段。
9、 一种地图数据处理方法,其特征在于,预设用于存储指定区域内地图 数据的多个格网,所述指定区域内地图数据记录所述指定区域内道路网络中的 弧段与结点;该方法包括读取每个格网内存储的地图数据;根据读取到的地图数据,计算每个格网内每条格网路线的格网通达度;记 录每条格网路线上的弧段与结点;所述格网路线为所在格网上两个边界结点之 间的路径;根据每条格网路线的格网通达度,计算所述每个弧段的格网通达度。
10、 一种导航设备,其特征在于,包括用于存储指定区域内地图数据的 多个格网,所述指定区域内地图数据记录所述指定区域内道路网络中的弧段与 结点;还包括通达度计算单元、第一存储单元、获取单元、过滤单元与路径 计算单元;所述通达度计算单元,用于计算格网内每个弧段的格网通达度; 所述第一存储单元,用于存储每个弧段的格网通达度; 所述获取单元,用于获知路径规划中的第 一端点与第二端点; 所述过滤单元,用于对于离第一格网距离为M1个格网,离第二格网距离 为M2个格网的各格网,设M为Ml和M2中的较小值;Ml与M2为非负整 数;若M〈所有弧段的格网通达度中的最大值Max,则从各格网中选出符合第 一预设条件的待用弧段;所述第一预设条件为至少有一条路径经过该待用弧 段,且该路径能够通达至少2M+1个格网;所述第一格网为所述第一端点所在 格网,所述第二格网为所述第二端点所在格网;若M^VIax,则从所述各格网 中选出符合第二预设条件的待用弧段;所述第二预设条件为至少有一条路径 经过该待用弧段,且该路径能够通达至少2 Max -1个格网;所述路径计算单元,用于以选出的待用弧段的集合为搜索空间,计算出所 述第 一端点与所述第二端点之间最优路径上的弧段。
11、 根据权利要求10所述的设备,其特征在于,所述通达度计算单元包括读单元、第一计算子单元、记录单元、第二计算子单元; 所述读单元,用于读取每个格网内存储的地图数据;所述第一计算子单元,用于根据读取到的地图数据,计算每个格网内每条 格网路线的格网通达度;所述格网路线为所在格网上两个边界结点之间的路 径;所述记录单元,用于记录每条格网路线上的弧段与结点; 所述第二计算子单元,用于根据每条格网路线的格网通达度,以及所述记 录单元的记录,计算所述每个弧段的格网通达度。
12、 根据权利要求10所述的设备,其特征在于,所述设备进一步包括 合并单元,用于根据所述通达度计算单元的计算结果,对于弧段的格网通达度等于Max的各弧段,找到存在相同结点的两两弧段,合并所述两两弧段 为一条弧段;所述相同结点连接格网通达度为Max的弧段数为2。
13、 根据权利要求12所述的设备,其特征在于,所述设备进一步包括 第二存储单元,用于存储所述合并单元合并出的孤段,以及弧段的格网通达度 为Max的弧段中未经所述合并单元合并的其余弧段。
14、 根据权利要求13所述的设备,其特征在于,所述设备进一步包括 关联建立单元,用于对于两端的结点至少一个为边界结点的弧段,若该弧段的 格网通达度为Max,则标记该至少一个边界边界结点为关联结点,且建立该关 联结点与所述第二存储单元之间的关联关系。
15、 根据权利要求14所述的设备,其特征在于,所述路径计算单元包括 关联单元与选单元;所述关联单元,用于在M^Max时,判断所述待用弧段的格网通达度是否 等于Max,且是否包含格网边界结点,若是,则确定所述待用弧段中的结点为 关联结点;根据所述关联关系,找到存储的由所述两两弧段合并出的弧段;所述选单元,用于从由所述两两弧段合并出的弧段中,选出所述最优路径 上的弧^歐。
全文摘要
本发明提供地图数据处理方法及导航设备。本发明提供的技术方案由格网通达度来体现弧段在道路网络中的通达能力,从而,在实际路径规划中,对于某一端点如出发地或目的地,利用弧段的格网通达度,来检测与该端点相距一定距离的弧段,是否具有到达该端点的通达能力,若该弧段的格网通达度符合预设条件,则显示该弧段具有这样的通达能力,则在路径规划时,将该弧段纳入搜索空间,否则,不需要考虑该弧段;从而,不仅保证计算结果的准确性,而且相比较现有技术能够有效压缩搜索空间内的数据量,从而有效提高计算效率,且降低对硬件性能的要求,且不仅适用于资源不受限的应用场景,还可适用于资源受限环境。
文档编号G01C21/34GK101526366SQ20091008296
公开日2009年9月9日 申请日期2009年4月27日 优先权日2009年4月27日
发明者孙玉国, 栋 黄 申请人:北京四维图新科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1