首页> 中国专利> 一种应用轨迹点绘制车辆在直线模拟图上显示的方法

一种应用轨迹点绘制车辆在直线模拟图上显示的方法

摘要

本发明一种应用轨迹点绘制车辆在直线模拟图上显示的方法涉及公共交通线路调度领域。运用GIS操作工具采集实际的公交线路行进路线轨迹点信息与经纬度坐标匹配计算后,将站点投影到直线模拟图上,通过计算机接收到GPS定位服务实时转发的运营车辆位置信息,跟直线模拟图上描绘的轨迹点真实经纬度进行匹配计算后,将车辆标识显示在直线模拟图上。本发明的优点在于:能够直观的显示站距比例和车距;能真实的反映车辆位置信息;当车辆报站出现异常,或者司机手动干预出现连续报站情况等信息时,也不会对真实的车辆信息造成干扰;采用轨迹点辅助插入法,弥补了轨迹点采集量过小导致站点匹配以及车辆行驶轨迹在直线模拟图上失真的问题。

著录项

  • 公开/公告号CN102903260A

    专利类型发明专利

  • 公开/公告日2013-01-30

    原文格式PDF

  • 申请/专利权人 大连智达科技有限公司;

    申请/专利号CN201210393322.8

  • 发明设计人 孙宏飞;刘华;栾丰;凌源;赵斌;

    申请日2012-10-17

  • 分类号G08G1/123(20060101);

  • 代理机构

  • 代理人

  • 地址 116023 辽宁省大连市甘井子区软件园路6号B5座二层220-2

  • 入库时间 2024-02-19 17:23:11

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-07-11

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G08G 1/123 专利号:ZL2012103933228 变更事项:专利权人 变更前:华录智达科技股份有限公司 变更后:智达信科技术股份有限公司 变更事项:地址 变更前:116000 辽宁省大连市高新技术产业园区黄浦路717号华录大厦14层 变更后:116000 辽宁省大连市高新技术产业园区黄浦路717号华录大厦14层

    专利权人的姓名或者名称、地址的变更

  • 2015-08-05

    授权

    授权

  • 2013-12-25

    实质审查的生效 IPC(主分类):G08G1/123 申请日:20121017

    实质审查的生效

  • 2013-04-24

    著录事项变更 IPC(主分类):G08G1/123 变更前: 变更后: 申请日:20121017

    著录事项变更

  • 2013-01-30

    公开

    公开

说明书

技术领域

本发明涉及公共交通线路调度领域,具体的讲,是涉及一种应用轨迹点绘制车辆在直线模拟图上显示的方法。

背景技术

城市公共交通在城市交通中占有重要的地位,公交运营调度是整个公交企业管理业务的核心。提高城市公交的运营调度水平是改善城市公交服务质量、提高公交吸引力的重要途径。线路调度是城市公交调度的基本模式,为了更加直观的展现车辆在线路上的运营情况,通常采用“直线模拟图”将线路、站点、车辆等信息图形化显示在计算机用户交互界面里,即将公交运营线路简化为两条平行直线,根据不同方法将站点描绘在平行直线上,再根据车辆上传的实时位置信息,将车辆位置信息描绘在直线上,给用户展现出线路上的车辆分布情况,为车辆实时调度提供参考,实现车辆的图形化调度。

直线模拟的展现通常采用平均站距法和实际站距法。两种绘制方法如下:(注:区域像素宽度Width,N为站点个数,Coordinate为站点坐标,disN为相邻的两个站点间的实际距离,I为当前站点的序号)

1、平均站距法:根据显示区域像素宽度Width,除以N-1,计算每个站点间平均距离,再乘以站点个数,计算每个站点的位置坐标。即:Coordinate=Width*(I-1)/(N-1),根据上述计算,将得到的站点位置坐标绘制在直线上,根据车辆上传的到站信息,即车辆上传到达某个站点,则车辆显示在当前站点处,当车辆上传实时的定位信息,即经纬度信息,如果经纬度跟上一次不一致,则在从当前站点向下一个站点移动一个间隔,此间隔为系统默认间隔参数。

