RU:JOSM/Plugins/CustomizePublicTransportStop
Общие сведения
Модуль настройки остановок для JOSM предназначен для автоматической настройки остановок общественного транспорта в соответствии с версиями 1 и 2 стандарта обозначения общественного транспорта в базе данных OSM. При разработке модуля использовались рекомендации по настройке остановок общественного транспорта и собственный опыт разработчика.
Основные функции модуля
В качестве исходных данных модуль использует положение Платформы для ожидания общественного транспорта (далее просто “Платформа”), которая может быть обозначена как точка или как линия с тегом public_transport=platform.
Модуль выполняет
- Настройку Платформы в соответствии с требованиями стандартов;
- Создание (если не существует) и настройку в соответствии с требованиями стандартов точки «Место остановки транспорта»;
- Создание (если не существует) и настройку отношения «Зона остановки», включающего выбранную Платформу.
Ввод параметров настройки осуществляется визуально с помощью диалогового окна.
Настройка Платформы для ожидания общественного транспорта
Настройка Платформы для ожидания общественного транспорта зависит от типа транспорта и типа кодирующего платформу объекта (точка или линия). Для всех видов транспорта могут быть указаны:
- Название;
- Название на английском языке;
- Название транспортной сети;
- Название обслуживающей остановку организации;
- Уровень транспортной сети (городской, пригородный, междугородний, дальнего следования, высокоскоростной);
- Виды останавливающегося транспорта;
- Наличие скамеек, навеса и помещения;
- Атрибут кодирования Платформы полигоном.
Для автотранспорта и троллейбусов дополнительно устанавливаются
- Если Платформа кодируется точкой – атрибут
highway=bus_stop, - Если Платформа кодируется линией – атрибут
public_transport=platform, а в центр линии ставится точка, которой присваивается атрибутhighway=bus_stop.
Для железнодорожного транспорта и трамваев в случае, если Платформа кодируется линией, ей присваивается атрибут railway=platform.
Настройка выполняется для всех Платформ, включённых в отношение «Зона остановки», в которое входит выбранная Платформа. Присвоение атрибута highway=bus_stop выполняется только для выбранной Платформы в отношении.
Настройка точек «Место остановки транспорта»
Точки «Место остановки транспорта» могут создаваться автоматически. Если отношение «Зона остановки», в которое входит выбранная Платформа, не содержит точку «Место остановки транспорта» или выбранная Платформа не включена ни в одно отношение «Зона остановки», то выполняется следующая проверка:
- Если Платформа предназначена для ожидания железнодорожного транспорта, то рассчитывается ближайшее к платформе место на ближайших железнодорожных путях, в этом месте создаётся включённая в линию железной дороги точка и ей присваивается атрибут «Место остановки транспорта» (тег
public_transport=stop_position); - Если Платформа предназначена для ожидания трамваев, то рассчитывается ближайшая к платформе точка на ближайших трамвайных путях, для нее создаётся включённый в линию железной дороги узел и ему присваивается атрибут «Место остановки транспорта» (тег
public_transport=stop_position); - Если Платформа предназначена для ожидания автомобильного транспорта и троллейбусов, то рассчитывается ближайшая к платформе точка на ближайшей автомобильной дороге (включая служебные проезды), для нее создаётся включённый в линию автомобильной дороги узел и ему присваивается атрибут «Место остановки транспорта» (тег
public_transport=stop_position). - Если Платформа кодируется линией, то ищется точка, ближайшая к середине, образованной линией фигуры.
Созданная точка «Место остановки транспорта» включается в отношение «Зона остановки» с ролью «stop».
Для каждой точки «Место остановки транспорта» в отношении «Зона остановки», в которую входит выбранная Платформа могут быть настроены:
- Название;
- Название на английском языке;
- Название транспортной сети;
- Название обслуживающей остановку организации;
- Уровень транспортной сети (городской, пригородный, междугородний, дальнего следования, высокоскоростной);
- Виды останавливающегося транспорта.
Для первой точки «Место остановки транспорта» в отношении «Зона остановки», в которое включена выбранная платформа, дополнительно устанавливаются:
- Если точка «Место остановки транспорта» для железнодорожной станции – тег
railway=station; - Если точка «Место остановки транспорта» для железнодорожной платформы – тег
railway=halt; - Если точка «Место остановки транспорта» для трамвайной остановки – тег
railway=tram_stop.
Настройка зоны остановки
В качестве зоны остановки берётся первое отношение «Зона остановки», в которое включена выбранная Платформа. Если Платформа не включена ни в одно отношение «Зона остановки», то создаются точка «Место остановки транспорта» и новое отношение «Зона остановки», в которое включаются выбранная Платформа и созданная точка «Место остановки транспорта». Если точку «Место остановки транспорта» создать не удалось, то и отношение «Зона остановки» не создаётся.
Для отношения «Зона остановки», в которую входит выбранная Платформа могут быть настроены:
- Название;
- Название на английском языке;
- Название транспортной сети;
- Название обслуживающей остановку организации;
- Уровень транспортной сети (городской, пригородный, междугородний, дальнего следования, высокоскоростной).
Установка модуля
Модуль представляет из себя архив классов Java и называется CustomizePublicTransportStop.jar.
Чтобы установить модуль на своем компьютере
- Запустите JOSM;
- Выберите в меню «Правка» пункт «Настройки»;
- В диалоговом окне «Настройки» в левой части выберите закладку «Модули»;
- Найдите модуль CustomizePublicTransportStop и поставьте галочку слева от него;
- Нажмите кнопку «ОК»;
- Перезагрузите JOSM;
- Убедитесь, что в меню «Инструменты» появился пункт «Customize stop».
Также можно скачать модуль и поместить его в каталог модулей JOSM. Для этого
- Скачайте файл модуля на свой компьютер с сайта разработки по адресу https://github.com/bwr57/CustomizePublicTransportStop/releases;
- Скопируйте файл модуля в папку модулей JOSM. В последних версиях Windows это <системный диск>:\Users\<Логин пользователя>\AppData\Roaming\JOSM\Plugins. Например, C:\Users\usr1\AppData\Roaming\JOSM\Plugins;
Использование модуля
После установки модуля, вы можете настраивать остановки с его помощью. Чтобы настроить остановку
- Выделите платформу для ожидания общественного транспорта или создайте новую и выделите её. В качестве платформы может быть выбрана как точка, так и линия;
- Выберите в меню «Инструменты» пункт «Customize stop»;
- В диалоговом окне «Stop customizing» введите
- Название;
- Название на английском языке;
- Название транспортной сети;
- Название обслуживающей остановку организации;
- Уровень транспортной сети (городской, пригородный, междугородний, дальнего следования, высокоскоростной);
- Виды останавливающегося транспорта;
- Наличие скамеек, навеса и помещения;
- Атрибут кодирования платформы полигоном.
- Обязательным является только указание типа транспорта;
- Нажмите кнопку «Сохранить».
Пример создания и настройки остановки показан на следующем видео
Модуль также позволяет повторно настроить остановки, которые уже включены в отношение «Зона остановки». Для этого достаточно выделить включенную в отношение «Зона остановки» Платформу и выполнить команду «Customize stop» в меню «Инструменты». После редактирования свойств остановки и нажатия на кнопку "Сохранить" введенные значения свойств остановки присваиваются ВСЕМ входящим в отношение Платформам и местам остановки транспорта, а также самому отношению.
Исходный код
Исходный код может быть найден в каталоге CustomizePublicTransportStop на GitHub
Авторское право и лицензирование
Авторские права на модуль настройки остановок принадлежат автору – Родиону Щербакову.
Модуль распространяется бесплатно под лицензией GPL.
Модуль распространяется «как есть». Автор не несет ответственности за прямой или косвенный ущерб, причиненный работой модуля или невозможностью его использования.