室内地图导航线路指引算法

文档序号:6170533阅读:1825来源:国知局
室内地图导航线路指引算法
【专利摘要】本发明公开了一种室内地图导航线路指引算法,方便人们在室内建筑体内实现线路导航时线路最优、时间可衡量。本发明采用路网节点寻路的方法,实现室内地图单楼层、跨楼层、多栋楼中任意两点的寻路,通过该算法实现寻得的路径距离短的同时,保证路径方向正确、拐弯少,与定位点的关系相对应。通过计算各段路和总路线的距离,可以估算从起点到终点到达所需的时间。室内地图寻路路线显示清晰而美观,用户能够实现便捷导航,对用户在室内导航的实用价值非常高。
【专利说明】室内地图导航线路指引算法

【技术领域】
[0001] 本发明属于空间技术信息领域,涉及一种室内地图导航线路指引算法。

【背景技术】
[0002] 随着城市建筑物向着更大更高的方向发展,人们迫切的希望通过室内地图导航实 现在室内建筑物和设施行走时线路最优、时间可衡量。但通常在室内地图两点之间进行寻 路时,会碰到以下困难:没有明显的道路网,很多地图区域在实际场景中都不能通过,某些 仅能单向行走的地方在地图中没有标示,最短路线方向不规则,不同楼层的路径无法直观 地表达,与定位点的关系不能相对应等。这样的路径导航不方便用户在现实中行走,实用性 很差,因此需要开发出一种新的室内地图导航线路指引算法


【发明内容】

[0003] 本发明公开了一种室内地图导航线路指引算法,方便人们在室内建筑体内实现线 路导航时线路最优、时间可衡量。本发明采用路网节点寻路的方法,实现室内地图单楼层、 跨楼层、多栋楼中任意两点的寻路,通过该算法实现寻得的路径距离短的同时,保证路径方 向正确、拐弯少,与定位点的关系相对应。通过计算各段路和总路线的距离,可以估算从起 点到终点到达所需的时间。室内地图寻路路线显示清晰而美观,用户能够实现便捷导航,对 用户在室内导航的实用价值非常高。
[0004] 本发明的实现方法是:
[0005] -、编辑室内地图路网,通过室内的布局结构,画出每一层楼的道路网络,路线交 汇处为路网节点;在路线上增加一个节点,编辑节点属性是否为单向,可以实现路线单向的 控制。然后,将画好的路网,随地图配准到地理坐标系中,这样,每个路网节点坐标都转化成 经纬度坐标,可以计算出每段路线的长度。对于不同楼层和不同楼之间,标记出连接点,这 样程序寻路的时候就可以跨楼层和跨楼搜索了。
[0006] 二、程序读取路网数据,转化成寻路所需要的数据结构。
[0007] 二、寻路算法,计算出最短路径。
[0008] 寻路之前,给定了起点和终点的位置,把起点和终点作为路网节点,添加到路网 中,分别垂直连接到所有最近的路线;从起点开始,向下一个路网节点搜索,记录到该节点 路径的距离,如果发现已经有更短路径的路线;再循环向下一个节点搜索,直到搜索到到达 终点最短路线时,才结束循环。对于路线距离一样的情况,还要挑选出转弯最少的路径。
[0009] 四、计算路线长度,估算所需要的时间。
[0010] 计算出路线后,根据路线每个节点的坐标,计算出路线的长度。根据路线的每段路 的行进方式的速度和长度,可以计算出每段路所需要的时间,再加上路线中每个路网节点 的排队等所需时间,就估算出路线所需要的时间。

【专利附图】

【附图说明】
[0011] 图1是简单路网结构示意图
[0012] 图2是节点和路网结构说明图
[0013] 图3是寻路算法示意图

