Не рендерятся острова в Онежском озере

Пример — район о. Кижи: http://www.openstreetmap.org/?lat=62.0608&lon=35.2464&zoom=12&layers=M
Что не так с тегами, объясните пожалуйста? Виноват ли “natural=coastline”?

Да, costline перерисовывается мапником каждые несколько недель.

Ок. А в таком случае, coastline не конфликтует логически с обозначением озера мультиполигоном?

В этом противоречии тегов как раз и кроется суть проблемы. Удалил с объектов natural=coastline.

asphyx, все линии с natural=coastline выбрасываются из ежеминутной обработки.

Боюсь, что там такая ситуация не из-за natural=coastline.

Изначально, до пояления проблемы Онежское озеро и острова в нем были сделаны мультиполигоном без коастлайнов. Если учесть что фактически островов в озере более тысячи, думаю не лучшее решение (нарисовано и было в мультиполигоне пока гораздо меньше).
После редактирования о. Кижи он тут же “утонул”. Думал может что в полигоне порушил, скачал всех участников - по виду целый мультиполигон.
Опытным путем выянилось что любое изменение внутренего участника (острова) “топит” его. Причём не обязательно геометрии, достаточно даже добавления тега name. Вот так Кижский архипеллаг и утонул.

Впоследствии были предприняты попытки это исправить добавлением natural=coastline. Так что тег там появился после проблемы.

PS. Вот уже “починили” добавив Natural=wood на все острова. Только вот на самом деле, на островах леса то почти нет.

а place=island/islet у вас на островах проставлен?

на Ладоге какой-то неуемный тип, причем вроде как “неместный”, эти теги с островов поснимал как-то раз. На мой недоуменный вопрос, “зачем?” он что-то насчет их лишности меня прогрузил. Вникать тогда не стал.

Теперь стоят. Хотя странно. Мне казалось, что эти теги раньше там были…

В описании одной из правок есть “обоснование”, для чего на острова был навешен coastline:
http://www.openstreetmap.org/browse/changeset/8447760
Пошел посмотреть, чего же там такого хорошего сделано на Байкале. А там вообще каша из всего стразу. Берега и острова - natural=coastline. Но все это еще и в мультиполигон засунуто с тегом natural=water. :roll_eyes:

Вообще-то, http://wiki.openstreetmap.org/wiki/Map_Features говорит, что острова должны иметь natural=land. Вдобавок, вопросы о нерендерящихся в Mapnik островах гуглятся. В принципе логично, но странно с точки зрения известных мне алгоритмов растеризации, поскольку, когда растеризуется полигон с дыркой, на месте дырки должен тупо остаться фон.

// острова должны иметь natural=land

устаревшая схема

Правка моя была.
Побудительные мотивы - онего глючит при отрисовке в navit (при отрирсовке вырезки RU-KAR с gis-lab - разливается, при отрисовке RU - становится сушей).
Ладогу и Байкал (сопоставимые по площади) - нет.
Ладога нарисована как natural:coastline (и внешняя граница и острова), без мультиполигонов.
Байкал нарисован мультиполигоном с natural:water и раздачей элементам (опять внешней границе и островам) natural:coastline.

Вопрос - есть ли смысл извращаться и Героически Изобретать Велосипед (который не ездит ни там ни там), когда есть минимум две работающих схемы?

Далее, http://wiki.openstreetmap.org/wiki/Tag:natural%3Dwater

How to use
This tag can be placed on an area (i.e. a closed way) for a simple lake, or it can be placed on a Relation:multipolygon if the lake either contains islands or has a large coastline (but not big enough for natural=coastline).

Related tags
natural=coastline is used for ocean coastlines, and perhaps the borders of **large lakes (coastline bigger than 1000 points). **

Т.е. natural:water может используется для озер, которые не дотягивают до того, что бы им ставить natural:coastline.
А natural:coastline допускается (рекомендуется?) для озёр с береговой линией более 1000 точек.
Онего, между прочим, второе в Европе и точек там больше 9000 18267 штук.
В общем, по канонам coastline тоже выглядит логичнее.

Не совсем понял, какие две? Если есть coastline, то мультиполигоны избыточны, и наоборот. Разве что ради какого-то софта, который поддерживает только одну схему.

  1. Coastline без мультиполигона (Ладога)
  2. Мультиполигон water и coastline для членов (Байкал)

А хотя бы и ради софта (хотя здесь я вижу стоны, что вполне нативный osm renderer лажает).
Кому мешают теги на членах мультиполигона?
Так ли нужно конкретно Онего делать мультиполигоном?

Во-первых, помним, что у костлайнов важно направление линии.
Во-вторых, помним, что костлайны в большинстве софта рендерятся/обрабатываются вне основной цепочки (Mapnik - отдельные шейпы раз в месяц, Osmarender - отдельный набор данных, земля или вода в тайлах…)
В-третьих, мультиполигон может оказаться неудачно разрезанным. ИМХО, это проблема нарезчика и должна быть исправлена в нём.

Ну так это не две разные схемы, а использование одной в одном месте и двух в другом. А две схемы на одном объекте могут конфликтовать.

Лично я за то, чтобы большие озёра делать через coastline. Но кого-то может не устроить задержка обновлений в месяцы.

Да, это было одной из причин, по которой я и переделал Онегу в мультиполигон. Изначальным же мотивом стало желание привести в порядок обсуждаемый объект, т.к. бардак присутствовал на нем перманентный.

Теперь еще пару слов за мультиполигоны.
На мой взгляд, самое важное свойство у схемы с мультиполигоном является ее существенно большая “дуракоусточивось”, чем у костлайнов. Добавив в отношение даже совсем обестэженный внутренний объект он все-равно проявится островом. Не нужно следить за направлением береговой линии. Схема прощает разрывы в берегах, соединяя прямой крайние точки. И наконец - возможность задания других локальных свойств объекта тегами natural=*.

А костлайны с завидной регулярностью приходится править. То где-то дырка. То не в ту сторону закручено, что вокруге все затопляется. То посреди всего стоит “секретный” остров, который никто не видит.

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

К сожалению, ровно наоборот.

Схема ничего этого не прощает, прощает один конкретный конвертер

К сожалению это была плохая идея, так как Онего теперь не рендерится в мелком масштабе
Необходимо переделать его обратно в coastline

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

А то находятся любители рисовать острова с костлайнами, внутри рек или озёр natural=water, а потом полстраны на картах и сборках навигаторов затопленная.