我正在研究运输工程,但是GPS数据有问题
我有一个公交捷运系统GPS数据的大型数据集。
数据本身包含几列,
BuslocationID
->由从总线发送的信号计数生成的ID号DoorID
->每辆巴士的唯一ID Timeofthesignalsent
->从总线发送的每个信号的时间Space
->当前航程开始以来的行驶路线Speed
->由gps设备计算出的速度Timeofthesignalsent
->总线发送的每个信号的接收时间。我的问题是数据不包含用于总线方向的列。
整个系统都在2x1车道上行驶。
每个方向有两个方向和一条线。
我需要一种方法来对公交车的行驶方向进行分类,并将其作为列添加到数据中。
此后,我将为整个系统的每个方向创建一个时空图,以检测反复出现的瓶颈。
我愿意接受有关创建方向栏的建议。
Ps:我在所有编码中都使用Python 3.7.1
。
我想到的是,我的路线在横向方向上呈线性变化,因此我只能使用经度。所以我的路线上有五个主要公交车站(总共44个),它们的经度是这样的:
1 st stop --> 28.624860
2 nd stop --> 28.725766
3 rd stop --> 28.910323
4 th stop --> 29.012753
5 th stop --> 29.035870
如您所见,经度变化可以解决此问题,但是存在一个问题。我的数据集中有许多数据点,连续的经度没有变化,这意味着公共汽车当前正在停车。因此,如果连续数据未更改,则无法知道其前进方向。 这是我到目前为止所做的:
for i in range(0,len(M3042)-1,2):
#M3042[i],M3042[i+1]
if float(M3042[i][3])-float(M3042[i+1][3]) < 0:
M3042[i][8]=1
M3042[i+1][8]=1
if float(M3042[i][3])-float(M3042[i+1][3]) > 0 :
M3042[i][8]=0
M3042[i+1][8]=0
M3042->类型是Numpy Array,这也是我数据集中的门禁
第三列是经度列。 (并且M3042 [i] [8] = 1中的“ 1”表示由于这是2向系统,因此我仅将方向按0和1进行分类)
感谢您的帮助