1

Привязка ТС к маршруту

Topic: Привязка ТС к маршруту

Добрый день!
Можно ли каким-либо образом получать через API список маршрутов и находящихся на них в данный момент ТС?
Например в интерфейсе Nimbus есть вкладка "Рейсы", где это довольно удобно можно видеть. А в документации на API такого функционала я не нашёл.

2

Привязка ТС к маршруту

Re: Привязка ТС к маршруту

Добрый день, blackraven53!

Это можно реализовать использую два запроса -
1) Получить список маршрутов;
2) Получить список активных рейсов;
3) Совместить результаты по timetable_id (в рейсах это поле tid, а в маршрутах в массиве tt найти объект с необходимым id)

3

Привязка ТС к маршруту

Re: Привязка ТС к маршруту

В rides для одного 'u' есть несколько записей. Как узнать какую запись использовать в конкретное время?
У routes в tt есть параметр t - запланированное время прибытия, но хранится оно в непонятном формате 5-значного числа.

4

Привязка ТС к маршруту

Re: Привязка ТС к маршруту

blackraven53
t - секунды от начала дня.

В rides не может быть несколько значение для u, вы путаете rides с routes.

5

Привязка ТС к маршруту

Re: Привязка ТС к маршруту

Вот пример rides:

{
    "rides": [
        {
            "pt": [],
            "u": 2746,
            "d": "2019-04-05",
            "i": null,
            "at": [],
            "f": 0,
            "si": 0,
            "tid": 34144,
            "a": true,
            "tm": 1554436005,
            "bid": 945,
            "id": 2884288
        },
        {
            "pt": [],
            "u": 2746,
            "d": "2019-04-05",
            "i": null,
            "at": [],
            "f": 0,
            "si": 0,
            "tid": 34146,
            "a": true,
            "tm": 1554436005,
            "bid": 945,
            "id": 2884289
        },
        {
            "pt": [],
            "u": 2746,
            "d": "2019-04-05",
            "i": null,
            "at": [],
            "f": 0,
            "si": 0,
            "tid": 34147,
            "a": true,
            "tm": 1554436005,
            "bid": 945,
            "id": 2884290
        },
        {
            "pt": [],
            "u": 2746,
            "d": "2019-04-05",
            "i": null,
            "at": [],
            "f": 0,
            "si": 0,
            "tid": 34143,
            "a": true,
            "tm": 1554436005,
            "bid": 945,
            "id": 2884291
        },
        {
            "pt": [],
            "u": 3537,
            "d": "2019-04-05",
            "i": null,
            "at": [],
            "f": 0,
            "si": 0,
            "tid": 43072,
            "a": true,
            "tm": 1554436073,
            "bid": 1223,
            "id": 2884343
        }, ...
    ]
}

Как можно видеть 4 записи подряд с u 2746.

6

Привязка ТС к маршруту

(edited by mitu 05/04/2019 13:33:43)

Re: Привязка ТС к маршруту

blackraven53

Как можно заметить они относятся к разным расписаниям "tid" и как я вижу не одно из них сейчас не активно (не наступило время активации, которое можно настроить в депо, об этом говорит flag == 0). По расписанию вы можете понять какой рейс вам нужно смотреть.

7

Привязка ТС к маршруту

Re: Привязка ТС к маршруту

Ок. Спасибо. И еще один вопрос. Что значит значение флага 134217729 в ride?
Как например здесь:

{
            "pt": [
                1554451200,
                null,
                1554453000
            ],
            "u": 2760,
            "d": "2019-04-05",
            "i": null,
            "at": [
                null,
                null,
                null
            ],
            "f": 134217729,
            "si": 0,
            "tid": 39284,
            "a": true,
            "tm": 1554450604,
            "bid": null,
            "id": 2891256
        },
8

Привязка ТС к маршруту

(edited by mitu 05/04/2019 13:59:29)

Re: Привязка ТС к маршруту

blackraven53

134217729 - в 16-ой системе счисления - 0x8000001.
Это комбинация двух флагов - 0x1 (1) то что рейс активный, то есть его время наступило (и не закончился еще)
и 0x8000000 (134217728) - то что он в режиме прослушивания, то есть получая сообщение от объекта мы это сообщение регистрируем.
Если же флага 0x8000000 нет, но есть 0x1 - то скорей всего мы в режиме ожидания черного ящика (то есть новые сообщения не регистрируются, а только старые).