Найти материал

Поиск по опубликованным материалам, разборам и форматам работы. После согласия на аналитику запросы помогают улучшать поиск. ⌘K / Ctrl+K — поиск · ↑↓ — выбор · Enter — открыть

Поиск по полным текстам на отдельной странице →

Все разборы

Гостевой разбор / Городской транспорт

Материал от

Как Михаил Кругликов собрал карту транспорта Ростова с Codex

Михаил Кругликов много лет ведёт сайт «Ростовский городской транспорт». Для некоммерческого проекта ему не хватало времени на собственную карту: пассажирам были нужны выбор нескольких маршрутов, номера машин и возможность вернуться к истории поездок.

С Codex он прошёл от локальной тестовой версии до доступного сервиса. Михаил ставил задачи, объяснял особенности ростовского транспорта и проверял каждую доработку. Этот разбор основан на его гостевой статье; работа принадлежит её автору.

Работающий сервис

Карта и история

Автор опубликовал адрес сервиса; статистический раздел оставил закрытым.

Особые метки

20 автобусов

Список автобусов-гармошек передал автор.

Разделение нагрузки

Отдельный VPS

Вычисления перенесли после того, как история маршрутов перегрузила обычный хостинг.

Пассажиру нужна была карта, которой удобно пользоваться на остановке

Исходная ситуация

Официальный источник давал координаты, схемы и расписания, но привычные сервисы не закрывали все потребности автора. На смартфоне хотелось быстро выбрать подходящие маршруты, узнать гаражный номер автобуса и увидеть, насколько свежи его координаты.

Михаил предложил Codex найти открытые данные «Центра ИТС» и встроить карту в оформление сайта. Первая локальная версия уже показывала маршруты на OpenStreetMap. Вычисления работали на Python, данные хранились в SQLite, интерфейс использовал JavaScript и Leaflet.

Знание транспорта превратилось в требования к коду

Ход работы

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

  1. Уточнить смысл показателей

    Надпись заменили на «Официальное расписание», а рядом с числом машин показали требования контракта. Координата в системе сама по себе ещё не доказывает перевозку пассажиров.

  2. Подстроить карту под ожидание автобуса

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

  3. Отделить сомнительные наблюдения

    Для машин на территории предприятия, АЗС или вне маршрута ввели категорию «Исключены». Задержка исключения учитывает ошибки геопозиционирования; автоматическая оценка тоже может ошибаться.

  4. Сохранить историю и выдержать нагрузку

    Снимки положений позволяют промотать маршрут назад. Старые данные прореживаются, графики используют сводки. После испытаний вычисления перенесли на VPS и настроили кэширование и фоновые расчёты.

Транспорт на карте Ростова и список маршрутов
Транспорт на карте Ростова и список маршрутов Источник: Михаил Кругликов.
Просмотр истории трамвайного маршрута № 7 с ползунком времени
Просмотр истории трамвайного маршрута № 7 с ползунком времени Источник: Михаил Кругликов.

Проверка шла через реальные пассажирские сценарии

Проверка

Михаил открывал сборки, менял размеры списков и меток, проверял работу на смартфоне. Знакомые подсказали добавить полупрозрачные линии выбранных маршрутов. Когда тест истории вызвал претензию хостинга к нагрузке, архитектуру пришлось изменить.

В источнике показаны карта, карточка автобуса и ползунок истории. Закрытый раздел статистики описан отдельно и не выдаётся за общедоступную функцию.

Давнюю идею можно открыть на телефоне

Результат

Теперь автор может проверить движение нужной машины на том же сервисе, который проектировал под свои наблюдения.

Карта для пассажира

Доступны выбор маршрутов, данные о машине, свежесть координат и история. Сервис можно добавить на домашний экран смартфона.

Инструмент для автора

Сохранённые наблюдения помогают разбирать работу транспорта. Закрытая статистика дополняет публичную карту.

Что подтверждено этим опытом

Границы результата

Это опыт Михаила Кругликова, изложенный в опубликованной статье. Полного независимого аудита сервиса этот разбор не содержит. Автоматический прогноз прибытия оставался дальнейшей идеей; точность координат и исключения машин ограничены исходными данными.

Оценка «порядка 200 часов» описывала объём работы, на который у автора не было ресурса. Она не является измеренной экономией времени разработки.

Исходная гостевая статья

Полный рассказ и изображения принадлежат автору: Михаил Кругликов.

Автор — Михаил Кругликов

От чтения — к своей практике

Спасибо, что дочитали. Если хотите применить прочитанное к своей задаче, приходите обсудить её со мной. Для регулярной практики, общения и вебинаров есть Перезагрузка.