OSMTram - атласы общественного транспорта

Представляю результат своего проекта по генерации карт общественного транспорта по данным Openstreetmap. Это набор скриптов на python в docker, из которых получаются карты маршрутов транспорта в виде растровых картинок. Сейчас я довёл этот проект до такого состояния, что одним скриптом он генерирует pdf с картами трамвайных и троллейбусных маршрутов всех городов России. Заходите на https://trolleway.github.io/OSMTram/

Все вокруг делают веб-карты с веторными тайлами. Я специально решил генерировать отдельные файлы, что бы автоматизировать создание карт для transphoto.ru, википедии и wikivoyage, а так же что бы карту можно было скачать на смартфоне. Всё устроено так, что бы можно было повторить генерацию через 10 лет, что бы можно было скармливать исторические дампы, и поэтому он не зависит от внешних сервисов и тайлов.

Сами скрипты так же лежат на https://github.com/trolleway/OSMTram , сейчас можно по инструкции собрать docker-контейнер, который сгенерирует этот же pdf. Скрипт принимает на вход только url дампа в pbf, и geojson-файл c границами городов и фильтром, поэтому можно запустить его на любой город или страну. Подложку скрипт тоже генерирует сам из pbf, картинку рендрит в QGIS (вызывая его через pyqgis) - всё внутри контейнера.

Скрипт сейчас запускаю вручную, выполнение занимает 10 часов. Потом попробую поднять его на digitalocean, и буду разбираться, как поместить в контейнер обновление атласа на хостинге.

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

  1. Есть подозрение, что для построения файла используется какой-то старый дамп.
  2. На мой взгляд, генерализация (склеивание в одну линию близких противоположных линий) могла бы быть полезной: если встречные потоки отрисованы отдельными линиями, стрелочки с указанием направления движения несколько смущают: одно дело, когда по дороге идёт односторонний маршрут, другое - когда маршрут двусторонний на широкой улице, отрисованный двумя линиями/путями.