Мультиполигоносрач

И опять ГрК РФ:

Если дом будет выколот из полигона, значит он не будет находится внутри полигона? А как же узнать что этот дом - находится в жилой зоне, а не промышленой?
Это я к тому, что автоматические домики на http://latlon.org/buildings поломаются.

landuse — не физический тег! Дырки в них правомерны только если в дырках действительно иной landuse!

Дома относятся к landuse=residential!
А вот котельная с территорией уже не относится. Строго говоря, даже у ТП тоже должно быть что-то вроде полосы отчуждения, и можно вырезать контур по её периметру, но не сам домик. Но можно и не вырезать, особенно если наверняка не знаете. Луна от этого не упадёт.

Может уже пора каие-нибудь общие правила обозначить?. В принципе не только мультиполигонов касается, но если уж речь зашла о них, то и по этой теме то же. Не может быть универсальных правил для всех навигационных программ.
Если рисуем дома, то нельзя отрицать необходимость мультиполигонов, так как дома могут быть и пристроенныии друг к другу - это уже мультиполигон. Другой пример - рисую дом на обозначенном участке, опять я устроил мультиполигоносрач. Нарисовал участок парка, а к нему примыкает промзона - снова срач устроил. Где-то уже набивал - смотрел например карту Финляндиии - там упор на дороги и НП - домов не обозначено, хотя адреса есть (я так понял что по участкам), конечно в этом случае мультиполигонов не нужно, но это же не наш вариант.
Не ругаюсь, но на всех не угодишь, так как каких-то однозначных правил нет. Пример постом выше тоже показателен - если между полигонами нужна какая-то полоса отчуждения (которой на самом деле и нет), давайте об этом условимся и будем так рисовать. Просто суть в том, что сначала обговариваем, что мультиполигоны рисуем, а через некоторое время начинаем говорить что их рисовать нельзя - это не дело.
Проще сразу условиться когда рисуем, а когда нет. Потом из этих условий и рисовать.

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

Проще, да. Когда за вас решают что хорошо, а что плохо - оно всегда проще. Но в OSM такое не прокатит. Все соглашения сугубо рекомендательные. Такова плата за гибкость. Хотите идти в ногу с другими - хорошо. Не хотите - можете не идти. Но если хотите, чтобы ваши данные имели какой-то смысл для других, нужно всё-таки с ними договариваться.

Master_s - не парьтесь, лучше рисуйте больше :slight_smile:

Нельзя договориться что рисовать мультиполигонами а что нет. Это как договориться что дома всегда рисуем квадратами. И если гдето у вас будет с геометрией ошибка - ну луна на землю действительно не упадет - поправим (кстати не факт что поправят верно :slight_smile: ).

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

Недавно я подсел на мультиполигоны. Это позволяет отказаться от дублирования линий когда несколько объектов имеют общую границу.

Однако результаты практического применения оказались пугающими … Когда я захотел нарисовать мультиполигоны показывающих границу между 4 объектами то пришлось создать дополнительно 35 мультиполигонов! То есть граница между объектами проходила через здания, площадки и т.п. которые пришлось разрезать. При это большинство из 35 новых мультполигонов - простые прямоугольники!

Я даже не стал заливать это чудо в базу. Теперь я снова отказался от идеи мультиполигонов и использую их только там где других вариантов не в принципе а именно площадные объекты с дырками или границы состоящие из сотен точек … Иначе бред получается.

Вау! Нифига не понял. Щито - 35 дополнительных мультиполигонов? А можно наглядный пример?

Я ещё недоделал как хотел и пока бросил, ссылку положу позже.

