基于手机信令数据研究交通出行特征具体实现 您所在的位置:网站首页 arcgis字段顺序如何固定 基于手机信令数据研究交通出行特征具体实现

基于手机信令数据研究交通出行特征具体实现

2023-04-01 17:19| 来源: 网络整理| 查看: 265

        这学期期末智慧交通大作业,我选择使用手机信令数据研究人类交通出行特征,期间我也查阅了许多资料,但绝大多数帖子只有手机信令数据的应用方向,没有具体实现做法。经过一两周的探索,我大概根据数据和应用方向实现了具体的方法。但本人才学疏浅,也只能提供一些简单的解决思路与简单的处理数据方法,但我还是很愿意和大家一起分享,为同样被大作业折磨的同学提供一些思路和经验。

        我先测试一下能不能追更, 因为我一天肯定更不完~

        测试完成,可以编辑~好的,我先将我接下来要实现的方法目录放在下方,后续会慢慢更新具体的实现方法。

1.数据预处理

        老师给的数据很多,毕竟手机信令数据真的太庞大了,每个人每天能产生几十上百条数据都很正常,我使用的数据一共1048576条,这也是我电脑wps表格所能载入的最多的数据量。数据特征如下图。我将停留时间(秒)转换为停留时间(小时),多增加了一列,便于后续筛选。start_time是进入基站的开始时间。

        以上是贵州省2017.2.26日的部分用户信令数据,数据量有限,所以并不完整。我主要介绍处理方法。 

1.1 数据清洗

        数据清洗:①字段有空的数据;②重复的记录;③数据标记为不正常数据;④事件类型错误的数据;⑤用户字段异常数据;⑥其他错误数据。

        我的数据无以上缺失现象,但有不完整用户出行点,需要删除。

        不完整用户出行点:删除只有一条居民记录并且时长小于4小时的用户数据记录,(用户仅有1条记录但停留时长大于4小时的说明用户在家,并未出行),如果用户仅有1条记录但停留时长小于4小时的说明用户出行但出行信息缺失了,这是无用数据,删除就行了,数据量也不大。

1.2 “乒乓切换”数据修正

        “乒乓切换”:用户没有移动但上传的数据连续使用周边两个或多个经纬度基站扇区。 数据特点:(1)单点停留时长较小;(2)前一次与后一次位置变更附着的基站位置与当前位置的夹角较小。

        处理方法:(1)对于已生成的未修正的数据轨迹,去除停留时长小于5秒的轨迹点;(2)对于同一用户的连续轨迹,若某一个轨迹点与其前一个出现的轨迹点以及后一个出现的轨迹点所构成的夹角均小于30度,则删除该轨迹点。

        第一步就直接用excel就可以完成。将筛选处理后的数据保留,接下来使用python代码进行处理30度夹角修正。

import numpy as np import pandas as pd# 读取数据 from geographiclib.geodesic import Geodesic #计算夹角的库 excel_data=pd.read_csv('数据1.csv',header = None) print(excel_data.shape) data_dataframe = pd.DataFrame(excel_data) data_numpy = np.array(data_dataframe) print(data_numpy.shape) data_final = data_numpy[:,6:8]#经纬度数据 矩阵,根据经纬度的所在列适当修改就行 for i in range(2,541493):#根据行数目修改数据 geodict1 = Geodesic.WGS84.Inverse(float(data_final[i-1][1]), float(data_final[i-1][0]), float(data_final[i][1]), float(data_final[i][0])) #点1纬度、经度,点2纬度、经度 geodict2 = Geodesic.WGS84.Inverse(float(data_final[i][1]), float(data_final[i][0]), float(data_final[i+1][1]), float(data_final[i+1][0])) az1 = geodict1['azi1'] az2 = geodict2['azi1'] if az1


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有