Извлечение направлений, данных шины GPS - PullRequest
0 голосов
/ 18 февраля 2019

Я изучаю транспортную инженерию, но у меня проблема с данными GPS

У меня большой набор данных GPS Bus Rapid Transit Sytem.

Сами данные содержат несколько столбцов:

  • BuslocationID -> Идентификационный номер, сгенерированный счетчиком сигналов, отправленных с шины
  • DoorID -> Уникальный идентификатор для каждой шины
  • 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 -> type - Numpy Array, который также является идентификатором двери из моего набора данных

3-й столбец - столбец долготы.(и «1» из M3042 [i] [8] = 1 означает, что поскольку это двухсторонняя система, я просто собираюсь классифицировать направление на 0 и 1)

Спасибо за помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...