一种景区内智能导航方法

文档序号:10637780阅读:674来源:国知局
一种景区内智能导航方法
【专利摘要】本发明公开一种景区内智能导航方法,其步骤为:首先采集获取景区内的线性路网信息数据;然后对采集到的线性路网信息数据进行处理,形成节点路网,将景区内线路转化为mif数据文件格式;再建立路网数据模型,将线路存入道路集合中,将线路端点和连接点存入顶点集合;最后通过改进的最短寻路算法进行寻路,并将寻路结果标示在地图上。本发明通过对传统最短寻路法进行改进,实现了景区内的路网信息采集处理及设施导航,能够快速可靠的为景区内游客提供由当前位置到其它任意景区内景点或设施(如洗手间、停车场、超市等)的最短导航路径。
【专利说明】
一种景区内智能导航方法
技术领域
[0001]本发明涉及导航技术领域,特别是一种景区内智能导航方法。
【背景技术】
[0002]随着国家号召景区智能旅游的实施落地,景区内智能导游的需求日渐增加,而景区内导航作为智能导游的重要组成部分,在目前市面上基本是空白。
[0003]现有的智能导游软件,可以实现通过GPS定位,边走边听软件内的导游讲解,但是对于景区内路网信息的搜集和寻路系统并未实现。比如游客需要寻找附近的某个景点、超市或者洗手间,并且在地图上标示出对应的最短导航路径,这样的功能实用并且迫切。而现有的地图导航仅仅存在于景区外,景区内的路网信息和导航功能基本是一片空白。

【发明内容】