【具体实施方式】
[0014] 室内地图导航线路指引算法:
[0015] 一、单楼层寻路计算方法
[0016] 算法步骤:
[0017] 1、加载地图导航路网,解析成定义的路网数据结构。路网中每两条道路的交点定 义为路网节点,路网节点是路网的基本单元,组成的路网示意图可见图1,定义结构如下:
[0018] RouteNodeStruct{ RouteNodeList *neighbourNodeList; //邻点链表 NSString *name; GeoCoord geo; //经炜度 short floor; // 楼层 short terminal Id;// 楼层 float costMin; //已经寻得的路线的最小路线长度 }
[0019] 每个路网都有该节点可以到达的下一个节点列表,这样,从路网节点中的任何一 个节点,都可以循环迭代搜索可以到达的节点的路径,根据经纬度值,一方面可以计算路径 的长度,另一方面可以统计该路径的拐弯数量,综合得到路径最短且拐弯最少的路径。
[0020] 对于单向通道见图2,如经过B点的通道在显示中为单向通道,只能从路网节点A 通过节点B到达节点C,不能反向从节点C到达节点B和到达节点A。处理数据的时候,A的 邻点为B,B的邻点为C,C的邻点中没有B点,这样就可以表示一段单向通道。
[0021] 2、起点和终点连接到路网中
[0022] 如图3中
[0023] A为起点,添加为一个路网节点,然后从A点向相邻的道路连垂线,交点为Al、A2、 A3、A4,把四个点添加到路网节点,并把这四个节点点都添加为A节点的邻节点。
[0024] B点为终点,类似的处理,添加路网节点B,找到相邻的道路GH中的垂点B1,添加路 网节点Bl,B1的邻点列表添加 B路网节点
[0025] 3、从起点节点开始循环遍历相邻的路网节点,直到找到没有节点或者找到到终点 最短的路径时,结束循环。如果直到找到没有节点,则起点无法到达终点位置;如果找到最 短路径结束循环,则可以得到最短路径。
[0026] 二、多楼层寻路计算方法
[0027] 把每层楼的电梯节点A、B,分别添加到各楼层路网中,和单楼层一样的算法,就可 以判断是否到达终点或找到最短的跨楼层路径。
[0028] 三、多航站楼寻路计算实现方法
[0029] 把不同楼宇之间的连接点A、B添加到对应的航站楼楼层的路网中,添加的节点相 互联通,则不同楼宇之间可以联通了。和单楼层一样的算法,就可以判断是否到达终点或找 到最短的航站楼路径。
【权利要求】
1. 一种室内地图导航与线路指引算法,其特征在于: 步骤一、编辑室内地图路网,通过室内的布局结构,画出每一层楼的道路网络,路线交 汇处为路网节点;在路线上增加一个节点,编辑节点属性是否为单向,可以实现路线单向的 控制。然后,将画好的路网,随地图配准到地理坐标系中,这样,每个路网节点坐标都转化成 经纬度坐标,可以计算出每段路线的长度。对于不同楼层和不同楼之间,标记出连接点,这 样程序寻路的时候就可以跨楼层和跨楼搜索了。 步骤二、程序读取路网数据,转化成寻路所需要的数据结构。 步骤三、寻路算法,计算出最短路径。寻路之前,给定了起点和终点的位置,把起点和终 点作为路网节点,添加到路网中,分别垂直连接到所有最近的路线;从起点开始,向下一个 路网节点搜索,记录到该节点路径的距离,如果发现已经有更短路径的路线;再循环向下一 个节点搜索,直到搜索到到达终点最短路线时,才结束循环。对于路线距离一样的情况,还 要挑选出转弯最少的路径。 步骤四、计算路线长度,估算所需要的时间。计算出路线后,根据路线每个节点的坐标, 计算出路线的长度。根据路线的每段路的行进方式的速度和长度,可以计算出每段路所需 要的时间,再加上路线中每个路网节点的排队等所需时间,就估算出路线所需要的时间。
2. 根据权利要求1所述的室内地图导航与线路指引算法,其特征在于: 步骤一、编辑室内地图路网,通过室内的布局结构,画出每一层楼的道路网络,路线交 汇处为路网节点;在路线上增加一个节点,编辑节点属性是否为单向,可以实现路线单向的 控制。然后,将画好的路网,随地图配准到地理坐标系中,这样,每个路网节点坐标都转化成 经纬度坐标,可以计算出每段路线的长度。对于不同楼层和不同楼之间,标记出连接点,这 样程序寻路的时候就可以跨楼层和跨楼搜索了。
3. 根据权利要求1所述的室内地图导航与线路指引算法,其特征在于: 步骤二、程序读取路网数据,转化成寻路所需要的数据结构。
4. 根据权利要求1所述的室内地图导航与线路指引算法,其特征在于: 步骤三、寻路算法,计算出最短路径。寻路之前,给定了起点和终点的位置,把起点和终 点作为路网节点,添加到路网中,分别垂直连接到所有最近的路线;从起点开始,向下一个 路网节点搜索,记录到该节点路径的距离,如果发现已经有更短路径的路线;再循环向下一 个节点搜索,直到搜索到到达终点最短路线时,才结束循环。对于路线距离一样的情况,还 要挑选出转弯最少的路径。
5. 根据权利要求1所述的室内地图导航与线路指引算法,其特征在于: 步骤四、计算路线长度,估算所需要的时间。计算出路线后,根据路线每个节点的坐标, 计算出路线的长度。根据路线的每段路的行进方式的速度和长度,可以计算出每段路所需 要的时间,再加上路线中每个路网节点的排队等所需时间,就估算出路线所需要的时间。
【文档编号】G01C21/20GK104215237SQ201310219844
【公开日】2014年12月17日 申请日期:2013年6月5日 优先权日:2013年6月5日
【发明者】胡伟, 李蔚, 刘自禄 申请人:北京掌尚无限信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1