Большой ремонт мультиполигонов

Мультиполигон — это отношение с тегом type=multipolygon, содержащее линии в ролях inner и outer, образующие один или несколько замкнутых контуров. Их используют, чтобы нарисовать полигон с дыркой (например, дом со двором-колодцем) или не рисовать смежные полигоны по одним и тем же точкам. В принципе, если взять любой обычный полигон и навесить на него отношение с тегом type, он превратится в мультиполигон. Но так делать не стоит.

Если поставить теги на внешний контур, а не на отношение, такой мультиполигон будет считаться нарисованным в «старом стиле». Рендерер или osm2pgsql должны будут просмотреть все линии с ролью outer, убедиться, что теги совпадают, и использовать их для отрисовки. Теги на линиях внутренних контуров относятся к содержимому дырок, хотя иногда там можно встретить те же теги, что на внешнем контуре. Обрабатывать старые мультиполигоны сложно и долго.

«Новый» стиль тегирования мультиполигонов — это когда все теги на отношении. Что там висит на линиях контура — не важно. Рендерер сразу видит, что к чему, и не обязан просматривать каждый член отношения. Мультиполигоны в новом стиле нравятся всем, поэтому технари ратуют за истребление старых. Нужно перетегировать «всего» около 250 тысяч отношений, из 13 миллионов.

Йохен Топф предлагает делать это по ходу исправления сотен тысяч более важных ошибок в полигонах и мультиполигонах. К этому можно было приступить и раньше, взяв в помощь OSM Inspector, но планомерное истребление — не для всех. Иногда проще не видеть фронт работ, исправляя по ошибке за раз и имея выбор: нажать «следующая» или закрыть вкладку браузера. То есть, пойти в MapRoulette.

Зайдите сюда и посмотрите, что за задание в этот раз подготовил Йохен. Их довольно быстро выполняют, потому от раза к разу задания становятся всё больше. Прямо сейчас там ссылки для нескольких стран, включая Россию. Исправляют самопересечения, которых только у нас почти триста тысяч. По ходу можно встретить удивительные попытки рендерера нарисовать что-то вменяемое на месте ошибки. И, напоминает Йохен, не забывайте проверять, что теги мультиполигона висят на отношении.

Поделиться
Отправить
Запинить

Мнения, высказанные на этом сайте, отражают точку зрения лично автора сайта и ничью больше: ни его бывших или настоящих работодателей, ни семьи и знакомых.

6 комментариев
pfg21 2017

Самое главное оторвать у мапника костыль по отображению старых мультиполигонов и дело пойдет скореее

Илья Зверев 2017

Как я понимаю, endgame именно в этом. Сначала запретить osm2pgsql отображать сломанные мультиполигоны, затем — старые.

pfg21 2017

Не точтобы запретить, а отломить проверку на вхождение лини c в отношение оутером. Пусть рисуется полная заливка без инеров. Сразу заметно.

Илья Зверев 2017

Если я правильно понял, что-то подобное отображается на проверочной карте Йохена: http://area.jochentopf.com/map/index.html

freeExec 2017

Вот бы загнать сюда любителей лоскутных одеял, просто адъ и Израиль.

pfg21 2017

чуть-чуть поисправлял — вывернуло, кучи точек, линий, поставленных от балды, и как следствие в ****

Hind 2017

А что не так с одеялами? Отлично маппятся.

freeExec 2017

Отличность заканчивается когда двух и более уровневые одеяла замаплены с ошибками, разобраться что куда становится сложно.

Популярное