Общедоступный редактор карт?!

Многобуквенное предисловие

Планы о создании редактора карт появились ещё в начале 2020 года, когда появились карты третьего поколения (нынешние), но тогда всё осложнялось тем, что карта представляла собой XML-файл, и обновлялась в оффлайн-режиме одним человеком через JOSM. Одновременно такую карту редактировать было нельзя: если два человека, независимо друг от друга скачают и отредактируют файл map.osm, то встаёт вопрос: чью карту сохранить, а чей труд придётся удалить? Об идее пришлось забыть на какое-то время.

Хранение карты в виде map.osm вызывало и другие трудности: очень медленный поиск и невозможность сохранять фотографии зданий (у всех объектов был отрицательный id, который обновлялся каждое открытие карты через JOSM).

В марте этого года карта была полностью перенесена в базу данных, что ускорило поиск и вновь позволило сохранять фотографии зданий, но редактирование карты продолжалось в режиме «оффлайн», только после каждого такого редактирования данные файла map.osm переносились в базу данных.

Небольшой собственный редактор был написан лишь летом. Первое изменение с его использованием было сделано 5 августа: селу Перевалово был добавлен тег new_tag=new_tag»». Через 2 минуты была сделана вторая правка, удаляющая этот тег.

Данный редактор позволял лишь отредактировать теги существующих объектов карты, но этого было мало! В конце-середине осени мы вспомнили о старой идее и возобновили её реализацию. Как и в 2020 году, за основу был взят редактор iD – реально существующий редактор карт OpenStreetMap с открытым исходным кодом (к этому редакторы мы прибегали и летом, но не знали, с чего начать и убрали на дальнюю полку).

Исходный код редактора у нас был, но исходный код сервера OSM — нет. Методом проб и ошибок в течение пары месяцев «вслепую» было написано API для редактора. А затем редактор несколько месяцев проходил «обкатку», чтобы ни одна кнопка случайно не загрузила карту Провинции на сайт openstreetmap.org.

О редакторе iD 2.19.5

iD — это web-приложение, позволяющее редактировать карты OpenStreetMap (а теперь и наши).

Интерфейс редактора

Меню слева позволяет найти интересующий объект (поиск осуществляется среди скачанных данных). При выборе какого-либо объекта в этом меню отображается информация о нём и список тегов, которые можно отредактировать. Здесь же можно выбрать или изменить тип объекта (здание, газон, магазин, …).

Если нажать правой кнопкой по объекту на карте, появится контекстное меню, с помощью которого можно быстро переместить или повернуть сложные объекты (или несколько выделенных), сделать углы прямыми или удалить объект.

В самом верху отображается панель инструментов: можно нанести одну точку на карту, целую линию или полигон. Последний лишь является замкнутой линией и нужен для рисования территорий, зданий и других замкнутых объектов. Если же нарисовать замкнутую линию с помощью инструмента «Линия», то теги придется проставлять вручную (в заготовках не будет зданий, водоёмов и т.д.). Здесь же находятся кнопки «Отменить», «Вернуть» и «Сохранить».

Внизу отображается некоторая информация: список людей, отредактировавших просматриваемый участок карты и версия редактора. Желтое предупреждение с цифрой сигнализирует, что карта была отредактирована некорректно. Их можно игнорировать, а можно отреагировать и исправить ошибки. Среди ошибок могут быть: 2 дороги пересекаются, но не соединены точкой, углы здания близки к 90 градусам. Так же отображаются варианты исправления: добавить мост или сделать углы прямыми.

В правом нижнем углу отображается индикатор загрузки карты. Загружается только та часть карты, которую вы сейчас просматриваете, но процесс может занять некоторое время. Рекомендуется дождаться окончания загрузки перед редактированием, иначе есть риск, что Вы, например, начнете во время загрузки рисовать здание, а потом окажется, что вы нарисовали здание поверх уже существующего.

Справа находятся кнопки, отвечающие, в основном, за отображение карты. Кнопка, отмеченная цифрой 2, отвечает за настройку фонового изображения. Можно выбрать либо radar_t.jpg, либо стандартный слой OpenProvinceMap. Первый, radar_t.jpg, имеет «смещение снимка» относительно отрисованных данных, которое здесь можно настроить. Обычно, смещение уже настроено, но если этого не произошло, не спешите перемещать карту, откройте настройки фонового изображения и вставьте смещение снимка: 12.92, 5.65 (либо же настройте вручную).

Кнопка под цифрой 3 отвечает за настройку данных карт. Здесь можно включить и выключить данные карты, выбрать, какие данные скрыть (по умолчанию скрыты границы), а так же включить и выключить отображение заметок (для того, чтобы заметки появились, возможно, потребуется выполнить «вход в аккаунт». Просто нажмите на «Добавить заметку», и, если потребуется, нажмите на «войди в аккаунт»).

Цифра 4 — проблемы карты. Здесь отображается список предупреждений (желтый восклицательный знак внизу экрана).

Дополнительную информацию о редакторе можно прочитать здесь: https://wiki.openstreetmap.org/wiki/RU:%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BD%D0%BE%D0%B2%D0%B8%D1%87%D0%BA%D0%B0_1.3.2, но внешний вид и функционал может отличаться от нашего.

Когда редактор будет доступен всем и каждому?!

Начиная со 2-го апреля 2022 года редактор доступен любому авторизовавшемуся пользователю. Открывается новый редактор по нажатии кнопки «Редактировать» в информации о каком-либо объекте.