RU:JOSM/Plugins/CustomizePublicTransportStop
Общие сведения
Плагин настройки остановок для JOSM предназначен для автоматической настройки остановок общественного транспорта в соответствии с версиями 1 и 2 стандарта обозначения общественного транспорта в базе данных OSM. При разработке плагина использовались рекомендации по настройке остановок общественного транспорта (http://wiki.openstreetmap.org/wiki/RU:%D0%9E%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BF%D0%BE%D1%80%D1%82) и собственный опыт разработчика.
Основные функции плагина
В качестве исходных данных плагин использует положение платформы для ожидания общественного транспорта, которая может быть обозначена как точка или как линия.
Плагин выполняет
- Настройку платформы в соответствии с требованиями стандартов;
- Создание (если не существует) и настройку в соответствии с требованиями стандартов точки остановки транспорта;
- Создание (если не существует) и настройку отношения «зона остановки», включающего выбранную платформу.
Ввод параметров настройки осуществляется визуально с помощью диалогового окна.
Настройка платформы для ожидания общественного транспорта
Настройка платформы для ожидания общественного транспорта зависит типа транспорта и типа кодирующего платформу объекта (точка или линия). Для всех видов транспорта могут быть указаны:
- Название;
- Название на английском языке;
- Название транспортной сети;
- Название обсуживающей остановку организации;
- Уровень транспортной сети (городской, пригородный, междугородний, дальнего следования, высокоскоростной);
- Виды останавливающегося транспорта;
- Наличие скамеек, навеса и помещения;
- Атрибут кодирования платформы полигоном.
Для автотранспорта и троллейбусов дополнительно устанавливаются
- Если платформа кодируется точкой – атрибут highway=bus_stop,
- Если платформа кодируется линией – атрибут highway=platform, а в центр линии ставится точка, которой присваивается атрибут highway=bus_stop.
Для железнодорожного транспорта и трамваев в случае, если платформа кодируется линией, ей присваивается атрибут railway=platform.
Настройка выполняется для всех платформ, включённых в отношение «зона остановки», в которое входит выбранная платформа. Присвоение атрибута highway=bus_stop выполняется только для выбранной платформы в отношении.
Настройка точек остановки общественного транспорта
Точки остановки могут создаваться автоматически. Если отношение «зона остановки», в которое входит выбранная платформа, не содержит точку остановки или выбранная платформа не включена ни в одно отношение «зона остановки», то
Если платформа предназначена для ожидания железнодорожного транспорта, то рассчитывается ближайшая к платформе точка на ближайших железнодорожных путях, для нее создаётся включённый в линию железной дороги узел и ему присваивается атрибут «точка остановки»;
Если платформа предназначена для ожидания трамваев, то рассчитывается ближайшая к платформе точка на ближайших трамвайных путях, для нее создаётся включённый в линию железной дороги узел и ему присваивается атрибут «точка остановки»;
Если платформа предназначена для ожидания автомобильного транспорта и троллейбусов, то рассчитывается ближайшая к платформе точка на ближайшей автомобильной дороге (включая служебные проезды), для нее создаётся включённый в линию автомобильной дороги узел и ему присваивается атрибут «точка остановки».
Если платформа кодируется линией, ищется точка, ближайшая к середине, образованной линией фигуры.
Созданный узел точки остановки включается в отношение «зона остановки» с ролью «stop».
Для каждой точки останова в отношении «зона остановки», в которую входит выбранная платформа могут быть настроены:
- Название;
- Название на английском языке;
- Название транспортной сети;
- Название обсуживающей остановку организации;
- Уровень транспортной сети (городской, пригородный, междугородний, дальнего следования, высокоскоростной);
- Виды останавливающегося транспорта.
Для первой точки остановки отношения «зона остановки», в которое включена выбранная платформа дополнительно устанавливаются:
Если точка остановки настраивается для железнодорожной станции – атрибут railway=station;
Если точка остановки настраивается для железнодорожной платформы – атрибут railway=halt;
Если точка остановки настраивается для трамвайной остановки – атрибут railway=tram_stop.
Настройка зоны остановки
В качестве зоны остановки берется первое отношение «зона остановки», в которое включена выбранная платформа. Если платформа не включена ни в одно отношение «зона остановки», то создаются точка остановки и новое отношение «зона остановки», в которое включаются выбранная платформа и созданная точка остановки. Если точку остановки создать не удалось, то и отношение «зона остановки» не создаётся.
Для «зоны остановки», в которую входит выбранная платформа могут быть настроены:
- Название;
- Название на английском языке;
- Название транспортной сети;
- Название обсуживающей остановку организации;
- Уровень транспортной сети (городской, пригородный, междугородний, дальнего следования, высокоскоростной).
Установка плагина
Плагин представляет из себя архив классов Java и называется CustomizePublicTransportStop.jar.
Чтобы установить плагин на своем компьютере
- Запустите JOSM;
- Выберите в меню «Правка» пункт «Настройки»;
- В диалоговом окне «Настройки» в левой части выберите закладку «Настроить доступные модули»;
- Найдите плагин CustomizePublicTransportStop и поставьте галочку слева от него;
- Нажмите кнопку «ОК»;
- Перезагрузите JOSM;
- Убедитесь, что в меню «Инструменты» появился пункт «Настройка остановки».
Также можно скачать модуль и поместить его в каталог плагинов JOSM. Для этого
- Скачайте файл плагина на свой компьютер с сайта разработки по адресу https://github.com/bwr57/CustomizePublicTransportStop/releases;
- Скопируйте файл плагина в папку плагинов JOSM. В последних версиях Windows это <системный диск>:\Users\<Логин пользователя>\AppData\Roaming\JOSM\Plugins. Например, C:\Users\usr1\AppData\Roaming\JOSM\Plugins;
Использование модуля
После установки плагина, вы можете настраивать остановки с его помощью. Чтобы настроить остановку
- Выделите платформу для ожидания общественного транспорта или создайте новую и выделите ее. В качестве платформы может быть выбрана как точка, так и линия;
- Выберите в меню «Инструменты» пункт «Настройка остановки» (кнопка быстрого вызова - "U");
- В диалоговом окне «Настройка остановки» введите
- Название;
- Название на английском языке;
- Название транспортной сети;
- Название обсуживающей остановку организации;
- Уровень транспортной сети (городской, пригородный, междугородний, дальнего следования, высокоскоростной);
- Виды останавливающегося транспорта;
- Наличие скамеек, навеса и помещения;
- Атрибут кодирования платформы полигоном.
Обязательным является только указание типа транспорта;
- Нажмите кнопку «Сохранить».
Пример создания и настройки остановки показан на следующем видео
Плагин также позволяет повторно настроить остановки, для которых создана область остановки (stop area). Для этого достаточно выделить включенную в область остановки платформу и вызвать плагин. После редактирования свойств остановки и нажатия на кнопку "Сохранить" введенные значения свойств остановки присваиваются ВСЕМ входящим в отношение платформам и местам остановки транспорта, также самому отношению.
Исходный код
Исходный код может быть найден в каталоге CustomizePublicTransportStop на GitHub
Авторское право и лицензирование
Авторские права на модуль настройки остановок принадлежат автору – Родиону Щербакову.
Модуль распространяется бесплатно под лицензией GPL.
Модуль распространяется «как есть». Автор не несет ответственности за прямой или косвенный ущерб, причиненный работой модуля или невозможностью его использования.