Система контролю транспорту Глобус має можливість експорту даних за посиланням у формат 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-preventer накопичувальним результатом
ZONES-LIST-EXPORT
id – номер зони у системі
name – назва зони
type – назва типу зони
type-id – номер типу зони