[0004]本发明要解决的技术问题为:提供一种景区内智能导航方法,为景区内游客提供由当前位置到其它任意景区内景点或设施(如洗手间、停车场、超市等)的导航路径。
[0005]本发明采取的技术方案具体为:一种景区内智能导航方法,包括以下步骤:
步骤一,采集获取景区内的线性路网信息数据;本步骤可通过实地道路信息采集来实现,或者从其它途径获取景区内的线性路网信息数据;如实地道路信息采集可利用现有的手持式GIS地理信息数据采集器进行。采集到的线性路网信息数据包括了组成景区内各条线路的地理坐标集,各条线路皆以一系列有序的地理信息点的形式呈现;
步骤二,对采集到的线性路网信息数据进行处理,形成节点路网:计算景区内各线路之间的交叉点,以交叉点为中断点,将道路按照中断点进行打断,使得打断后的任意两条线路不相交,但有基于某一点相接的可能;将打断后的各条线路转化为mif数据文件格式;
MIF文件是MapInfo通用数据交换格式,这种格式是ASCII码,可以编辑容易生成,且可以工作在MapInfo支持的所有平台上。它将MapInfο数据保存在两个文件中:图形数据保存在.MIF文件中,而文本(属性)数据保存在.MID文件中。
[0006]*.mif文件保存了该Map inf ο表的表结构及表中所有空间对象的空间信息(如:每个点对象的符号样式、点位坐标;每个线对象的线样式、节点数据、节点坐标;区域对象的填充模式、每个区域包含的子区域个数及每个区域的节点数、节点数等)。
[0007]步骤三,建立路网数据模型:读取所有线路的mif数据文件信息,存入道路集合中;从所有道路对象中找出各道路对象与相邻道路对象之间的连接点,以及未与其它道路对象相连接的道路端点,将前述各连接点和端点存入顶点集合;所述道路集合与顶点集合即组成所述路网数据模型;
所形成的路网数据模型可做到:指定某条道路对象,可以获取其两端顶点;指定某个顶点对象,可以获取其所连接的道路;
步骤四,通过改进的最短寻路算法进行寻路,并将寻路结果标示在地图上:
4.1获取起点及用户指定的终点的地理位置数据; 4.2判断起点和终点是否属于顶点集合:
若起点和终点皆为顶点,则利用标准Astar算法对起点和终点之间线路进行最短路线寻路,然后输出寻路结果;
若起点和终点中有至少一个不是顶点,则从道路集合中寻找距离非顶点起点或终点最近的道路或者顶点;然后判断距离非定点起点或终点最近的是顶点还是道路:
若距离非顶点起点或终点最近的为顶点而非道路,则在非顶点起点或终点与最近顶点之间新建道路,得到对应起点和终点的顶点或最近顶点信息,然后利用标准Astar算法对对应起点和终点的顶点或最近顶点之间线路进行最短路线寻路,最后输出寻路结果;
若距离非顶点起点或终点最近的为道路而非顶点,则从非顶点起点或终点处向相应道路作垂线,以垂线与道路的相交点作为中断点,对道路进行打断,然后更新路网数据模型中的道路集合和顶点集合,使得垂线成为新的道路对象,非顶点的起点或终点成为新的顶点;再利用标准Astar算法对对应起点和终点的新的顶点之间线路进行最短路线寻路,最后输出寻路结果。
[0008]AStar算法为现有算法,其一般用于寻找网状结构中任意两顶点之间的最短路线,这里的网状结构我们可以理解为路网,此时即可以解决交叉路口之间的寻路。但是游客位置未必总是在交叉路口,大部分时候是存在于路网内某条路的任一点上,甚至不在道路上。此时,我们需要对AStar算法进行改良,以满足寻路要求。本发明方案即先将用户引导至垂直距离最近的道路,或者最近的交叉路口(取决于哪种形式的距离更近),当用户进入道路时,在道路上标记进入点,将此道路以进入点为分界点打断,转化为交叉路口。重新构造路网信息并转化为标准的顶点到顶点的寻路。
[0009]进一步的,本发明步骤二中,还包括以景区内各分景点位置为中断点对线路进行打断。可保证当某分景点仅位于一条道路上时,使得此分景点在步骤三时形成顶点集合中的一个顶点对象,方便引导用户寻找所需景点。但由于一般景区内分景点会有多个出入线路,因此即使不以分景点作为中断点对线路进行打断,分景点所在位置也会因为同时有多条出入线路相交叉,而在步骤三时成为顶点对象。
[0010]优选的,本发明步骤三中,所述道路集合中的各道路对象的属性包括起始点,终止点和道路长度;
所述顶点集合中的各顶点对象的属性包括地理位置、经过该点的道路、所属道路和该顶点的父节点;
上述该顶点的父节点为:对于路网模型中的某点,寻找其周边通过一条道路即可到达的顶点对象,则前述某点为后述所有顶点对象的父节点,,该顶点为后述所有顶点对象中的其中一个。
[0011]本发明的有益效果为:通过对传统最短寻路法进行改进,实现了景区内的路网信息采集处理及设施导航,能够快速可靠的为景区内游客提供由当前位置到其它任意景区内景点或设施(如洗手间、停车场、超市等)的最短导航路径。
【附图说明】
[0012]图1所示为本发明方法流程示意图;
图2所示为最短寻路算法流程示意图; 图3所示为本发明一种实施例的路网信息展示示意图;
图4所示为本发明一种实施例的导航应用展示示意图。
【具体实施方式】
[0013]以下结合附图和具体实施例进一步描述。
[0014]参考图1所示,本发明的景区内智能导航方法,包括以下步骤:
步骤一,采集获取景区内的线性路网信息数据;
图1所示的实施例中,景区内的线路路网信息数据利用现有的手持式GIS地理信息数据采集器,通过实地道路信息采集来获取。也可以从其它途径获取景区内的线性路网信息数据。
[0015]采集到的线性路网信息数据包括了组成景区内各条线路的地理坐标(如经玮度)集,各条线路皆以一系列有序的地理信息点的形式呈现;在进行数据处理之前,实际相交的道路并没有逻辑上的相交关系和交叉点信息。
[0016]步骤二,对采集到的线性路网信息数据进行处理,形成节点路网,如图3所示:计算景区内各线路之间的交叉点,以交叉点为中断点,将道路按照中断点进行打断,使得打断后的任意两条线路不相交,但有基于某一点相接的可能;将打断后的各条线路转化为mif数据文件格式;
常见的寻路算法都是基于节点进行计算,所以要计算出所有线路之间的交叉点,并且以交叉点为中断点,利用mapinfo打断道路信息,使得处理后的路网数据可用于后续的寻路导航算法。
[0017]步骤二中,还包括以景区内各分景点位置为中断点对线路进行打断。可保证当某分景点仅位于一条道路上时,使得此分景点在步骤三时形成顶点集合中的一个顶点对象,方便引导用户寻找所需景点。但由于一般景区内分景点会有多个出入线路,因此即使不以分景点作为中断点对线路进行打断,分景点所在位置也会因为同时有多条出入线路相交叉,而在步骤三时成为顶点对象。
[0018]步骤三,建立路网数据模型:读取所有线路的mif数据文件信息,存入道路集合中;从所有道路对象中找出各道路对象与相邻道路对象之间的连接点,以及未与其它道路对象相连接的道路端点,将前述各连接点和端点存入顶点集合;所述道路集合与顶点集合即组成所述路网数据模型;
所形成的路网数据模型可做到:指定某条道路对象,可以获取其两端顶点;指定某个顶点对象,可以获取其所连接的道路;
步骤四,通过改进的最短寻路算法进行寻路,并将寻路结果标示在地图上,如图4所示: 4.1获取起点及用户指定的终点的地理位置数据;
4.2判断起点和终点是否属于顶点集合:
若起点和终点皆为顶点,则利用标准Astar算法对起点和终点之间线路进行最短路线寻路,然后输出寻路结果;
若起点和终点中有至少一个不是顶点,则从道路集合中寻找距离非顶点起点或终点最近的道路或者顶点;然后判断距离非定点起点或终点最近的是顶点还是道路:
若距离非顶点起点或终点最近的为顶点而非道路,则在非顶点起点或终点与最近顶点之间新建道路,得到对应起点和终点的顶点或最近顶点信息,然后利用标准Astar算法对对应起点和终点的顶点或最近顶点之间线路进行最短路线寻路,最后输出寻路结果;
若距离非顶点起点或终点最近的为道路而非顶点,则从非顶点起点或终点处向相应道路作垂线,以垂线与道路的相交点作为中断点,对道路进行打断,然后更新路网数据模型中的道路集合和顶点集合,使得垂线成为新的道路对象,非顶点的起点或终点成为新的顶点;再利用标准Astar算法对对应起点和终点的新的顶点之间线路进行最短路线寻路,最后输出寻路结果。
[0019]AStar算法为现有算法,其一般用于寻找网状结构中任意两顶点之间的最短路线,这里的网状结构我们可以理解为路网,此时即可以解决交叉路口之间的寻路。但是游客位置未必总是在交叉路口,大部分时候是存在于路网内某条路的任一点上,甚至不在道路上。此时,我们需要对AStar算法进行改良,以满足寻路要求。本发明方案即先将用户引导至垂直距离最近的道路,或者最近的交叉路口(取决于哪种形式的距离更近),当用户进入道路时,在道路上标记进入点,将此道路以进入点为分界点打断,转化为交叉路口。重新构造路网信息并转化为标准的顶点到顶点的寻路。
[0020]最短寻路算法的具体实现请参考图2,步骤三中,所述道路集合中的各道路对象的属性包括起始点,终止点和道路长度;
所述顶点集合中的各顶点对象的属性包括地理位置、经过该点的道路、所属道路和该顶点的父节点;
上述该顶点的父节点为:对于路网模型中的某点,寻找其周边通过一条道路即可到达的顶点对象,则前述某点为后述所有顶点对象的父节点,,该顶点为后述所有顶点对象中的其中一个。
[0021 ]图2所示的最短寻路算法为现有技术,为了方便理解,现对其进行简单描述:定义某顶点的g值为从起点开始移动到该顶点的直线距离,h为从该顶点移动到终点的直线距离,则起点到终点的直线距离为f=g+h;最短寻路算法流程为:
I获取已指定的起点和终点,将起点作为当前点,其g记为O,h为起点到终点的直线距离,将当前点加入一个“开启列表”;
2寻找路网中当前点周边通过一条道路可以到达的所有顶点对象,将这些顶点对象全部加入前述“开启列表”,并将当前点保存为前述这些顶点对象的父节点;
3从“开启列表”中删除起点,并将起点加入至一个“关闭列表”,所述“关闭列表”用于存放所有不需要再次检查的顶点;
4从“开启列表”中选择f值最低的顶点,作为新的当前点,并获取路网中与新的当前点相邻的所有顶点;新的当前点为其相邻所有顶点的父节点;
5判断所获取的相邻顶点中是否包含终点:如果包括,则从终点开始沿相应道路依次寻找父节点,连成线,作为导航路线进行输出;
如果不包括,则继续判断相邻顶点是否在“开启列表”中,如果不在,则把相应的相邻顶点添加进“开启列表”,转至步骤4;如果相邻顶点在“开启列表”中,则获取相应相邻顶点的g值,如果此顶点的g值更低,代表起点到此顶点所耗费的距离更短,那么此时新的顶点作为更优选的当前顶点,需要把之前计算的道路,改为指向新顶点。即是把相邻顶点的父节点改为目前选中的顶点,然后重新计算f和g的值,转至步骤4; 直至获取到原始起点与终点之间的所有路线,并输出至用户的APP界面上,如图4所示,为从用户当前位置到景仁宫的最短导航路线图。
[0022]综上,最短寻路算法的原理也即:从终点开始,寻找其父节点,依次将当前点周边找到的f值最小的顶点的父节点作为起点,将找到的起点依次连接,即形成导航路线。
[0023]本发明通过对传统最短寻路法进行改进,实现了景区内的路网信息采集处理及设施导航,能够快速可靠的为景区内游客提供由当前位置到其它任意景区内景点或设施(如洗手间、停车场、超市等)的最短导航路径。
【主权项】
1.一种景区内智能导航方法,其特征是,包括以下步骤: 步骤一,采集获取景区内的线性路网信息数据; 步骤二,对采集到的线性路网信息数据进行处理,形成节点路网:计算景区内各线路之间的交叉点,以交叉点为中断点,将道路按照中断点进行打断,使得打断后的任意两条线路不相交,但有基于某一点相接的可能;将打断后的各条线路转化为mif数据文件格式; 步骤三,建立路网数据模型:读取所有线路的mif数据文件信息,存入道路集合中;从所有道路对象中找出各道路对象与相邻道路对象之间的连接点,以及未与其它道路对象相连接的道路端点,将前述各连接点和端点存入顶点集合;所述道路集合与顶点集合即组成所述路网数据模型; 步骤四,通过改进的最短寻路算法进行寻路,并将寻路结果标示在地图上: 4.1获取起点及用户指定的终点的地理位置数据; 4.2判断起点和终点是否属于顶点集合: 若起点和终点皆为顶点,则利用标准Astar算法对起点和终点之间线路进行最短路线寻路,然后输出寻路结果; 若起点和终点中有至少一个不是顶点,则从道路集合中寻找距离非顶点起点或终点最近的道路或者顶点;然后判断距离非定点起点或终点最近的是顶点还是道路: 若距离非顶点起点或终点最近的为顶点而非道路,则在非顶点起点或终点与最近顶点之间新建道路,得到对应起点和终点的顶点或最近顶点信息,然后利用标准Astar算法对对应起点和终点的顶点或最近顶点之间线路进行最短路线寻路,最后输出寻路结果; 若距离非顶点起点或终点最近的为道路而非顶点,则从非顶点起点或终点处向相应道路作垂线,以垂线与道路的相交点作为中断点,对道路进行打断,然后更新路网数据模型中的道路集合和顶点集合,使得垂线成为新的道路对象,非顶点的起点或终点成为新的顶点;再利用标准Astar算法对对应起点和终点的新的顶点之间线路进行最短路线寻路,最后输出寻路结果。2.根据权利要求1所述的方法,其特征是,步骤二中,还包括以景区内各分景点位置为中断点对线路进行打断。3.根据权利要求1所述的方法,其特征是,步骤三中,所述道路集合中的各道路对象的属性包括起始点,终止点和道路长度; 所述顶点集合中的各顶点对象的属性包括地理位置、经过该点的道路、所属道路和该顶点的父节点; 上述该顶点的父节点为:对于路网模型中的某点,寻找其周边通过一条道路即可到达的顶点对象,则前述某点为后述所有顶点对象的父节点,该顶点为后述所有顶点对象中的其中一个。
【文档编号】G01C21/34GK106017492SQ201610314315
【公开日】2016年10月12日
【申请日】2016年5月13日
【发明人】李东方, 吴旻晖
【申请人】苏州东方智旅信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1