2、实际站距法:根据显示区域像素宽度Width,除以线路总长度,再乘以当前站间距离第一个站点的距离和,计算每个站点的位置坐标。即:Coordinate=Width*(dis1+dis2+…+disI)/(dis1+dis2+…+disN)根据上述计算,将得到的站点位置坐标绘制在直线上。车辆绘制到直线上的方法同平均站距法。

平均站距法绘制直线模拟图,主要有以下几个缺点:

1、站点与车距信息显示不直观:站点平均分布在线路上,不能直观的显示站点间实际距离比例;车辆在线路上运营,同样不能直观的反映车辆之间的距离信息,即车距信息;

2、车辆信息显示不真实:由于车辆位置主要依赖车辆到离站信息,当车辆上传到达当前站点,则车辆显示在当前站点处,当车辆上传实时的定位信息,系统根据默认间隔参数,车辆每更新一个数据包,如果经纬度发生变化,则在从当前站点向下一个站点移动一个间隔,直到车辆下次上传到达下一个站点信息,则显示在下一个站点处;当站间距很小、或压车情况,车辆位置更新就会出现不连贯、长时间不进站或与实际情况不符等情况;

3、实际站距法相对于平均站距法虽然解决了站点与车距信息显示不直观的问题,但是由于站点和车辆描绘机制的缺陷,无法从根本上处理压车、站间距过小,车辆位置更新不连贯,司机手动报站等异常情况。

发明内容

针对上述技术问题,本发明的目的在于提供一种应用轨迹点绘制车辆在直线模拟图上显示的方法,不但能够直观的显示站距和车距,而且当出现站距过小或者压车,司机手动干预出现连续报站的情况信息时,也能真实的反映车辆位置信息。

本发明采用的技术方案如下:

一种应用轨迹点绘制车辆在直线模拟图上显示的方法,运用GIS操作工具采集实际的公交线路行进路线轨迹点信息,将采集到的轨迹点与计算机系统内部存储的经纬度坐标进行匹配,找到经纬度坐标最接近的轨迹点作为站点的匹配点,两个站点间的距离是对应的两个站点的匹配点之间的所有轨迹点的距离总和,再将所有站点根据两个站点间的距离按照线路总长度与屏幕描绘的模拟直线的长度之比,等比例投影到直线模拟图上描绘出来,计算机接收到GPS定位服务实时转发的运营车辆位置信息,跟直线模拟图上描绘的轨迹点真实经纬度进行匹配计算,找到经纬度坐标最接近的轨迹点作为车辆的匹配点,将车辆标识显示在直线模拟图上。

为了防止轨迹点采集量过小导致站点匹配以及车辆行驶轨迹在直线模拟图上失真的问题,采取了辅助轨迹点插入法来增加采集的轨迹点的数量。

以下为轨迹点采集和直线模拟实现过程:

1、原始轨迹点的采集:

利用GIS操作工具采集实际的公交线路行进路线轨迹数据信息,根据系统内部存储的经纬度坐标将站点与采集到的原始轨迹数据信息匹配。

2、辅助轨迹点的插入与轨迹点的确定:

当两个相邻原始轨迹点的距离大于一个阀值时,在这两个原始轨迹点间插入一定数量的辅助轨迹点,使两个相邻原始轨迹点的距离小于等于所设定的阀值,进行轨迹点的修正。

辅助轨迹点插入方法计算如下:

设原始轨迹点1经纬度坐标(X1,Y1),原始轨迹点2经纬度坐标(X2,Y2),阀值为L米则插入的辅助轨迹点坐标(X3,Y3)为:(注:n为插入时的第几个点的计数)

X3=X1+(X2-X1)/(D12/L+1)*n

Y3=Y1+(Y2-Y1)/(D12/L+1)*n

将插入的辅助轨迹点与原始轨迹点整合为轨迹点数组,确定轨迹点经纬度坐标依次为:轨迹点1(X1,Y1),轨迹点2(X3,Y3),轨迹点3(X2,Y2)。

车辆在模拟图上的位置移动时,只有在车辆的移动距离大于阀值的时候才会体现出来。

3、相关点间距离计算:

(1)根据两个轨迹点的经纬度坐标值计算出两个轨迹点间距离,计算方法如下:

