Felis Pimeja, снова благодарю за подсказку
Если правильно понимаю, для каждого элемента рисуется контур со своими тегами. Контуры могут накладываться друг на друга (по рёбрам, имея общие точки-узлы), отношений создавать никаких не надо, а должен быть всеобъемлющий контур с тегом building=yes (на нём же теги имени, адреса и проч.)
Не обязательно. Это заточка под f4. Даёт рендеру понять, что контур building не нужно визуализировать. На нём ведь могут стоять теги building:height и building:levels, а им следует проставлять максимальные значения. И тогда он должен быть показан единым объёмом закрывающим всё. В целом это не противоречит текущей схеме тегирования, а скорее даже хорошо её дополняет. Вероятно логическая необходимость в этом костыле отпадёт если начать собирать здания отношениями type=building.
Да, height в метрах. Это общая рекомендация для единиц измерения в OSM. building:levels в этажах в общем случае сработает. На сколько я знаю его поддерживают все имеющиеся 3D рендеры. Но надо поминть, что по текущей схеме height является приоритетным перед building:levels.
В целом, мы не рисуем под рендер :). А в частности - кому что больше нравится.
Присоединяюсь к вопросу. Откуда это взялось и что это даёт? Мне кажется, этот тег не вполне корректен. building:part=уes ставится вместо building=yes там, где речь идёт о части здания, а не о целом строении. Можно поставить, например, building:part=aparments. building:part=no - это практически building=no, но отнесённое к части здания.
height в метрах, либо нужно явно проставить единицу измерения. building:levels тоже должно работать, но в этом случае результат может зависеть от того, какая высота принимается для этажа по умолчанию в рендере и насколько это соответствует конкретному зданию.
Лучше корректно рисовать то, что есть в действительности;). Правильно затегированные здания корректно работающим рендером должны рисоваться одинаково.
P. S. http://www.mapsurfer.net, кажись, не работает, причём давно.
P.P.S. Начал набирать своё сообщение ещё до ответа Felis Pimeja.
3D-рендеры не должны рисовать building=yes, внутри которого есть building:part (Simple 3D Buildings: “Note that if a building=* contains at least one area tagged as building:part=*, the building outline is no longer considered for volume rendering”). Насколько я вижу, f4 придерживается этого правила. Для того, чтобы показать, что здание делится на части и каким образом это происходит, можно использовать тег building:parts.
А-а-а… Всё-таки это оно. Я натыкался на эту ссылку, но т. к. никакого особого работающего 3D там не заметил, подумал, что это другой проект. Теперь заметил, что параллелепипеды с указанной высотой там обрабатываются. Но этого, м-м-м, маловато.
С точки зрения геометрии, указание того, горизонтальными или вертикальными сечениями образована фигура, являющаяся суммой прямых призм с основанием произвольной формы, совершенно бессмысленно и вторично.
Для ее описания достаточно описаний формы оснований, величины высоты каждой призмы и величины смещения основания относительно уровня земли.
А ценность такого указания может быть только для движка отрисовки в определенной реализации.
Вы можете привести пример объёмной отрисовки на f4 тегов с контура building при наличии внутри него корректно прорисованных building:part?
Сейчас здание затегировано неверно, т. к. полигон building не охватывает целиком все building:parts внутри его (например, этот building:part вылезает за пределы building). 3D Buildings: “The building outline is represented as an area tagged with building=*. It’s the area covered by any part of the building”.
Действительно, нынешняя схема тэгирования не предполагает building:part, выходящих за пределы building.
Для чего так сделано - понятно: спрятать стилобат от обычных рендеров и показать на трехмерных, но f4 ясно пишет: building:part not fully included in a building are ignored.
Пока действует спецификация http://wiki.openstreetmap.org/wiki/Simple_3D_Buildings это правомерно, так как там значится: The building outline is represented as an area tagged with building=. It’s the area covered by any part of the building.*
Так что ЖК “Парус” отображается верно.
Пока, для зданий со стилобатом, которые становятся все более популярны у строителей дорого жилья (т.к. это легкий способ не связываться с подземными этажами и изолировать территорию без геморройного с юридической точки зрения огораживания земли забором), не существует удобного способа показать только их основную часть на обычных рендерах.
Если Вы про 6к1, то на его полигоне building сейчас стоят теги building:levels=12 и building:part=yes, хотя здание должно иметь building:levels=18, т. к. существует часть здания с высотой 18 этажей. В настоящий момент это здание оттегировано неверно.
Я утверждаю, что, согласно моим наблюдениям, если f4 видит этажность/высоту на полигоне building при наличии внутри этого building корректных имеющих building:part - полигонов, он не прорисовывает этажность/высоту с полигона building, а корректно прорисовывает эти параметры с полигонов building:part без всяких building:part=no на полигоне building.
P. S. Не понимаю, что должен обозначать этот пустой полигон.
У Вас здание составлено из отрезков, входящих в отношение с ролью outline, а должны входить с ролью outer. Также у Вас используется мультиполигон, имеющий в составе 4 отрезка с ролью outer. Если эти отрезки являются частями здания, они должны быть либо заданы мультиполигонами type=multipolygon + building:part=yes с одной внешней линией (не состоящие из одного отрезка, а имеющие один внешний контур) каждый (при этом отрезки входят с ролью outer либо inner). Эта часть здания тоже состоит из отрезков с ролью outline, а не outer.
suslikk, вот тут неправильно.
Надо разбить на 4 отдельных объекта. Множественные outer у мультиполигона, в общем случае, - это неправильно (к тому же ни один из 3d рендеров их в таком виде не отображает).
И теги у них будут если я правильно понял:
type = multipolygon
building:part = yes
height=56
min_height=50
roof:shape=flat