【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安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

Java Stream流之GroupBy的用法及应用场景

《JavaStream流之GroupBy的用法及应用场景》本教程将详细介绍如何在Java中使用Stream流的groupby方法,包括基本用法和一些常见的实际应用场景,感兴趣的朋友一起看看吧... 目录Java Stream流之GroupBy的用法1. 前言2. 基础概念什么是 GroupBy?Stream

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的

C#中的Converter的具体应用

《C#中的Converter的具体应用》C#中的Converter提供了一种灵活的类型转换机制,本文详细介绍了Converter的基本概念、使用场景,具有一定的参考价值,感兴趣的可以了解一下... 目录Converter的基本概念1. Converter委托2. 使用场景布尔型转换示例示例1:简单的字符串到

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

Java Thread中join方法使用举例详解

《JavaThread中join方法使用举例详解》JavaThread中join()方法主要是让调用改方法的thread完成run方法里面的东西后,在执行join()方法后面的代码,这篇文章主要介绍... 目录前言1.join()方法的定义和作用2.join()方法的三个重载版本3.join()方法的工作原