设两个轨迹点的经度、纬度分别为(j1,w1)、(j2,w2),则根据半径为R的球面上两点间的最短距离计算公式:弧C=R*arccos[sin(w1)sin(w2)+cos(w1)cos(w2)*cos(j1-j2)],计算出两个轨迹点间的距离D=R*Arccos(C)*π/180°。

(2)两个站点间距离S等于对应的两个站点的匹配点间所有轨迹点的距离之和,设两个站点的匹配点间所有轨迹点为M个,(其中,所有轨迹点包含两个站点的匹配点)即:

两个站点间距离S= D12+D23+…+DM-2M-1 +DM-1D M

4、线路总长度的计算:

线路长度L等于所有站点间距离之和,设站点为从A到N,即:线路长度L = SAB +SBC +…+SLM +SMN

5、站点到屏幕直线上的显示投影:

假定屏幕上的模拟直线长度Lin为100(单位:像素点),起点坐标R1为(0,0),终点RN坐标为(100,0),有N个轨迹点,则站点坐标为:

站点A=(0,0);

站点B=(0,SAB*Lin/L);

站点C=(0,SBC*Lin/L);

站点D=(0,SCD*Lin/L);

站点N=(0,100),

为了实现经纬度坐标与屏幕坐标的一一对应,使用以下结构体来存储采集和插入的每一个的轨迹点:

typedef  struct  2DPoint

{

double dx;//经度

double dy;//纬度

double dX;//屏幕X坐标

double dY; //屏幕Y坐标

int    nID;//下一站站点编号

};

采用上述结构体存储采集和插入的每一个的轨迹点,完成站点在直线模拟图的绘制,轨迹点直线模拟坐标计算方法:

dX=(n-1)*100/(N-1);

dY=0(其中n表示是第n个点);

则每个轨迹点的模拟图坐标为:

轨迹点1(dx1,dy1,0,0);

轨迹点2(dx2,dy2,1*100/(N-1),0);

轨迹点N(dxN,dyN,100,0)。

6、车辆匹配显示:

当车辆上传实时GPS定位数据,主要包括经度、纬度、下一站站点编号等信息,首先采纳下一站站点编号(K)。车辆匹配显示计算方法计算可以采用距离计算和差值计算两种,具体方法如下: 

(1)车辆匹配显示计算方法1:即通过轨迹点结构体中的nID,确定指定站点区间内轨迹点(KJ1,KW1),(KJ2,KW2)…(KJn,KWn),用车辆的经纬度坐标(BJ,BW),依次跟轨迹点(KJ1,KW1),(KJ2,KW2)…(KJn,KWn)进行距离计算。即:

KC1=R*arccos[sin(BW)sin(KW1)+cos(BW)cos(KW1)*cos(BJ-KJ1)] 

KD1=R*Arccos(KC1)* π/180°

计算所有轨迹点跟车辆之间的距离KD1、KD2…KDn,依次比对,取其中的最小值,即当前车辆的匹配点。

如果所有距离大于阀值L,则判断车辆状态有人为手动干预可能,车辆上传的位置信息中下一站站点编号,不可采纳。需要将直线模拟图上的所有轨迹点(J1,W1),(J2,W2)…(Jn,Wn)参与距离计算,比对后,取其中的最小值,作为当前车辆的匹配点,将车辆标识显示在直线模拟图上。

(2)车辆匹配显示计算方法2:

即通过轨迹点结构体中的nID,确定指定站点区间内轨迹点(KJ1,KW1),(KJ2,KW2)…(KJn,KWn),用车辆的经纬度坐标(BJ,BW),依次跟轨迹点(KJ1,KW1),(KJ2,KW2)…(KJn,KWn)进行差值计算,当经度和纬度的差的绝对值都小于误差范围允许值(C)时,则表示找到匹配轨迹点。即:

经度差值CJ1=|KJ1–BJ|

纬度差值CW1=|WJ1–WJ|

如果 CJ1和CW1都不大于 C时则该轨迹点为车辆的匹配点。

如果所有轨迹点计算得到的CJ和CW都大于 C时,则判断车辆状态有人为手动干预可能,车辆上传的位置信息中下一站站点编号,不可采纳。需要将直线模拟图上的所有轨迹点(J1,W1),(J2,W2)…(Jn,Wn)参与匹配计算,满足匹配条件的轨迹点为当前车辆的匹配点,将车辆标识显示在直线模拟图上。

