Как делать сложные дома с многуровневой этажностью,деталями на крышах?

Я так и не смог разобраться с отношениями. Как их делать я не понял. Но похоже, что и так все работает нормально. Делаю так:
1)Рисую дом. Даю дому теги:
building=apartments
building:part=base
building:levels=1
2)Рисую объект, который должен стать надстройкой на крыше. Его теги:
building=service
building:part=yes
building:levels=2
building:min_level=1

В f4map и Kendzi3D модели домов с моими надстройками на крышах выглядят корректно и в целом это меня устраивает. Теоретически это не очень правильно, потому что каждый раз выскакивает предупреждение “здание внутри другого здания”, но на практике это не мешает 3D-визуализаторам правильно интерпретировать мою задумку.
Корпуса, относящиеся к одному зданию, но с разным количеством этажей, просто делаю отдельными домами. Разве что соприкасающиеся точки прикрепляю нажатием клавиш N и M. Адрес и пр. информация для навигации вешаю только на один корпус, чтобы не было дублирования адресов при поиске.

Должно быть как-то так:
1)Рисую дом. Даю дому теги:
building=apartments
building:part=base
building:parts=yes
building:levels=1
2)Рисую объект, который должен стать надстройкой на крыше. Его теги:
building=service
building:part=yes
building:levels=2
building:min_level=1

Alex18356, а почитайте, пожалуйста, почту, которую вы указали при регистрации в OSM ))

Спасибо, работает теперь без предупреждений редактора! Вот так все просто, и не пришлось отношения изучать

Только должно быть в единственном числе:
building:part=yes

Для надстройки на крыше можно также
building:part=service

Alex18356,

Если делаете сложное здание из нескольких частей, то только контур здания имеет тег building.
Части здания имеют тег building:part=yes.

Если контур здания используется также для как часть здания, то имеет как тег building, так и тег building:part=yes.

Нет, parts=yes означает, что здание составное.

Не пугайте новичков отвергнутыми тегами.

Тег building:parts=yes (s на конце) был отвергнут:
http://wiki.openstreetmap.org/wiki/Talk:Proposed_features/building:parts

Действительно, тогда прав.

Проверьте пожалуйста корректность

http://www.openstreetmap.org/way/56758664

Для крайней правой части этого здания вы не сделали building:part=yes

Use building:part=yes for parts of the building which only have different attributes (building:levels=* and height=*). Use building:part=(type of building) for parts of the building which have a different function and possibly attributes (e.g. building:part=roof or building:part=retail).

Как я понял, building:yes c максимальной высотой по всему контуру здания. Это габариты и общие теги. building:part на меньшие и отличающиеся части
Нет?

хотя нет. Kandzi 3d рисует это большой коробкой. Значит контуры обозначаем building:yes, остальные части building:part с заполнением высоты

Основная статья: Simple 3D Buildings

Таким образом, на контуре здания необходимо указать максимальную этажность. Эту максимальную этажность могут использовать 2D-рендереры, которые не понимают building:part, чтобы нарисовать высоты всего здания в виде тени.

Действительно, Kendzi 3D имеет такое неудобство. Попробуйте указать максимальную этажность на контуре здания непосредственно перед отправкой данных на сервер.

Что насчет лестниц? Их рисовать вручную блоками?
Лестницы на храме христа спасителя нарисованы именно так, каждая ступенька отдельно

кроме спичек больше ничего не дано.
буилдинг формата крыша=лестница, я думаю, зарубят на корню как слишком явную глупость.

Пытаюсь рисовать
http://demo.f4map.com/#lat=56.8439251&lon=53.2017256&zoom=20&camera.theta=63.392&camera.phi=-47.785
Эта штука не проставляет двери, поставленные на building:part. А если поставить на основной контур - это будет некорректно
https://www.openstreetmap.org/node/5121341792#map=19/56.84395/53.20141

Это уже проблемы веб-программы для рендеринга (f4map), а не корректности ввода данных в OSM. Может исправят когда-нибудь. f4map разве вообще отображает двери? kendzi3d-да, а вот эта веб-программа нигде не показала мне двери, которые я ставил (кстати, обязательно ставлю расположение подъездов тегом entrance=staircase в многоквартирных зданиях, если знаю, где они находятся. И вам советую)
Я вообще-то тыкаю building:part=yes (без building=yes) на те части здания, которые находятся внутри основного контура здания (надстройки на крышах-технические помещения лифтовых шахт, башенки и пр.), а на здания, которые просто состоят из корпусов разной этажности, но не пересекают контуры друг друга, ставлю оба тега: building=yes и building:part=yes. Потому что когда не ставил building=yes на чатсь здания, она не отображалась в f4map. Чтобы указать, с какого этажа начинается надстройка (т.е. обрезать снизу лишнее, чтобы оно не проваливалось в здание), использую building:min_level. Вообще использую только building:levels для добавления третьего измерения чертежам зданий, height для зданий не использую, потому что очень легко подсчитать количество этажей визуально, а для building:height не понимаю, где брать информацию, ведь это по сути точная высота в метрах?
Пример в 3D- http://demo.f4map.com/#lat=55.8647289&lon=37.1159621&zoom=19&camera.theta=66.249&camera.phi=-140.351
Редактор- https://www.openstreetmap.org/edit#map=17/55.86502/37.11577

P.S. Часть здания, которой нет на спутниковых картах, на самом деле существует.

Неправильно же. building должен быть один и охватывать все building:part. У вас получаются куски без адресов.
Вот примеры правильного
https://www.openstreetmap.org/way/211106686#map=19/55.75022/37.78891&layers=D - через мультиполигоны
https://www.openstreetmap.org/way/89345986#map=18/55.79505/37.97333 - через обычные полигоны

Оу! Теперь понятно, спасибо! Значит надо вначале обвести весь контур здания со всеми его частями, дав тег building=yes, а уже потом по этому контуру обводить его части, создавая новые контуры для каждой части здания в пределах главного контура, давая этим частям теги building:part!!! Блин, сколько теперь править придется :roll_eyes: :roll_eyes: :roll_eyes: