《城市公交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<titjoutSi=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<titj+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}tjeDB_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
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