7、同一时刻多辆车在直线模拟图上的显示:

GPS定位服务转发运营车辆位置信息,跟直线模拟图上描绘的轨迹点真实经纬度进行步骤6的匹配计算,找到经纬度坐标最接近的轨迹点作为车辆的匹配点,将车辆标识显示在直线模拟图上。

本发明的优点在于:

采用轨迹点法绘制线路直线模拟图,能够直观的显示站点间实际距离比例和车距信息;当站间距很小、或者压车情况,也能真实的反映车辆位置信息;当车辆报站出现异常,或者司机手动干预出现连续报站情况等信息时,也不会对真实的车辆信息造成干扰;采用轨迹点辅助插入法,弥补了轨迹点采集量过小导致站点匹配以及车辆行驶轨迹在直线模拟图上失真的问题。

附图说明

图1为本发明的流程图。

图2为实施例1中车辆实际轨迹点示意图。

图3为实施例1中修正后的车辆实际轨迹点示意图。

图4为实施例1的站点直线模拟图。

图5为实施例1的车辆在模拟图上的投影效果示意图。

图6为实施例2中车辆实际轨迹点示意图。

图7为实施例2中修正后的车辆实际轨迹点示意图。

图8为实施例2的站点直线模拟图。

图9为实施例2的车辆在模拟图上的投影效果示意图。

图中A-F为公交线路的站点;数字序号1-45为公交线路轨迹点;O为车辆在模拟图上的投影。

具体实施方式

以下举例说明站点和车辆标识在直线模拟图上的实现过程。

实施例1:

如图2所示的公交线路站点A、B、C、D的经纬度坐标如下:(单位 °)

A(32.0000,126.0000),B(32.0000,126.0100),C(32.0080,126.0100),D(32.0070,126.0185)。

实际采集到的公交线路轨迹点1—8,经纬度坐标分别为:

1(32.0000,126.0000),2(32.0000,126.0100),3(32.0080,126.0100),4(32.0090,126.0143),5(32.0100,126.0155),6(32.0092,126.0165),7(32.0082,126.0170),8(32.0070,126.0185)。

(1)根据两点间经纬度坐标和地球半径R= 6371千米,首先根据半径为R的球面上两点间的最短距离计算公式,弧C=R*arccos[sin(w1)sin(w2)+cos(w1)cos(w2)*cos(j1-j2)]计算出两点间的最短距离,再根据距离的公式D=R*Arccos(C)* π/180计算得出每两个原始轨迹点间的距离: (单位:米) 

D12 =1113,D23 =524,D34 = 483,D45 = 149,D56 = 123,D67 = 86,D78 =185。

(2)设插入轨迹点的阀值为150米,根据插入辅助轨迹点法计算出每两个原始轨迹点间需要插入的辅助轨迹点个数及经纬度坐标为:

D12需插入7个轨迹点,坐标为:

(32.00000,126.01250),(32.00000,126.00025),(32.00000,126.00375),(32.00000,126.00500),(32.00000,126.00625),(32.00000,126.00750),(32.00000,126.00875);

D23需插入3个轨迹点,坐标为:

(32.00000,126.01000),(32.00400,126.01000),(32.00600,126.01000);

D34需插入3个轨迹点,坐标为:

(32.00875,126.01430),(32.00850,126.01430),(32.00825,126.01430);

D45需插入0个轨迹点,

D56需插入0个轨迹点,

D67需插入0个轨迹点,

D78需插入1个轨迹点,坐标为:

(32.00820,126.01775) 

修正后的线路图如图3所示。

(3)计算站点间距离:(单位:米)

SAB=D12=1113;

SBC =D23=524;

SCD=D34+D45+D56+D67+D78=1026 。

(4)线路长度:(单位:米)

LAD=SAB+SBC+SCD=2663

(5)模拟直线长度=100(单位:像素)

每个站点的模拟图坐标计算结果:A(0,0),B(42,0),C(62,0),D(100,0)。

