TransphotoUrban Electric Transit

Быстрое создание красивой схемы хронологии закрытий трамвайных линий в любом городе.

Обычно транспортные схемы рисуются в векторных графических редакторах. Однако географические карты рисуют и в специализированых геоинформационных системах. Я расскажу, как можно быстро сделать карту наподобие http://transphoto.ru/photo/414121 с использованием технологии OpenStreetMap. Преимущество такого способа по сравнению с рисованием в Corel Draw - отсутствие рутинной отрисовки существующих линий, улиц, и прочих железных дорог, а так же необходимости крякать Corel и запихивать в него мегабайтную точечную картооснову. Способ подходит для большинства крупных городов. Полученую картинку можно грузить на сайт без дополнительной обработки (только пожать png), а можно дорисовать вручную в Inkscape.

Нам понадобятся две программы: рендер Maperitive (http://maperitive.net/) и редактор JOSM (http://josm.ru/). Запускаем Maperitive, сдвигаемся на нужный город, так что бы все трамвайные линии были в окне, вводим комманду

bounds-set
Подключаем правила отображения tramlines-harkov.mrules из прилагающегося к этой статье архива. Кладём их в maperitive/rules/
use-ruleset location=rules/tramlines-harkov.mrules
reload-ruleset
Нам понадобятся данные о расположении современных трамвайных линий. Небольшие обьёмы таких данных можно скачивать прямо в самом Maperitive
download-osm xapi-url="http://jxapi.osm.rambler.ru/api/0.6/way[railway=tram]"
save-source file="data/tramlines-harkov.osm"
На экране получится векторная карта трамвайных путей, насколько они обрисованы в городе. Сейчас мы будем рисовать закрытые линии.

Запускаем josm, кидаем в него файл tramlines-harkov.osm Скачивать и закачивать данные osm на сервер не следует. Включаем какую-нибудь подложку, и рисуем линии по трассам демонтированых трамвайных путей. Можно это делать на новом слое. Точность отрисовки определяется необходимым вам масштабом: для схемы как на картинке достаточно одной грубой линии из двух точек, а при желании можно даже отрисовать путевое развитие конечных или перекрёстков. На эти линии ставим теги: railway=tram; abandoned=yes; date_end=1999. Напоминаю, что отправлять на сервер эти данные не нужно. Сохраняем слой со снятыми линиями в новый файл, и кидаем этот файл в окно Maperitive. Так же в приложеном файле отмечены действующие и закрытые трамвайные депо: depot:vehicle:tram=yes; disused=yes; end_date=2002

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

export-bitmap file="harkov-closures.png" width=1024 
Следует сказать, что в maperitive не очень продвинутая система управления подписями, так что тут надо поработать, что бы все надписи оказались хорошо видны и читаемы. Ознакомьтесь с синтаксисом комманды export-bitmap и подберите параметры увеличения, масштаба или размера картинки. При желании можно подложить под нашу схему веб-подложку. Тут следует помнить, что она отрендрена с фиксироваными уровнями увеличения, то есть в таком случае при экспорте в параметре zoom должно стоять целое число.

Существуют и другие, более серьёзные геоинформационные системы, как например открытая Quantum GIS. Возможно, что рендеринг в ней более гибкий. Я этого не знаю, попробуйте.

Приложения