【OD矩阵】《城市公交IC卡·数据分析方法及应用》基于IC&AVL数据的上车站点识别
《城市公交IC卡·数据分析方法及应用》 陈学武、李海波、候贤耀著
《城市公交IC卡·数据分析方法及应用》基于IC&AVL数据的上车站点识别·笔记
算法基本思路:
此处算法的核心思想是:通过IC卡数据和AVL数据的时间匹配,获取IC卡记录对应的上车站点
算法所需要的数据主要是公交IC卡数据和AVL定位数据
以到离站时间数据为例
公交刷卡数据包括:乘客IC卡卡号、卡类型、刷卡日期、刷卡时间、所乘线路编号、所乘车辆编号等字段
进出站时间数据应包括车辆识别、线路识别、线路方向、站点名称、进站时间、出站时间等字段
假设从公交IC卡数据库中提取出某辆公交车的M条公交IC卡记录,从AVL数据中提取出对应公交车的N条进出站时间记录。
设第i条刷卡记录的刷卡时间位tit_iti,对应的上车站点为SiS_iSi,第j条进出站时间记录的进站时间为tjint_j^{in}tjin,出站时间为tjoutt_j^{out}tjout,对应的站点为SjS_jSj,则
IFtjin<ti≤tjoutSi=SjELSEj=j+1
IF \quad t_j^{in}<t_i\le t_j^{out}\\
S_i=S_j\\
ELSE\qquad\qquad\qquad\\
j = j+1
IFtjin<ti≤tjoutSi=SjELSEj=j+1
现实中,刷卡滞后是不可避免发生的,需要对以上规则做出一定的修改:
认为第j个公交站点进展时间与第j+1 个公站点的进站时间之间的所有IC卡刷卡记录对应的上车站点均为公交站点SjS_jSj
即:
IFtjin<ti≤tj+1inSi=SjELSEj=j+1
IF \quad t_j^{in}<t_i\le t_{j+1}^{in}\\
S_i=S_j\\
ELSE\qquad\qquad\qquad\\
j = j+1
IFtjin<ti≤tj+1inSi=SjELSEj=j+1
公交IC卡系统时间修正
现在很多城市采用的是离线式公交IC卡收费系统,存在IC卡终端时间基准漂移,导致IC卡时间数据与实际数据不符,可以通过AVL数据矫正
易知,刷卡时间会早于或晚于实际时间 ,现在需要设计一个合理的时差就可以对数据修正,
主要推导步骤
-
1、IC卡数据提取:
- 从公交IC卡原视数据ODB_IC中提取卡号、刷卡时间、车辆标识、线路标识等字段
-
2、AVL数据提取
- 从公交AVL原始数据ODB_AVL 中提取车辆标识、线路标识、线路方向、站点名称、进站时间、出站时间等字段
- 生成公交AVL分析数据库DB_AVL
-
3、数据清洗:
-
4、抽取线路中的车辆:
- 从公交IC卡分析数据库和公交AVL分析数据可以中提取出第m条公交线路LIne_m的第r辆公交车Bus_n的IC卡数据和AVL数据,分别记为DB_IC_mn和DB_AVL_mn,其所包含记录条数分别为I_mn和A_mn;
-
5、上车点识别:
- 比较DB_IC_mn中的第i条记录的公交IC卡刷卡时间t_i与DB_AVL_mn中第j条记录的进站时间tjbt_{jb}tjb和出站时间tjet_{je}tje;
- if tjbt_{jb}tjb < tit_iti <= tjet_{je}tje,DB_AVL_mn中第j条记录的对应的站点即为DB_IC_mn中的第i条记录对应的上车站点 ,存入结果数据库DB_OD,并转至6
-
6、判断IC卡中记录是否已经全部处理结束。
- if i>=I_mn
- 转至7
- else
- i++
- goto 5
-
7、判断线路中所有车辆是否已经全部处理结束
- if n>=B_m
- 转至8
- else
- n++
- goto 4
-
8、判断所有线路是否已经全部处理结束
- if m>=N
- END
- else
- m++
- goto 4
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐




所有评论(0)