RU:JOSM/Plugins/CustomizePublicTransportStop

From OpenStreetMap Wiki
Jump to navigation Jump to search

Общие сведения

Плагин настройки остановок для 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.

Модуль распространяется «как есть». Автор не несет ответственности за прямой или косвенный ущерб, причиненный работой модуля или невозможностью его использования.