Если у вас есть желание\возможность помочь с внесением информации, данные о названиях и положении остановок - сообщайте мне (или правьте сами, желательно с информированием опять же меня, пока нет хорошей интеграции с диспетчерским ПО).
Итак, потребовалось создать маршруты на карте OSM для города Тамбова. Этого требует необходимость для нашего города работы с сервисом DorogaTV.
С чего начать? Сначала мне потребовалось:1. Скачать JOSM на момент редактирования статьи стабильная версия 4064. Для работы использует JAVA, возможно потребуется скачать и ее (предлагает при установке).
4. желательно так же включит удаленное управление - это упростит работу со скриптом проверки маршрута, так будет возможно открывать непонятный участок в JOSM напрямую.
Ознакомиться с видео Оно показывает основные приемы для работы с маршрутами Так же полезно почитать Приемы для работы:0. Скачать данные Тамбова с сервера - для этого меню Файл - Скачать с OSM, на вкладке "Быстрая карта" выделить интересующую область, отметить галку данные OpenStreetMap. Для того, что бы в будущем не приходилось выбирать область ее можно занести в "закладки". Нажать ОК. 1. Знать номер ID маршрута (отношения) - тогда можно загружать данный ID напрямую, а не всю карту - это упрощает редактирование - меню Файл - Скачать объект, тип объекта=отношение, номер - номер присвоенный при передаче на сервер. Номер отношения присваивается сервером ПОСЛЕ передачи туда пакета с новыми отношениями.
2. Если по ходу следования маршрута есть одностороннее движение, то такие участки должны помечаться ролями forward или backward (зависит от того, в каком направлении двигается ТС по данному участку - см. п. 5.2). Если машина на данном участке двигается в обоих направлениях, то роль указывать не следует.
4. Использовать слой с данными о положении ТС (по ссылке примеры этих данных). Для этого файлы GPX можно загрузить через меню Файл-Открыть, выбрать файл .gpx
5. Создать маршрут. После, держа окно редактирования маршрута-отношения открытым, выделять нужный новый элемент, и добавлять его в таблицу. 5.1. Например выделить начальный участок дороги, создать на основании его отношение, описать теги.
Сохранить отношение - кнопка ОК В качестве тегов нужны: name | А 151 | номер маршрута | ref | 1988 | если не знаете код - не пишите | description | Строитель-МЖК-Динамо-Комсомольская пл - ТЭЦ-д. Красненкая | текстовое описание маршрута | route | bus | маршрут bus=автобус | type | route | тип отношения - маршрут |
Теперь можно маршрут редактировать. Открыть редактор отношений, выделять следующий по ходу транспорта элемент, добавлять его в отношение. Следующий - в список. Прости весь путь в одну сторону.
5.2. Теперь просмотреть участки, где возможно только одностороннее движение ТС (в Тамбове, это мост через ЖД, кольца с подъездами с с ездами). Для таких участков требуется обязательно указать роль направления
5.2.1. если ТС двигается по этому участку так же как указывает стрелка - то роль "forward", если в обратном направлении - "backard" - (см пример в плане участка после ост. Чичерина). Если движение в обе стороны - то роль ставить не требуется. 5.2.2. Если какой-то участок дороги (кольца) идет дальше чем нам нужно (например, надо что бы автобус повернул, но участок дороги выделился и за поворот), то его придется разделить на две части - выделите его, точку на нем в которой его делить - нажать "P" (русская З). Далее будет создано два отрезка-участка. Выделите нужный, и внесите его в маршрут.
6. Для ускорения работы можно использовать информацию уже введенную в маршрут в другом. Для этого можно исользовать два приема: 6.1. Скопировать уже существующий маршрут полностью, и вносить в него изменения. Плюсы: копируется информация и о тегах Минусы: копируется все и надо удалять не нужное в данном маршруте.
6.2. Перенести сегменты через "буфер обмена" (точнее по аналогии с ним) из одного маршрута в другой (новый маршрут должны хотя бы как-то номинально присутствовать в списке) 6.2.1. Открыть в редакторе отношений маршрут с которого копируем. 6.2.2 В списке слева выбрать подряд идущие куски информации (мышкой с кнопкой "shift"). 6.2.3. Нажать кнопку "Выбрать объекты для выбранных участок отношений" 6.2.4. В результате в панели выбора появятся выбранные объекты в том порядке, как они шли в маршруте 6.2.5. Далее уже этот список можно вставлять в другой маршрут. Схема выбора данных для переноса в другой маршрут: 1 - выделение информации. 2 - кнопка, 3 - получение списка
6.2.6. Открыть редактор отношений, куда надо вставить информацию 6.2.7. Найти в списку уже введенных данных позицию, в которую надо вставить 6.2.8. Использовать нужную кнопку вставки данных (выбор кнопки зависит от выполняемого действия) 6.2.9. Далее нужно будет отредактировать потерянные в результате переноса роли обычными средствами. Плюсы: можно использовать информацию из разных маршрутов Минусы: теряются тэги для отношений, нужно более аккуратно работать с порядком.
7. Участки дороги в маршруте могут следовать в любом порядке, однако при проверке и редактировании маршрутов проще, когда участки следуют в одном направлении, а те участки, которые надо добавить в обратную сторону уже после списка. Каждый участок дороги добавляется не более одного раза. Для каждого участка указываем его роль в отношении.
После занесения всех участков дороги в отношение/маршрут переходим к остановкам. Так же последовательно их выделяем, и добавляем в маршрут в редакторе отношений, или же воспользуемся описанными методами копирования. Не забываем про указание ролей для остановок:
8. Остановки в маршруте ДОЛЖНЫ следовать в том порядке, в котором они расположены по ходу движения маршрута!!! Это обязательно требование! 8.1. Остановки в обязательном порядке должны быть помечены ролями:
В названии ролей пробелы не допускаются!
|
8.2. При копировании остановок с другого маршрута (см. п. 6.2 данного документа), для них можно быстро проставить потерянные роли массового: 8.2.1. Выделите в отношении список остановок для изменения роли. 8.2.2. В нижней части укажите в поле "Применить роль" нужную роль, нажмите "галку".
9. После того как маршрут отредактирован его нужно передать на сервер - меню Файл - Передать данные на сервер.
Прочие приемы:- Подключение слоя со спутниковыми снимками читаем тут и тут. Так же в качестве активных слоев можно подключить bing - неплохая детализация, относительно малый сдвиг.
Немного информации.Для внесения маршрутов на OSM используется понятие Отношения, в частности нас будет интересовать тип Маршрут
В маршрут нужно будет внести все участки дорог, и остановки. Причем для остановок обязательно будет требоваться использовать теги для указания направления. Так же обязательно остановки должны входить в Маршрут в том порядке, в котором транспортное средство их проходит. При это, надо будет остановки занести как в прямой последовательности движения, так и в обратной. В качестве примера можно использовать отношение № 1596165
Для того, что бы маршруты можно было бы проверять с данными диспетчерской программы (связать с ней) для маршрута нужно указать тэг ref, с ID маршрута. Номера маршрутов для ссылок можно посмотреть тут (доделать!!!)
статья находится в разработке... продолжение следует
|