Омск: Город и Транспорт

Основные темы => Прочие темы => Тема начата: motoprogger от октября 16, 2011, 04:36:11

Название: Разбираем API transport.admomsk.ru
Отправлено: motoprogger от октября 16, 2011, 04:36:11
Пока сервис "Транспорт на карте" http://transport.admomsk.ru/tablo/map/ не вполне корректно работает, я начал разбирать обмен данными между скриптами, работающими на клиенте, и скриптами, работающими на сервере.
Основной формат данных - текстовый файл с разделителем :: (два двоеточия), кодировка Windows-1251.
Серверные скрипты, к которым выполняются запросы:

http://transport.admomsk.ru/tablo/map/getTypesVehicle.php
Параметров не принимает. Возвращает таблицу с 2 полями:
1) ID типа транспортного средства
2) Название типа транспортного средства

http://transport.admomsk.ru/tablo/map/getTypesVehicle.php
Единственный параметр: ts_type_id - ID типа транспортного средства
Возвращает таблицу с 3 полями:
1) Номер маршрута (например, 001Р)
2) ID типа транспортного средства
3) ID маршрута

http://transport.admomsk.ru/tablo/map/getMarshKorrd.php
Единственный параметр: tmr_id - ID маршрута. Корректно работает пока только для автобусного маршрута №8 (ID=23).
Возвращает таблицу, отражающую траекторию маршрута и остановки на ней. Формат в стадии разбора. Текущее состояние:
Есть 2 типа записей:
-запись о точке траектории
-запись об остановке
Запись о точке траектории:
1) Широта
2) Долгота
3) Номер маршрута(?)
4) Неизвестно, но имеет отношение к направлению движения - от первой конечной до второй или обратно
5) Индикатор типа записи(?) - у всех записей равен 1
6) Всегда пустое
7) Всегда пустое
Запись об остановке:
1) Широта
2) Долгота
3) Название остановки
4) Неизвестное число, похожее на порядковый номер остановки
5) Индикатор типа записи(?) - у всех записей равен 2
6) Неизвестно
7) ID табло (может, точнее ID остановки? Но у разработчиков он называется tablo_id)
Пример приложу, если пойму как...

http://transport.admomsk.ru/tablo/map/getTabloInfo.php
Единственный параметр - tablo - ID табло.
Возвращает таблицу, представляющую собой прогноз прибытия ТС на указанную остановку. Формат не разбирал.

http://transport.admomsk.ru/tablo/map/getTSData.php
Единственный параметр - tt_id - набор маршрутов, данные о ТС, находящихся на которых, нужно получить. Описан далее.
Возвращает таблицу, отражающую расположение ТС, а также некоторые другие данные о них.
Параметр tt_id представляет собой список элементов. Каждый элемент имеет вид:
1) Подчёркивание (_)
2) ID типа ТС
3) Подчёркивание (_)
4) ID маршрута
Например, _1_23 - автобусный маршрут №8.
Разделитель элементов - вертикальная черта (|).
Пример: _1_23|_2_144 - автобус №8 и троллейбус №67.
Структура возвращаемой таблицы в стадии разбора.
Пример записи:
4995172::169::54.972382::73.382308::30::1::АС 066::556::125::4::Ц::6::Ц::Городское::Транспорт общего пользования::P::ЛиАЗ 525645::2011-10-16 23:19:29::91
Формат:
1) ID ТС
2) Направление движения (азимут в градусах)
3) Широта
4) Долгота
5) Скорость в км/ч
6) ID типа ТС
7) Регистрационный номер
8) Парковый номер
9) Номер маршрута
10) Номер графика
11) Неизвестно; не связано с парой (ТС, маршрут)
12) Неизвестно; по всей видимости, как-то связана с направлением движения по маршруту
13) Неизвестно; не связано с парой (ТС, маршрут)
14) Назначение; связано с маршрутом
15) Категория маршрута; видимо, должна быть связана с маршрутом, но для нескольких маршрутов разная у разных ТС.
16) Неизвестно; не связано с парой (ТС, маршрут)
17) Модель ТС
18) Дата и время получения информации
19) ID маршрута
За сутки у меня набралось 200 МБ таких данных, поэтому показательный пример построить трудно. Как-нибудь в середине дня запрошу данные по всем ТС и приложу.

http://transport.admomsk.ru/tablo/map/getTSBalloonInfo.php
Принимает единственный параметр - ts_id - ID транспортного средства (с подчёркиванием, дописанным в конец). Например,
4999063_
Возвращает таблицу с прогнозом прибытия ТС на различные остановки. Формат не разбирал.