根据轨迹点模拟图坐标计算方法计算出每个轨迹点所对应的模拟图坐标:

1(32.00000,126.00000,0,0,2),2(32.00000,126.00125,5,1,2),

3(32.00000,126.00250,10,0,2),4(32.00000,126.00375,14,0,2),

5(32.00000,126.00500,19,0,2),6(32.00000,126.00625,24,0,2),

7(32.00000,126.00750,29,0,2),8(32.00000,126.00875,33,0,2),

9(32.00000,126.01000,38,0,2),10(32.00000,126.01000,43,0,3),

11(32.00400,126.01000,48,0,3),12(32.00600,126.01000,52,0,3),

13(32.00800,126.01000,57,0,3),14(32.00875,126.01430,62,0,3),

15(32.00850,126.01430,67,0,3),16(32.00825,126.01430,71,0,3),

17(32.00900,126.01430,76,0,4),18(32.01000,126.01550,80,0,4),

19(32.00920,126.01650,86,0,4),20(32.00820,126.01700,90,0,4),

21(32.00820,126.01775,95,0,4),22(32.00700,126.01850,100,0,5)。

(6)车辆投影到直线模拟图上(根据算法1来实现):

车辆位置信息如下:

经度dx=32.00000

纬度dy=126.00376

下一站站点编号NID=2

根据站点编号确定车辆应该投影到站点1和站点2之间,根据经纬度坐标计算距离公式计算出车辆经纬度到站点1和站点2之间每个轨迹点的距离:

D1=418.56,D2=279.41,D3=140.26,D4=1.11,D5=138.04,D6=281.638,D7=277.19,D8=555.48,

根据计算出的距离找到投影点为轨迹点4,对应模拟图坐标为(14,0),车辆在模拟图上的投影效果如图5所示。

实施例2:

如图6所示的公交线路站点A、B、C、D、E、F的经纬度坐标如下:(单位 °)

A(34.00000,124.00000),B(34.00200,124.01350),

C(34.00860,124.01900),D(34.00200,124.02400),

E(34.00700,124.01430),F(34.01350,124. 02490);

实际采集到的公交线路轨迹点1—20,经纬度坐标分别为:

1(34.00000,124.00000),2(34.00000,124.01000),3(34.00010,124.01200),

4(34.00200,124.01350),5(34.00850,124.01360),6(34.00950,124.01400),

7(34.00860,124.01900),8(34.00450,124.02400),9(34.00400,124.024800),

10(34.00200,124.02400),11(33.99800,124.02100),12(33.99700,124.01950),

13(33.99900,124.01940),14(34.00700,124.01430),15(34.00840,124.01550),

16(34.00720,124.01980),17(34.00730,124.01950),18(34.00855,124.02355),

19(34.01800,124.02450),20(34.01350,124. 02490)。

(1)计算轨迹点间距离(单位:米):

D12=1113,D23=223,D34=205,D45=405,D56=77,D67=559,D78=612,D89=94,D910=153,D1011=417,D1112=178,D1213=124,D1314=755,D1415=159,D1516=484,D1617=34,D1718=458,D1819=598,D1920=54。

(2)计算站间距离(单位:米):

SAB=D12+D23+D34=1541

SBC=D45+D56+D67=1041

SCD=D78+D89+D910=859

SDE=D1011+D1112+D1213+D1314 =1474

SEF=D1415+D1516+D1617+D1718+D1819+D1920 =1787 。

(3)插入轨迹点的计算(阀值设定为200米):

D12插入5个轨迹点,坐标为:

(34.00000,124.00167),(34.00000,124.00333),(34.00000,124.00500),(34.00000,124.00667),(34.00000,124.00833);

D23插入1 个轨迹点,坐标为:

(34.00005,124.01200);

D34插入1 个轨迹点,坐标为:

(34.00105,124.01350);

D45插入2 个轨迹点,坐标为:

(34.00417,124.01353),(34.00633,124.01357);

D56插入0个轨迹点; 

D67插入2个轨迹点,坐标为:

(34.00950,124.01567),(34.00950,124.01733);

D78插入3 个轨迹点,坐标为:

(34.00553,124.02400),(34.00650,124.02400),(34.00758,124.02400);

D89插入0个轨迹点;