Задача: территория на которой расположено чуть более 40 зданий. 2 участка - промзона, 2 участка - больницы и 1 участок поликлиника. Участки огорожены или заборами или стенами зданий. Все объекты именованы. Территория предприятия или больницы легко строится - обводишь внешние контуры участка. Но это некошерно делать веем так как границы довольно протяжённые и дублируются (граница между предприятием и больницей состоит из многих сегментов). Но если рисовать мультиполигон, т.е. выделить все элементы внешнего контура то приходится разбивать контуры зданий, выходящих на границу участка. В силу специфики участка, большая часть зданий как раз и формируют границу участков. В результате чего здания превращаются из веев в мультиполигоны. Соответственно 35 зданий пришлось порезать на мультиполигоны так как какая-то их часть формировало границу участка.

Какая отсюда мораль? Если стараться использовать мультиполигоны как средство более удобного средства построения границ (в данном случае разные объекты землепользования) то порой это приводит к резкому и необоснованному росту числа мультиполигонов на участке. Это не первый такой случай у меня в промзоне, хотя обычно число принудительно порезанных зданий редко превышало десяток.

P.S. Менее трагичный вариант - http://www.openstreetmap.org/browse/relation/1816344
Ради территории БЦ пришлось порезать на мультиполигоны 5 зданий. А теперь представьте себе более крупный и сложный участок.

Теперь понял. Сталкивался с этим. Вот - та же фигня. Приходится выбирать, что удобнее.

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

Есть мультиполигон. Куда вешать теги? На все (один) outer или на само отношение? Или и на outer-ы и на отношение?

То что относится к области (лес, residential, place) вешаем только на сам мультиполигон, а если что-то про линию (забор или речка как граница), то на неё.

С границы всякие natural=wood и landuse=* удалять всегда, даже если чужое :slight_smile:

Кстати, быстро выбрать мультиполигон по точке/линии можно по Shift-/ (Utilsplugin2).

А если это здание - бублик с дыркой? Вот реальный пример.

Я наприсовал здание и поставил адрес на мультиполигон. Пришёл пользователь Потлача, выбрал дом и увидел что адрес не задан.

Вот что видит пользователь Потлача в этом мультиполигоне. Адреса естественно у дома нет :slight_smile:

Sample

и поставил на outer адрес.

Вопрос - рассудите, кто прав - я, поставивший адрес на мультиполигон или пользователь поставивший адрес на внешний контур?

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

И JOSM выдаст кучу warnings по этому поводу :wink: Короче, попробуйте сами порисовать и поймёте что нифига не удобно :slight_smile: Я недавно делал такой мультиполигон, так была проблема выбрать все куски мультиполигона чтобы вызвать меню “Создать мультиполигон”. Все кусочки выделяешь по Shift - left mouse click и … почему-то схватывались не куски а выделялись именно дома (по точкам шли как котуры зданий так и куски предполагаемого мультиполигона). Кончилось тем что порезал вообще всё на мелкие куски и всё влёт прошло.

Если хочется совместимости с программами, плохо понимающиее мультиполигоны (кроме портача ещё nominatim не будет воспринимать адреса домов на отношениях) - то надо ставить на outer (если он один). Если же outer-ов несколько или же совместимость со старыми программами не сильно волнует, то теги области ставить на само отношение. Линейные теги (типа заборов) к мультиполигонам не применимы и должны оставаться на самих линиях в любом случае.

Насчёт лоскутного одеяла: я бы предложил интерфейс редактирования сделать как MS Paint: полигоном мы заливаем (или заливаем стирательную резинку, то есть делаем inner) отдельные участки между линиями. А линии сами режутся как надо.

Плагин relation toolbox конечно штука хорошая, но ею полигоны можно только создавать. Править - геморойно.

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

Reltoolboxom добавлять-удалять линии довольно удобно, особенно дырки вырезатью. Выделять замкнутый контур для создания мультиполигона можно по Shift-/ (если выделена одна из линий границы). Выделение мультиполигона по тыку внутрь пока никто не сделал - надо дописывать, это не трудно (хотя времени требует).

^^ Теги пусть остаются. История - как получится.

Я не понял, как можно добавить линию в уже построенное отношение в RT?