公开/公告号CN102494693A
专利类型发明专利
公开/公告日2012-06-13
原文格式PDF
申请/专利权人 苏州迈普信息技术有限公司;
申请/专利号CN201110382659.4
申请日2011-11-27
分类号G01C21/34(20060101);
代理机构32207 南京知识律师事务所;
代理人汪旭东
地址 215500 江苏省苏州市常熟市常熟东南经济开发区金都路8号1幢
入库时间 2023-12-18 05:21:27
法律状态公告日
法律状态信息
法律状态
2013-09-25
授权
授权
2012-07-11
实质审查的生效 IPC(主分类):G01C21/34 申请日:20111127
实质审查的生效
2012-06-13
公开
公开
技术领域
本发明涉及一种路口转向信息的语音播报方法,属于地理信息系统技术领域。
背景技术
移动环境下的语音导航集成了移动GIS技术、GPS技术和语音合成技术,广泛应用于车载导航、智慧旅游、公共服务等领域。移动导航技术采用相对空间参考框架,即采用用户的“前”、“后”、“左”、“右”方位,将针对转盘路口的“顺时针”、“逆时针”描述体系作为转向信息基本描述词汇,在此基础上保证描述语言准确、简单易懂。目前,与路口转向信息相关的论文、专利和产品的研究,主要关注两方面的内容:一是道路路口的数据建模,是转向信息获取前的数据预处理过程,如李宏利,张森等在“导航电子地图中的路口聚合模型与方法”(《地理信息世界》, 2009年05期)一文中通过分析城市路网的特点,提出结点-弧段表示的路口聚合模型,用于导航过程中的路径规划;方珏等人在“一种适合移动导航系统的路网数据描述与分析方法”(《计算机工程与应用》,2006/13)中提出一种针对导航数据的二进制编码方案;二是转向信息的表达,即转向信息获取后的操作,公开号为CN1825061A的专利发明了一种导航转向信息指示方法及装置,将基于用户实时位置及规划路径信息的转向信息转换为转向装置指针指示方式。
但是上述研究对路口转向信息的计算及判断,以及路口形态对转向信息的影响并未给出明确的研究。在实际中,高速公路网的道路平直延展,路口之间间距较大,城市道路网的道路分布较为密集,这些道路的路口形态规律较为显著,以简单的丁字路口、十字路口、环形路口居多,较为复杂的有带立交桥结构的复合路口。但是在旅游景区这样的拥有大量特殊路口形态的环境中,因其自然地貌特征或者观赏性需要,许多道路细碎、蜿蜒,经常在路口出现多条路段同时向某一方向或多方向蔓延。在计算路口转向信息时,以往的做法是将出口路段的方向角归放到某一角度区间内,再将该角度区间对应到自然语言中,若出口路段数目较少,且分别落在不同的角度区间内,则转向信息无歧义;若出口道路较多,往往采用顺时针或者逆时针结合“左”、“右”方向的方式描述;而对于尽管出口路段数目不多,但是集中在某一个角度区间的情况,缺乏明确的处理方法,采用现有的路口导航技术是无法达到类似特殊路口转向信息的播报需求的。
发明内容
本发明针对目前路口形态对转向信息的影响这方面的研究尚不深入的情况,提出一种基于路口形态的路口转向信息语音播报方法,模拟人的空间认知思维模式,改进现有转向信息播报模型,获取更为明确的转向信息。
本发明包括以下步骤:
(1)在移动GIS模块中,根据道路网获取规划路径,即用户指定的出发点到目的地两点之间的路径,规划路径包括路口与路段信息;定义路口为路段交点,路段定义为两个相邻路口之间道路片段,由一连串连续的坐标集合组成;其中,路口信息包括路口编号、路口坐标、与路口相连的路段信息;路段信息包括路段编号、路段两端的路口信息、路段上有序点坐标集合;
(2)利用GPS定位模块获取用户当前位置的经纬度坐标并传递给移动GIS模块;
(3)利用移动GIS模块计算用户当前位置到规划路径中各路段的距离,将最短距离对应的路段作为用户当前所在的路段;由于规划路径上的路段及路口是有序排列的,因此根据用户当前所在路段的编号得到即将进入的路口的编号;
(4)根据用户的当前位置,利用移动GIS模块实时判断当前位置与相应路口的距离是否小于预设的判断阈值:若不小于,继续获取用户实时位置信息,直到用户所处的位置位于播报距离范围内;若小于,则进入转向播报区域,计算相应路口关联路段的方向角,包括当前位置所在路段进入相应路口的方向角、与该路口相连的其他所有出口路段的相对方向角;
(5)选择当前路段的走向为转向判断的中心方向,将角度区间划分为前、左、右三个象限,其区域分别为 、、 ;根据与该路口相连的其他所有出口路段的数目、分布特征、方向角所落在的角度区间,执行路口形态分析,将分析结果结合人的空间认知习惯转换到自然语言描述的语句;
(6)将自然语言描述的转向信息语句通过语音合成引擎和语音输出设备实现语音转换与语音讲解。
本发明中相应路口关联路段的方向角的计算方法为:
设在直角坐标系内存在两点A(XA,YA),B(XB,YB),两点之间的向量角是以直角坐标系的X正轴为方向起算线,令,,向量角的计算公式为:
以路口N为方向计算的终点,计算N的入口路段EF的进入N的方向角,取EF上距离N最近的点Pn-1作为向量的起点,记为PF,则入口路段EF前往路口N的绝对方向角表示为AF=Angle(PF,N);以路口N为向量起点,N的目标出口路段ET上距离N最近的点P0作为向量的终点,记为PT,则目标出口路段ET的离开路口N的绝对方向角为Angle(N,PT);路口N上连接的其他出口路段的最近点记为Pi,路口的绝对方向角记为Angle(N,Pi);计算出口路段的相对方向角,即用各个绝对方向角减去入口路段的绝对方向角,记为AT = Angle(N,PT)- Angle(PF,N),Ai= Angle(N,Pi)- Angle(PF,N),并将其规范化到[0,2]。
本发明中路口形态分析的过程为:
用Num表示与路口相连的出口路段的数目,即与路口相连的全部路段数目减去一条作为判断起算线的入口路段;
当Num=1时,可以确定出口路段的转向信息,无转向歧义;
当Num=2时,若与路口相连的两条出口路段位于不同的角度区间内,则转向信息无歧义;若两条出口路段位于同一个角度区间内,则分以下三种情况:
情况一:同时位于“直行”的角度区间内,即, i =0,1;
(1)如果两条路段分别位于中心线的两边并且偏离中心线的角度值相当,即, 为一个较小值,那么目标出口路段偏向左侧为“左转”,偏向右侧为“右转”;
(2)如果其中一条明显偏向中心线,则该路段为 “直行”,另外一条左转或者右转,即,为设定的比较阈值;
(3)如果两条都落在中心线的一侧,则选择较近的路段为直行,另外一条为左转或者右转,即为设定的比较阈值;
情况二:同时位于“左转”的角度区间内,即, i =0,1,采用带有“顺时针”字段的语言描述转向信息;
(1)目标出口路段的方向角小于另外一条出口路段的方向角,那么出口路段的转向信息为“顺时针第二条路”;
(2)目标出口路段的方向角大于另外一条出口路段的方向角,那么出口路段的转向信息为“顺时针第一条路”;
情况三:同时位于“右转”的角度区间内,即, i =0,1,采用带有“逆时针”字段的语言描述转向信息;
(1)目标出口路段的方向角小于另外一条出口路段的方向角,那么出口路段的转向信息为“逆时针第一条路”;
(2)目标出口路段的方向角大于另外一条出口路段的方向角,那么出口路段的转向信息为“逆时针第二条路”;
当Num=3时,若目标出口路段单独位于一个角度区间内,则转向信息无歧义;若目标出口路段与另外一条干扰路段位于同一角度区间内,处理方法参照Num=2;所有出口路段均位于同一个角度区间内,首先对三条出口路段的相对方向角做个大小排序,令,再根据该角度区间做不同处理:
(1)同时位于“直行”的角度区间内:
如果,目标出口路段为,由于离中心方向较近,因此转向信息为“直行”;目标出口路段为,则转向信息为“顺时针第二条路” ;目标出口路段为,则转向信息为“顺时针第一条路”;
如果,目标出口路段为或者,参照Num=2情况一的处理方法;目标出口路段为,则转向信息为“右转”;
如果,目标出口路段为,则转向信息为“左转”;目标出口路段为或,参照Num=2情况一的处理方法;
如果,目标出口路段为,则转向信息为“逆时针第一条路”;目标出口路段为,则转向信息为“逆时针第二条路” ;目标出口路段为,由于离中心方向较近,因此转向信息为“直行”;
(2)同时位于“左转”的角度区间内,即, i =0,1,2,采用带有“顺时针”字段的语言描述转向信息,若目标出口路段为,则转向信息为“顺时针第一条路”;
(3)同时位于“右转”的角度区间内,即, i =0,1,2,采用带有“逆时针”字段的语言描述转向信息,若目标出路路段为,则转向信息为“逆时针第一条路”;
Num=4、5及更多数目的情况与Num=3的处理方式类似。
本发明对路口关联的出口路段数目及分布情况做详细的分类讨论,并着重分析了多条路段落在同一角度区间内的处理方法,能够很好的区别多条出口路段落在同一个方向角区间内的情况,将转向信息规范到用户“前”、“左”、“右”三个转向方位词以及用户“顺时针”、“逆时针”方向的组合描述中,能够为旅游景区内分布密集且蜿蜒的道路的路口转向信息提供准确的播报。
附图说明
图1 是本发明方法应用流程图。
图2是本发明方法工作流程图。
图3是本发明中出口路段数目为2的处理方法流程图。
图4是本发明中出口路段数目为2,且同时位于同一角度区间示意图。
图5是本发明中出口路段数目为3的处理方法流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细说明。
1.规划路径的确定:
在路网数据模型G{V,E,W}中,V为路网中的结点,是E的端点;E为路网中的弧段,弧段与弧段之间的交点就是V;W是E的权重,用于作为路径规划的约束条件。在此基础上,定义路口为路段交点,即Node∈{N|N=Ei∩Ej, i,j=0,1,…n};道路路段定义为两个相邻路口之间道路片段,由一连串连续的坐标集合组成,即Edge∈{E|E=Ni P1…Pn-1Nj, P0=Ni, Pn=Nj };规划路径是一连串有序路段集合,即Path={ E0 ,E1,…,En}。Node与Edge的数据结构设计如下表所示:
Node与Edge的数据结构
此外,定义进入某路口的一个路段的终止路口编号与该路口的编号一致,即Edge.TNID=Node.NID,离开某路口的一个路段的起始路口编号与该路口的编号一致,即Edge.FNID=Node.NID。
2.实时路段获取:
利用GPS定位模块获取用户当前位置Location的经纬度坐标(L,B),计算用户当前位置与规划路径上的各路段的距离,综合所有距离得到最短的一个结果,即Dis(Location,Path)=Min(Dis(Location,Ei)) ,其中i=0,1……n,是规划路径路段集合Path的序号,n是Path数组的长度。令得到的最近路段序号为Index,则Path[Index]即认为是用户当前所在路段,记为EF,该路段的终止路口即为用户即将前往的路口,记为N,同时用户即将前往的路段记为ET。
3.路口关联路段的方向角计算:
直角坐标系内的两点A(XA,YA),B(XB,YB),之间的向量角是以直角坐标系的X正轴为方向起算线,令,,向量角的计算公式为
以路口N为方向计算的终点,计算N的入口路段EF的进入N的方向角,取EF上距离N最近的点Pn-1作为向量的起点,记为PF,则入口路段EF前往路口N的方向角表示为AF=Angle(PF,N);以路口N为向量起点,N的目标出口路段ET上距离N最近的点P0作为向量的终点,记为PT,则目标出口路段ET的离开N的方向角为Angle(N,PT);路口N上连接的其他出口路段的最近点记为Pi,路口的方向角记为Angle(N,Pi);计算出口路段的相对方向角,即用各个绝对方向角减去入口路段的绝对方向角,记为AT = Angle(N,PT)- Angle(PF,N),Ai= Angle(N,Pi)- Angle(PF,N),并将其规范化到[0,2]。
由于导航时是以用户的视角来描述转向信息的,因此选择入口路段的走向AF为转向判断的中心方向,即以向量正轴,构建角度区间分别为的“前”、“后”、“左”、“右”四个象限,由于道路的分布一般不出现向后转向的情况,因此将“左”、“右”两个象限分别扩大至,最后构建的区域分别为、、的前、左、右三个角度区间。
4.路口形态分析:
用Num表示与路口相连的出口路段的数目,即与路口相连的全部路段数目减去一条作为判断起算线的入口路段;
当Num=1时,可以确定出口路段的转向信息,无转向歧义;
当Num=2时,若与路口相连的两条出口路段位于不同的角度区间内,则转向信息无歧义;若两条出口路段位于同一个角度区间内,则分以下三种情况(如图3、图4所示):
情况一:同时位于“直行”的角度区间内,即, i =0,1;
(1)如果两条路段分别位于中心线的两边并且偏离中心线的角度值相当,即, 为一个较小值,那么目标出口路段偏向左侧为“左转”,偏向右侧为“右转”;
(2)如果其中一条明显偏向中心线,则该路段为 “直行”,另外一条左转或者右转,即,为设定的比较阈值;
(3)如果两条都落在中心线的一侧,则选择较近的路段为直行,另外一条为左转或者右转,即为设定的比较阈值;
情况二:同时位于“左转”的角度区间内,即, i =0,1,采用带有“顺时针”字段的语言描述转向信息;
(1)目标出口路段的方向角小于另外一条出口路段的方向角,那么出口路段的转向信息为“顺时针第二条路”;
(2)目标出口路段的方向角大于另外一条出口路段的方向角,那么出口路段的转向信息为“顺时针第一条路”;
情况三:同时位于“右转”的角度区间内,即, i =0,1,采用带有“逆时针”字段的语言描述转向信息;
(1)目标出口路段的方向角小于另外一条出口路段的方向角,那么出口路段的转向信息为“逆时针第一条路”;
(2)目标出口路段的方向角大于另外一条出口路段的方向角,那么出口路段的转向信息为“逆时针第二条路”;
当Num=3时,若目标出口路段单独位于一个角度区间内,则转向信息无歧义;若目标出口路段与另外一条干扰路段位于同一角度区间内,处理方法参照Num=2;所有出口路段均位于同一个角度区间内,首先对三条出口路段的相对方向角做个大小排序,令,再根据该角度区间做不同处理(如图5所示):
(1)同时位于“直行”的角度区间内:
如果,目标出口路段为,由于离中心方向较近,因此转向信息为“直行”;目标出口路段为,则转向信息为“顺时针第二条路” ;目标出口路段为,则转向信息为“顺时针第一条路”;
如果,目标出口路段为或者,参照Num=2情况一的处理方法;目标出口路段为,则转向信息为“右转”;
如果,目标出口路段为,则转向信息为“左转”;目标出口路段为或,参照Num=2情况一的处理方法;
如果,目标出口路段为,则转向信息为“逆时针第一条路”;目标出口路段为,则转向信息为“逆时针第二条路” ;目标出口路段为,由于离中心方向较近,因此转向信息为“直行”;
(2)同时位于“左转”的角度区间内,即, i =0,1,2,采用带有“顺时针”字段的语言描述转向信息,若目标出口路段为,则转向信息为“顺时针第一条路”;
(3)同时位于“右转”的角度区间内,即, i =0,1,2,采用带有“逆时针”字段的语言描述转向信息,若目标出路路段为,则转向信息为“逆时针第一条路”;
Num=4、5及更多数目的情况与Num=3的处理方式类似。
实施例:
本实施例以江苏省常熟市尚湖风景区语音导游讲解过程中的应用为例,移动GIS模块基于ESRI公司的ArcGIS Mobile软件进行二次开发完成;GPS定位模块的GPS设备为智能手机中自带的设备,使用ESRI公司的ArcGIS Mobile软件中的GPS接口驱动此设备,从而获取用户实时位置信息;语音合成模块使用捷通华声公司的语音合成引擎及其接口。
景区内的牡丹花游览路线为Path[10]={E10,E13,E17,E22,E26,E27,E31,E32,E43,E52}。
情况一,出口路段数目为2,位于同一角度区间:
利用GPS获取模块获得的当前位置坐标Position(120.684945,31.642316)。
第一步:判断当前位置距离规划路径上最近的一段路段,通过计算当前位置到规划路径上各路段的距离,同时利用移动GIS将球面距离转换为平面直线距离,得到距离集合,其中最短距离为Min(Dis)=1.8342m,对应的路段为E13,路口为N51,下一个路段为E17,下面是具体的数据内容:
E13:EID=13,FNID=12,TNID=51,ECoordinateArray={(120.684863,31.642356),(120.684902,31.642325),(120.684962,31.642278),(120.684988,31.642258),(120.685010,31.642235)};
E17:EID=17,FNID=51,TNID=87,ECoordinateArray={(120.685010,31.642235),(120.685033,31.642207),(120.685049,31.642180),(120.685070,31.642121)};
E13与E17的路口为N51:NID=51,NCoordinate=(120.685010,31.642236),NEdgeIDArray={13,17,19};
E19的数据为EID=19,FNID=51,TNID=53,ECoordinateArray={(120.685010,31.642235), (120.685056,31.642220),(120.685146,31.642169),(120.685204,31.642121),(120.685258,31.642085)};
第二步:在入口路段E13上取倒数第二点(120.684988,31.642258),记为P13,计算方向角Angle(P13,N51)= 5.497787;在目标出口路段E17上取第二个点(120.685033,31.642207),记为P17,计算方向角Angle(N51,P17)= 5.382911;在另外一条出口路段E19上取第二个点(120.685056,31.642220),记为P19,计算方向角Angle(N51,P19)= 5.948448。进一步以入口方向为角度起算线,因此Angle(N51,P17)- Angle(P13,N51)+2= 6.168309,Angle(N51,P19)- Angle(P13,N51) =0.450661。
第三步:观察得方向角位于同一角度区间内,且位于中心线两侧,而Angle(N51,P17)与中心线之间的差值为26.168309=0.114877,Angle(N51,P19)与中心线的差值为0.450661,此时0.450661-0.114877>,。因此目标出口路段E17的转向信息为“直行”。
情况二,出口路段数目为3,位于同一角度区间:
利用GPS获取模块获得的当前位置坐标Position(120.683259,31.643556)。
第一步:判断当前位置距离规划路径上最近的一段路段,通过计算当前位置到规划路径上各路段的距离,同时利用移动GIS将球面距离转换为平面直线距离,得到距离集合,其中最短距离为Min(Dis)= 7.258221m,对应的路段为E26,路口为N43,下一个路段为E27,下面是具体的数据内容:
E26:EID=26,FNID=34,TNID=43,ECoordinateArray={(120.683522,31.643691),( 120.683390,31.643591),(120.683254,31.643476),(120.683230,31.643424),(120.683224,31.643353)};
E27:EID=27,FNID=43,TNID=67,ECoordinateArray={(120.683224,31.643353),( 120.683180,31.643330),(120.683088,31.643313),(120.682926,31.643282)};
E26与E27的路口为N43:NID=43,NCoordinate=(120.683224,31.643353),NEdgeIDArray={25,26,27, 28};
E25的数据为EID=25,FNID=43,TNID=45,ECoordinateArray={(120.683224,31.643353), (120.683167,31.643353),(120.683102,31.643349),(120.682932,31.643358),(120.682838,31.643380)};
E28的数据为EID=28,FNID=43,TNID=58,ECoordinateArray={(120.685010,31.642235), (120.683176,31.643301),(120.683104,31.643241),(120.682949,31.643214)};
第二步:在入口路段E26上取倒数第二点(120.683230,31.643424),记为P26,计算方向角Angle(P26,N43)= 5.694276;在目标出口路段E27上取第二个点(120.683180,31.643330),记为P27,计算方向角Angle(N43,P27)= 2.602379;在出口路段E25上取第二个点(120.683167,31.643353),记为P25,计算方向角Angle(N43,P25)= 2.596319 ;在出口路段E28上取第二个点(120.683176,31.643301),记为P28,计算方向角Angle(N43,P28)= 2.615079。进一步以入口方向为角度起算线,因此Angle(N43,P27)-Angle(P26,N43)+2= 3.191288,Angle(N43,P25)- Angle(P26,N43) +2=3.185229,Angle(N43,P28)- Angle(P26,N43) +2=3.203988。
第三步:观察得方向角同时位于“右”区间内,且3.185229<3.191288<3.203988因此采用“逆时针”加序数进行描述,结果是“逆时针第二条路”。
机译: 交叉路口信息发布系统,车载装置,交叉路口信息发布装置和交叉路口信息发布方法
机译: 交叉路口的区分信息的配置方法,交叉路口的带地图的区分信息,计算机可读取介质记录地图信息以及使用该区分信息的导航系统
机译: 交通灯数据准备方法,交叉路口信息获取方法,交通灯数据准备系统和交叉路口信息获取设备