D910插入0个轨迹点;

D1011插入2个轨迹点,坐标为:

(34.0007,124.02400),(34.9993,124.02400);

D1112插入0个轨迹点;

D1213插入0个轨迹点;

D1314插入3个轨迹点,坐标为:

(34.00700,124.01558),(34.00700,124.01685),(34.00700,124.01813);

D1415插入0个轨迹点,坐标为:

D1516插入2 个   轨迹点,坐标为:

(34.00840,124.01693),(34.00840,124.01867);

D1617插入0个轨迹点;

D1718插入2个轨迹点,坐标为:

(34.00772,124.02085),(34.00813,124.02220); 

D1819插入2个轨迹点,坐标为:

(34.01170,124.02387),(34.01485,124.02418);

D1920插入0个轨迹点;

修正后的轨迹点示意图如图7所示。

(4)线路长度:LAF=SAB+SBC+SCD+SDE+SEF=6702米

(5)模拟直线长度=100(单位:像素)

每个站点的模拟图坐标计算结果:

A(0,0),B(23,0),C(39,0),D(51,0),E(73,0),F(100,0) 。

(6)根据轨迹点模拟图坐标计算方法计算出每个轨迹点所对应的模拟图坐标:

1 (34.00000,124.00000,0,0,2),2(34.00000,124.00167,2,0,2),

3(34.00000,124.00333,5,0,2),4(34.00000,124.00500,7,0,2),

5(34.00000,124.00667,9,0,2),6(34.00000,124.00833,11,0,2),

7(34.00000,124.01000,14,0,2),8(34.00005,124.01200,16,0,2),

9(34.00010,124.012000,18,0,2),10(34.00105,124.01350,20,0,2),

11(34.00200,124.01350,23,0,2),12(34.00417,124.01353,25,0,2),

13(34.00633,124.01357,27,0,3),14(34.00850,124.01360,30,0,3),

15(34.00950,124.01400,32,0,3),16(34.00950,124.01567,34,0,3),

17(34.00950,124.01733,36,0,3),18(34.00860,124.01900,39,0,3),

19(34.00553,124.02400,41,0,4),20(34.00650,124.02400,43,0,4),

21(34.00758,124.02400,44,0,4),22(34.00450,124.02400,48,0,4),

23(34.00400,124.024800,50,0,4),24(34.00200,124.02400,52,0,4),

25(34.00070,124.02400,55,0,5),26(34.99930,124.02400,57,0,5),

27(33.99800,124.02100,59,0,5),28(33.99700,124.01950,61,0,5),

29(33.99900,124.01940,64,0,5),30(34.00700,124.01558,66,0,5),

31(34.00700,124.01685,68,0,5),32(34.00700,124.01813,70,0,5),

33(34.00700,124.01430,73,0,5),34(34.00840,124.01550,75,0,6),

35(34.00840,124.01693,77,0,6),36(34.00840,124.01867,80,0,6),

37(34.00720,124.01980,82,0,6),38(34.00730,124.01950,84,0,6),

39(34.00772,124.02085,86,0,6),40(34.00813,124.02220,89,0,6),

41(34.00855,124.02355,91,0,6),42(34.01170,124.02387,93,0,6),

43(34.01485,124.02418,95,0,6),44(34.01800,124.02450,98,0,6),

45(34.01485,124.02418,100,0,7);

直线模拟图实现效果如图8所示。

(7)车辆投影到直线模拟图上(根据算法2来实现)

车辆位置信息如下:

经度dx=34.00000

纬度dy=126.00666

下一站站点编号NID=2

根据站点编号确定车辆应该投影到站点1和站点2之间,计算出车辆经纬度到站点1和站点2之间每个轨迹点的经纬度差值:

D1x=0,D1y=0.00666;D2x=0,D2y=0.00499;D3x=0,D3y=0.00333;D4x=0,D4y=0.00166;D5x=0,D5y=0.00001;D6x=0,D6y=0.00167;D7x=0,D7y=0.00334;

设定误差范围允许值为0.00010,根据计算出的距离找到投影点为轨迹点5,对应模拟图坐标为(9,0),所以车辆在模拟图上的投影效果如图9所示。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号