Нет, это не очередная реклама одного известного автомобильного бренда. И даже не попытка литературного разбора стихотворения Рождественского. Речь пойдет о картах. Мы в Mail.ru Group продолжаем развивать собственные геосервисы как для нужд внутренних проектов, так и для запуска новых продуктов для широкого круга пользователей. Ядром географических данных для наших сервисов выступают данные картографического проекта OpenStreetMap. Но мы не хотим быть просто ленивыми потребителями, которые, получая обратную связь от пользователей, хранят исправления в локальной базе данных и не делятся ими с общественностью. Мы активно вносим свой вклад в проект OpenStreetMap. В цикле статей мы решили рассказать, как корректно вносить правки о наиболее насущных для нас объектах географической действительности.
О проекте
OpenStreetMap работает по принципу вики, то есть каждый зарегистрированный пользователь может вносить свои правки в карту. После регистрации становится доступным богатый мир сообщества OpenStreetMap.
Прежде чем рисовать что-то на карте, необходимо ознакомиться со спецификой представления информации в OpenStreetMap — объекты здесь представлены в виде точек или узлов (node), линий или путей (way), и отношений (relation). Атрибутивная информация описывается в виде тегов, представляющих собой пару «ключ-значение».
О редакторах
Для редактирования данных в OpenStreetMap существует множество редакторов для различных платформ. Наиболее распространенными из немобильных редакторов в OSM-сообществе являются веб-редактор iD, который сейчас рассмотрим подробно, и настольный редактор JOSM, который рассмотрим в следующей статье.
Новичкам, не имеющим опыта работы в ГИС-редакторах и немного знающих теги OSM, подойдет редактор iD. В нем удобно оцифровывать белые пятна и редактировать теги объектов. При создании и редактировании объекта в левой части экрана появляется его карточка, хранящая информацию о тегах.
Набор тегов для карточки сформирован в соответствии с типом объекта, указанным при его создании. Например, при добавлении бара в карточке появятся поля для указания его названия, адреса, времени работы (отдельно поле для часов работы во время пандемии), минимальном возрасте посетителей. А при добавлении болота в карточке появятся поля для указания его типа, солености воды и приливных явлений.
Более продвинутым пользователям может понравиться редактор JOSM, который мы рассмотрим подробнее в следующей статье. В JOSM тоже есть шаблоны для рисования объектов определенных категорий, однако нужно быть знакомым со схемой тегирования OpenStreetMap. Она описана на вики-портале, где также есть ссылки на форумы и Telegram-каналы активного русскоязычного OSM-сообщества.
Об источниках данных
Поскольку данные OpenStreetMap могут быть использованы в коммерческих целях, то и к источникам данных применяются строгие требования: их использование должно быть явно разрешено правообладателем. Так, например, не допускается использование данных панорам Google Maps, но разрешено использование панорам Яндекс.Карт. Недавно сообщество договорилось об использовании данных об адресах из слоев группы «Общедоступные сведения, содержащиеся в ЕГРН» публичной кадастровой карты. Также к правомерным источникам относятся фотографии сервиса Mapillary.
Самым очевидным способом получить данные, легитимные для использования в OpenStreetMap, является обход/объезд местности. Тогда обходчик становится правообладателем данных, которые он собрал, и со спокойной совестью может нанести их на карту. Один из глобальных источников данных — спутниковые снимки. При их использовании стоит помнить, что из-за особенностей съемки и рельефа земной поверхности, снимок может быть смещен относительно реального положения объектов на местности. Тут на помощь придут GPS-треки, загружаемые пользователями проекта. Возможность подгрузить треки есть как в редакторе iD, так и в редакторе JOSM. Подгрузив треки, можно настроить корректное смещение снимка; проще всего это делать по перекресткам дорог, выбирая перекрестки с большим количеством треков и сопоставляя центральную ось пучка треков с осью дороги на снимке.
Также про смещение на снимке стоит помнить при оцифровке многоэтажных зданий: очень часто крыша здания может быть смещена относительно его основания. Именно положение основания здания на снимке соответствует положению здания на местности.
Один из ключевых постулатов OpenStreetMap — не картировать под рендер. То есть не создавать объекты с неопределенным значением тега только лишь для того, чтобы они отображались на карте. Нарисованный объект должен нести в себе максимум информации, описывающей его.
Редактирование OpenStreetMap средствами iD
iD является «редактором по умолчанию». Именно он открывается при клике на кнопку «Правка» на странице карты OpenStreetMap. Перед началом редактирования пользователю предлагается пройти обучение.
Обучение интерактивное, а обучающие материалы позволяют пользователю любого уровня достаточно быстро освоить базовые операции в iD. Пожалуй, большинство новичков начинает свой вклад в OpenStreetMap с добавления информации о собственном доме. Подробно рассмотрим этот процесс с помощью редактора iD.
Для начала настроим среду для работы. У правого края экрана расположены кнопки управления редактором. Наиболее используемые — две верхние кнопки в нижнем блоке: «Настройки фонового изображения» и «Данные карты».
По клику на «Настройки фонового изображения» открывается панель с настройками. В этом же разделе настраивается смещение спутниковых снимков, о важности которого написано выше. Панель «Данные карты» позволяет настроить стиль отображения объектов OpenStreetMap. Например, объекты можно скрыть, сняв флаг «Данные OpenStreetMap», чтобы подробнее рассмотреть фоновое изображение. Настроим смещения снимков, активировав флаг «GPS-треки OpenStreetMap» в разделе «Накладываемые изображения» панели «Фоновое изображение». Прокрутив вниз панель «Фоновое изображение», найдем раздел «Смещение снимка», где, перетаскивая серую область, манипулируем спутниковым изображением, подстраивая его под GPS-треки.
Теперь рабочая среда настроена. Можно начинать рисовать. Здания являются полигональными объектами, поэтому для начала рисования нажимаем кнопку «Полигон». Обводим здание по контуру, учитывая наклон строения на снимке. Двойной щелчок левой кнопки мыши завершает редактирование. Укажем тип объекта, и в обновившейся карточке добавим необходимую информацию.
Стоит обратить внимание на раздел «Адресная информация» в карточке дома. При указании номера дома, состоящего не только из цифр, следует руководствоваться следующими правилами: литеры пишутся слитно с номером дома, а номера корпусов, строений, сооружений, владений и т.п. указываются через пробел.
Стрелка вниз в полях для указания улицы, города и почтового индекса позволяет получить названия (значения) соответствующих элементов адресной информации. Эта опция помогает удобно заполнить наименования улично-дорожной сети, избегая описок и иных ошибок.
Но как быть, если наименования нет в списке? Для начала осмотрите окружающие объекты карты. Если нужная улица уже нарисована, то стоит проверить ее теги, возможно, ей присвоено некорректное название, либо оно и вовсе не заполнено. А если улица не нарисована, необходимо ее нарисовать, присвоив корректный тип объекта. Скорее всего, это будет тип «Улица», так как большинство основных дорог уже нарисовано. Теперь необходимо добавить название улицы в соответствии с принятым в русскоязычном сообществе OpenStreetMap соглашением.
Коротко об основных правилах соглашения: наименование состоит из статусной части, определяющей элемент улично-дорожной сети, — например, улица, проспект, переулок, бульвар, — и основной части, характеризующей название. Статусная часть должна быть указана полностью, без сокращений, со строчной буквы. Статусная часть указывается перед основной частью, если основная часть представляет собой существительное или словосочетание, управляемое существительным (улица Клин, улица Морские Дубки), а также группу слов в родительном падеже (проспект Ленина, улица Подольских Курсантов), или группу слов, управляемую предлогом (дорога в Каменку). В случае, если основная часть представляет собой прилагательное в именительном падеже, статусная часть указывается после основной (Невский проспект, Рябиновая улица).
Итак, с адресной информацией разобрались. Также в карточке объекта можно указать данные об этажности — поле «Число этажей», высоте — поле «Высота (метры)», а в поле «Units» указывается количество жилых помещений (квартир) в здании. Вернемся к редактированию формы нашего дома. Выйти из режима редактирования тегов можно с помощью клавиши Esc, либо нажатием на кнопку с крестиком в карточке объекта.
Скорректируем форму только что нарисованного дома, нажав на него правой кнопкой мыши, и в контекстном меню выбрав кнопку «Выпрямить углы».
Следует обратить внимание, что тип здания указывается в соответствии с его назначением, а не текущим использованием. Например, здание, построенное как склад, в настоящее время используется как жилой дом. В этом случае тип здания — «Склад», так как предназначалось оно именно под складские помещения, а текущее использование отображается дополнительным тегом
building:use=residential
.Если есть сомнения в том, какой тип для здания нужно указать, то лучше использовать тип «Здание без конкретного типа».
Итак, первый этап пройден, дом нарисован. Теперь хорошо бы нарисовать окружающую инфраструктуру и уточнить адресную информацию, добавив подъезды. Они обозначаются дополнительными точками на полигоне здания с указанием типа узла «Вход/выход» и типом входа «staircase» (за таким входом обычно скрывается лестница). Номер подъезда указывается в поле «Номер/идентификатор». Если необходимо указать вход в частный дом, то значение типа входа должно быть «home».
Как определить, где рисовать дополнительную точку входа в дом? Довольно часто для жилых домов можно определить количество и расположение подъездов по спутниковым снимкам: на крышах зданий видны лифтовые шахты и выходы вентиляционных труб. Однако, следует помнить, в большинстве случаев, особенно для высотных домов, крыша здания смещена относительно реального положения подъезда, поэтому необходимо также ориентироваться и по другим, косвенным признакам – козырькам подъездов, входным дорожкам.
Так, на рисунке выше видно, что дома 14 и 18 имеют два подъезда, а в доме 16А их не менее пяти.
При рисовании объектов дополнительной инфраструктуры следует помнить, что корректность некоторых объектов зависит от направления их оцифровки. Например, реки оцифровываются от истока к устью, то есть в направлении течения; односторонние дороги должны быть оцифрованы по направлению движения. Морская береговая линия наносится так, чтобы при оцифровке вода была справа по ходу линии, а суша — по левую. Крупные овраги, обрывы, насыпи оцифровываются так, чтобы понижение высоты рельефа находилось справа по ходу линии. Если объект был оцифрован в неверном направлении, то необходимо скорректировать его кнопкой «Изменить направление».
Когда с оцифровкой закончено, наступает время отправить свои правки на сервер OpenStreetMap. Для этого в верхнем правом углу экрана есть кнопка «Сохранить».
При сохранении пакета правок необходимо оставить комментарий, описывающий сделанные изменения. Нажимаем кнопку «Сохранить» и наслаждаемся своими изменениями на карте OSM.
В заключение
Не стоит бояться вносить свой вклад в проект OpenStreetMap, вместе мы сделаем его лучше и подробней. Однако подходить к редактированию карты нужно с умом: не разобравшись в тегах, нарисовав участок карты вразрез с правилами OSM и договоренностями сообщества, можно получить откат правок или гневные комментарии от других осмеров. Но не стоит сразу забиваться в свою ракушку: отвечайте на комментарии, признавайте свою вину или культурно (!) обосновывайте свою точку зрения. Ведь в споре рождается истина.