Система контроля транспорта Глобус имеет возможность экспорта данных по ссылке, в формат csv.

Данные экспорта доступны через разные интерфейсы системы:

  1. Меню “Экспорт” в клиентском ПО
  2. Автоматизированное получение данных при помощи запуска клиентского ПО с определенными ключами командной строки
  3. Получение csv файла через раздел “ЭкспортWEB-клиента.
  4. Автоматизированное получение ссылки для экспорта с использованием WEB-клиента.
    Пункты 1 и 3 – предполагают ручное получение данных экспорта. Для автоматизированного получения данных внешними системами предназначены п. 2 и 4.

Предпочтение лучше отдавать пункту 4, как более удобному. В этом случае:

  • не требуется наличие клиентского ПО на компьютере, с которого будет осуществляться запрос данных.
  • нет необходимости хранить где-то в системе логин и пароль пользователя, от имени которого будут запрашиваться данные.

Структура данных
Разделителем полей в генерируемых csv файлах служит символ “;”.

Если поля содержат в своем значении символ точки с запятой – то они заключаются в двойные кавычки.

Двойная кавычка внутри значения поля экранируется добавлением перед ней ещё одного символа двойной кавычки.

Строки отделяются либо по стандарту Windows (), либо по стандарту Unix (). Т.е. формат соответствует тому, который генерирует Excel по-умолчанию.

Первая строка каждого файла содержит названия данных в соотсветствующей колонке.

Единицы измерения величин в данных
Сами наборы данных для экспорта – одни и те же во всей системе. Однако, следует учесть, что данные полученные при помощи клиентского ПО (через интерфейс, либо через командную строку) будут в других единицах, по сравнению с данными, полученными через web интерфейс. В частности, в данных полученных через ПО расстояния – в см, скорость – в см/с, также несколько отличается формат времени.

В данных, полученных через web интерфейс используются такие единицы и форматы:

  • время – по гринвичу, в формате iso8601 (YYYY-MM-DDThh:mm:ss±hh:mm).
  • расстояния – метры
  • скорость – метры в секунду
  • интервалы времени – секунды.

Запрос данных
Запрос данных можно выполнить выбрав пункт меню “Экспорт” web клиента. Это откроет окно с адресом http://< ;server>/exports. Вместо – будет конкретный адрес сервера, на котором выполняется web клиент и на котором обслуживаются машины данной учетной записи. В данный момент у нас задействовано несколько серверов. При автоматическом запросе важно учитывать, что запрос должен выполняться к правильному серверу (к тому, на котором обслуживается клиент, данные которого запрашиваются).

Данная страница – конструктор запросов, который позволяет загрузить данные вручную, а также – получить готовую строку с примером запроса для использования во внешней системе.

Использование ключа авторизации
Пользователь, авторизованный в web клиенте может экспортировать любые данные для доступных ему устройств. Для запроса экспорта данных из внешней программной системы следует воспользоваться ключом доступа. Ссылка на страницу с генератором ключей “Управление ключами” (/ekeys) находится внизу страницы “Экспорт”.

При использовании запроса экспорта из внешней системы нужно добавить к http get запросу параметр &key=…, куда подставить значение сгенерированного ключа.

Запрос данных
Запрос данных от системы осуществляется путем отправки http GET запроса вида:

http://<сервер>/export/?…

Вместо <сервер> подставляется нужное имя сервера для данного клиента.

Вместо – имя набора данных.

Параметры запроса:
from_date – дата в формате DD.MM.YYYY с которой запрашиваются данные

to_date – дата по которую запрашиваются данные

from_time – время в формате hh:mm:ss с которого запрашиваются данные. Время – локальное. Если время не задано, то считается равным 0:00:00

to_time – время до которого запрашиваются данные. Если не задано, то равно 23:59:59

ids – номера устройств, для которых запрашиваются данные. Отдельные устрйоства в списке разделяются символом | (%7C). Если параметр не задан – то считается равен всем устройствам, доступным пользователю.

key – ключ авторизации для доступа.

Несмотря на то, что для некоторых запросов диапазон времени не имеет значения (список зон, устройств и т.д.) задание параметров from_data и to_date является обязательным даже для них. Это связано с тем, что экспорты обслуживает общий код, который был написан до того, как в систему были добавлены подобные экспорты.

Ключи для экспорта.

DISTANCES-EXPORT

reg-id – номер устройства

dist – пройденное расстойние

ROUTE-EXPORT

reg_id – номер устройства

time – время фиксирования данных в этой строке

interval – время в секундах от прошлой фиксации данных

latitude – широта

longitude – долгота

speed – средняя скорость на интервале от предыдущей фиксации данных

validity – соотношение секунд с полученными координатами к общему количеству секунд (поле interval) от предыдущей фиксации координат

sensors – срабатывание датчиков

power-restored – метка восстановления питания после отключения

locked-alarm – тревога в режиме охраны

sensors-changed-mask – флаги изменения состояния датчиков

sensors-changed-values – значения датчиков после изменения (или просто в конце интервала, если изменения не было)

VEHICLES-LIST-EXPORT

reg_id – номер регистратора

veh_name – имя машины

ZONE-EXPORT

reg-id – номер устройства

zone-ids – список номеров зон, разделенных запятой (если мы в нескольких зонах сразу)

zone-names – список имен зон

enter-time – время въезда в зону или зоны

exit-time – время выезда

time-in-zone – время, проведенное в зоне

dist-prev-enter – расстояние от въезда в предыдущую зону. Для первой строчки – расстояние от начала движения в запрашиваемом интервале времени.

fuel-spent – расход топлива на путь от предыдущей зоны, если транспортное средство оборудовано датчиком топлива.

dist-total – суммирование значений dist-prev-enter накопительным итогом

ZONES-LIST-EXPORT

id – номер зоны в системе

name – название зоны

type – название типа зоны

type-id – номер типа зоны