提取路线,公交Gps数据

时间:2019-02-18 16:50:05

标签: python geolocation geospatial data-analysis

我正在研究运输工程,但是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进行分类)

感谢您的帮助

0 个答案:

没有答案