Трёхмерные здания в Mapnik

То есть это ошибка рисовалки? Или чего-то не хватает?

Выше про это упоминалось:

http://forum.openstreetmap.org/viewtopic.php?pid=217486#p217486

http://forum.openstreetmap.org/viewtopic.php?pid=217509#p217509

Так что или ждать, пока Котяра поменяет условие или описывать все соприкасающиеся дома через building:part, а не только одно.

Ага. Положим, есть цепочка соприкасающихся домов. Делим один из них на части - все соседние перестали отображаться. Ставим building:part на эти соседние - перестают отображаться соседние к соседним и т. д. В результате может получиться, что из-за деления одного дома на пару частей понадобится ставить дополнительный тег на десяток-другой близлежащих домов. Не дело это.

И ещё: есть ощущение, что building:part=yes+building:height=… на latlon в настоящий момент не отображаются (отрисовываются только building:part=yes+height=…).

Честно мне вообще не улыбается рисовать 3D таким методами :slight_smile:

Сообщаю, что новая схема рендеринга поломалась. Т.е. building:levels снова ренедрится на зданиях с building:part

У меня building, пересекающиеся с buiding:part, не прорисовываются.

а здесь уже нет:
http://openstreetmap.ru/map#layer=MZ&zoom=17&lat=60.008115&lon=30.25705
http://openstreetmap.ru/map#layer=MZ&zoom=17&lat=60.014888&lon=30.25032

Ну, это с самого начала. Я говорю о новой проблеме.

Danidin9, подобные багрепорты стоит сопровождать ссылками на конкретные места.

Насколько я вижу, это не рендеринг поломался, а deep125 поломал теги.

ОК.
http://www.openstreetmap.org/browse/relation/1736946/history
http://www.openstreetmap.org/browse/relation/2014247/history
http://www.openstreetmap.org/browse/relation/2014477/history
11 февраля некто deep125 ошибочно заменил все building:parts=vertical|horisontal на зданиях на building:part=vertical|horisontal. Всё рендерилось как надо.
Сегодня dinamik вернул building:parts, и похоже, после этого всё сломалось.
Вывод: ренедер понимает не building:parts=vertical|horisontal, а building:part ???

Вроде этот рендерер никогда и не использовал building:parts

Я начал заменять уже после того, как Вы написали об ошибках. Рендерер воспринимал building:part=vertical как building:part=yes и отрисовывал building:levels. Поэтому после замены building:part на building:parts, наоборот, должно починиться.

Полагаю, Вы не учли инерционность 3D-рендерера: он отрисовывает не то, что есть, а то, что было за какое-то время до этого (по ощущениям, задержка в обработке может занимать от нескольких дней до нескольких недель).

А, ну тогда отбой. Просто я не ожидал такой оперативности) Теперь ждём когда картинка перерисуется.

Komяpa, как я понимаю слой псевдо 3d на osm ru тот же, что и на latlon, Нельзя ли обновить его здесь: http://openstreetmap.ru/map#layer=MZ&zoom=17&lat=59.995252&lon=30.37657
Уже несколько дней это непотребство висит, пугает людей :slight_smile: То же самое почему то и на слое Космоснимки.
Если интересно, как это получается: замена геометрии с помощью utilsplugin2 в josm (Shift+Ctrl+G), затем заливка пакета правок кусками (по 100-200 объектов), из-за чего отдельные точки линии оказываются в разных кусках. Рендер начинает работу сразу после первого куска, но почему-то потом останавливается, и куски из конца пакета остаются необработанными. В итоге который раз наблюдаю, что часть данных рендерится буквально за секунды, а часть висит неделями, до тех пор, пока кто-то что-то не поправит в этом же районе.

Вдогонку, ещё пара вопросов к Dinamik-у и всем понимающим про building:parts.

  1. У нас есть здание из 3 секций, этажность слева направо 5-3-7. Мапим, разрезая по горизонтали. Нижний слой - 3 этажа по всей площади. Далее, кусок с 4 по 5 этаж слева и с 4 по 7 справа. Является ли такая схема building:parts=horisontal , или это building:parts=mixed ?
    Немного изменим задачу. Теперь слева направо этажность 5-3-5 Снова режем по горизонтали. Нижний кусок тот же. Слева и справа два куска (отдельно) с 4 по 5 этаж. Вопрос тот же: является ли такая схема building:parts=horisontal или building:parts=mixed ? Поясню: building:parts=horisontal будет точно, если делать не два куска с 4 по 5 этажи, а один мультиполигон из 2 outer (т.е весь слой здания с 4 по 5 этажи, как один объект)
  2. На здании, разрезанном по вертикали по границам разноэтажных секций, на одной из секций наверху есть маленькая декоративная надстройка, отмеченная отдельным Building:part. Для простоты предположим, что надстройка, будучи ненарисованной, не изменяет общую этажность и высоту, и почти не изменяет облик здания.
    Достаточно ли это для того, чтобы прописывать Building:parts=mixed всему зданию (насколько я понял, такой вариант менее предпочтителен, чем building:parts=vertical). Или этим можно пренебречь ради блага для рендеринга и оставить building:parts=vertical

Я так понимаю сейчас building:parts=* не используется никем и ничем, так что, на усмотрение мапера.

Про bulding:part=*: если building имеет общие точки с building:part - то он не рендерится в 3d котяриным стилем, если только на нем не стоит еще и building:part. Как в отсальных 3d рендерах - не знаю.

Про 5-3-5, когда вы создаете мультиполигон с двумя замкнутыми, не пересекающимися оутерами, Бог убивает котенка! Спасите котят.

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

По поводу котят: заметьте, я вообще не говорил что так можно или следует делать, в тексте это было лишь пояснение к 5-3-5. Хотя, признаюсь, грешен, и даже очень: http://www.openstreetmap.org/browse/relation/1830442
Наверное лучше было сделать 17 одинаковых маленьких мультиполигончиков из двух линий каждый :wink:

Странно, по чему то некоторые здания рендерятся, а некоторые не хотят, хотя этажность проставлена http://latlon.org/buildings?zoom=17&lat=61.26236&lon=73.37892&layers=BT

На данном куске карты не нашёл ни одного дома, где бы этажность стояла, но не рисовалась.

Если и продолжать этот разговор то тут http://forum.openstreetmap.org/viewtopic.php?id=14118