【OD矩阵】《城市公交IC卡·数据分析方法及应用》换乘行为识别

本文主要是介绍【OD矩阵】《城市公交IC卡·数据分析方法及应用》换乘行为识别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《城市公交IC卡·数据分析方法及应用》 陈学武、李海波、候贤耀著

《城市公交IC卡·数据分析方法及应用》换乘行为识别

公交换乘过程分析

分类:

  • 换乘公交方式划分:
    • 同一种公交方式内部换乘 和 不同公交方式的换乘
  • 换乘空间距离划分:
    • 同站换乘 和 异站换乘

公交换乘行为的识别可以从时间角度考虑

主要时间包括:出发、上车、下车、到达

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hzehS6ZI-1643251258946)(C:\Users\hp\Desktop\《城市公交IC卡·数据分析方法及应用》——OD矩阵的推导·笔记\eeee.jpg)]

基于公交IC卡数据换乘行为识别

刷卡时间既可以认为式乘客的上车时间,则两次连续的乘坐行为的时间间隔来识别换乘行为(即 t 21 − t 11 = T 1 + T 12 t_{21}-t_{11} = T_1+T_{12} t21t11=T1+T12

步骤:

  1. 提取某一天全天的公交IC卡数据,并统计该日有刷卡记录的公交IC卡卡号
  2. 提取卡号 C a r d N o k CardNo_k CardNok 当日的所有刷卡记录并按照时间排序
  3. 计算连续两次刷卡时间 t k t_k tk t k ( i + 1 ) t_{k(i+1)} tk(i+1) 之间的时间差 Δ t i Δt_i Δti
  4. while (CardNo in 卡号 )
    1. if Δ t i Δt_i Δti <= ΔT
    2. 认为第i 次刷卡和第i+1次刷卡为连续公交出行——换乘
    3. else
    4. 两次是独立的出行

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GatwOHOS-1643251258948)(C:\Users\hp\Desktop\《城市公交IC卡·数据分析方法及应用》——OD矩阵的推导·笔记\d511e793bca916d47a7575c5427d5f9.jpg)]

此出 核心是对连续两次乘车上车时间差的判断 关键在于 Δ T ΔT ΔT 的取值,一般来自调查报告

条件允许的情况下,尝试自动调参AutoML

基于公交IC卡和AVL数据的换乘行为识别

算法步骤

初步筛选:

​ 去重、去空、取除异常值

判断上车点:

​ IC卡上实际没有标注上车点 需要和定位系统结合判断出刷卡时间

​ 判断: 线路 L k L_k Lk的上车站点 O k O_k Ok

查找线路间可换乘的站点:

​ 计算两条线路上 所有站点之间的距离(直线距离 和 路网上的最短路径距离)并与 设定的最大步骤距离进行比较

​ 当 两个站点之间的距离<最大步行距离,则认为 对应站点之间可以换成,记为换乘站点 S k , k + 1 S_{k,k+1} Sk,k+1 即线路 L k L_k Lk的下车站点 D k D_k Dk

​ 建议 在进行公交换乘判断前,首先 把公交网络上所有线路之间的换乘站点计算出来并单独存储 有利于算法效率的提高

下车时间判断:

​ 根据站点 O k O_k Ok 的刷卡时间和对应时刻路线 L k L_k Lk的行驶方向,从车辆定位数据筛选出车辆行驶至下午站点 D k D_k Dk 的时间,即 认为是乘客的下车时间

步行时间估算:

​ 根据换乘站点之间的直线距离(或通过ArcGIS等地理信息系统软件查询出站点间的最短道路长度),结合正常步行速度,来估算步行时间 T w a l k T_{walk} Twalk,则公交乘客步行至站点 O k + 1 O_{k+1} Ok+1的时间为 t 12 ′ = t 12 + T w a l k t' _{12} = t_{12}+T_{walk} t12=t12+Twalk

换乘线路车辆到站时间查询:

查询在下车时间 t 12 t_{12} t12 站点 D k D_k Dk 与 上车时间 t 21 t_{21} t21站点 O k + 1 O_{k+1} Ok+1之间,线路B道站点 S T 2 S_{T2} ST2 的所有公交车里的到站时间集合 { t i a t_i^a tia}

换乘判断:

通过以上的计算,如果在 t 21 ′ t'_{21} t21 t 21 t_{21} t21时刻之间没有其他公交车辆到达站点 O k + 1 O_{k+1} Ok+1,则认为两次刷卡记录为换乘;如果有其他车辆到达站点 O k + 1 O_{k+1} Ok+1 ,如图中的 t 2 a t_2^a t2a,则认为连续两次刷卡记录不是换乘

在这里插入图片描述

这篇关于【OD矩阵】《城市公交IC卡·数据分析方法及应用》换乘行为识别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/253867

相关文章

Python中提取文件名扩展名的多种方法实现

《Python中提取文件名扩展名的多种方法实现》在Python编程中,经常会遇到需要从文件名中提取扩展名的场景,Python提供了多种方法来实现这一功能,不同方法适用于不同的场景和需求,包括os.pa... 目录技术背景实现步骤方法一:使用os.path.splitext方法二:使用pathlib模块方法三

Python打印对象所有属性和值的方法小结

《Python打印对象所有属性和值的方法小结》在Python开发过程中,调试代码时经常需要查看对象的当前状态,也就是对象的所有属性和对应的值,然而,Python并没有像PHP的print_r那样直接提... 目录python中打印对象所有属性和值的方法实现步骤1. 使用vars()和pprint()2. 使

CSS实现元素撑满剩余空间的五种方法

《CSS实现元素撑满剩余空间的五种方法》在日常开发中,我们经常需要让某个元素占据容器的剩余空间,本文将介绍5种不同的方法来实现这个需求,并分析各种方法的优缺点,感兴趣的朋友一起看看吧... css实现元素撑满剩余空间的5种方法 在日常开发中,我们经常需要让某个元素占据容器的剩余空间。这是一个常见的布局需求

CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比

《CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比》CSS中的position属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布... css 中的 position 属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布局和层叠关

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Java中Map.Entry()含义及方法使用代码

《Java中Map.Entry()含义及方法使用代码》:本文主要介绍Java中Map.Entry()含义及方法使用的相关资料,Map.Entry是Java中Map的静态内部接口,用于表示键值对,其... 目录前言 Map.Entry作用核心方法常见使用场景1. 遍历 Map 的所有键值对2. 直接修改 Ma