Клуб Народной карты

Как рисовать разновысотные части здания?

Вопрос простой: как рисовать части здания с разными высотами, в одном контуре или в разных? В правиле 4.1.5.1 подробно расписано как такие здания рисовать, но не сказано (либо я слепой), следует ли контур одного здания включать в контур другого здания? Картинка в правилах как бы показывает, что одну часть здания нужно отделять от другой, но не прописано это.

Для примера:

Лично я вырезал один контур от другого так. чтобы они касались. но не находились друг в друге. Так как надо правильно? Как с башней или как с двумя примерами выше?

А заодно, посмотрите мою правку, чтобы понять более подробно о чём я толкую.

33 комментария
Мне кажется, допускать пересечения контуров или нет - вопрос непринципиальный, покуда на схеме оба варианта отображаются корректно. 
Обновлено 20 марта 2017, 12:38
Αλέξις ο Μέγας
20 марта 2017, 12:47
Alexxegorov,
А как дела в Яндекс.Картах?
Αλέξις ο Μέγας,
я полагаю, что примерно схоже. В любом случае конечный результат нужно перепроверить потом после публикации на Яндекс.Карте.
Alexxegorov,
А по-моему, вопрос очень даже принципиальный. Если здание отрисовано непересекающимися контурами, то адресная точка лежит только внутри одного контура, а другие остаются как бы без адреса. Также некоторые подъезды оказываются на "безадресных" контурах. На мой вопрос, как в таких случаях происходит ассоциация контуров и подъездов с адресом, никто из сотрудников яндекса не ответил. Поэтому вы сейчас делаете, как "непринципиально", а потом объявят неделю объединения контуров.
Alexey Z,
когда объявят, тогда и будем обсуждать :) Я исхожу из текущей ситуации, когда нет единой сущности "здание", есть только отдельные футпринты и адресный точки. Ни у меня, ни у других пользователей, нет достаточных оснований рисовать как-то иначе, исходя только из вашего предположения о том, как ситуация может измениться в будущем .
Αλέξις ο Μέγας
20 марта 2017, 15:35
Alexxegorov,
Этот вопрос может быть решаем, как уже с имеющимися контурами территорий. Делать групповое соединение зданий. Мол, вы сначала нажимаете на здание - выбирается весь этот «комплекс футпринтов», далее в панеле инструментов появляется значок «выбрать контур» (знакомо?) и далее выбираете конкретный футпринт - редактируйте только его. В противном случае - адрес, подъезд и организации магнитятся к «группе». По-моему такой выход решал бы проблему.
Αλέξις ο Μέγας
20 марта 2017, 15:36
Alexxegorov,
А движку дать команду - любые пересечения полигонов (стыки, наложение) считать такой «группой».
Αλέξις ο Μέγας,
есть множество способов как это может быть реализовано. Именно поэтому бессмысленно обсуждать как следует рисовать здания, исходя из этой идеи.
Сейчас не определяется или неверно определяется адрес с помощью пункта контекстного меню "Что здесь?" вплоть до неправильного названия улицы, которая просто оказалась ближе к конкретной части здания. По-моему, такая ситуация делает вопрос о том, как используемые нами способы рисования способствуют/не способствуют выполнению сервисом его основного назначения , вполне законным.
Сергей Ливерко
20 марта 2017, 12:55
В Клубе писали, что артефакты отображения случаются, когда два здания имеют общий внешний фасад - в таком случае надо вырезать одно из другого, вот так, например


В остальных случаях лучше не вырезать, т. к. это затрудняет правки: при уточнении геометрии одного из внутренних контуров приходится синхронно править и примыкающие, чтобы не образовалось зазоров и наложений.
Обновлено 20 марта 2017, 12:58
Αλέξις ο Μέγας
20 марта 2017, 13:28
Сергей Ливерко,
В остальных случаях - это имеется ввиду на обратной стороне? Я понял, что карта в 3D, то есть в будущем, если вдруг, когда-нибудь реализуют возможность поворота карты как в 2ГИСе и смотреть здания под другими углами, то такие здания окажутся серьёзной проблемой. Можете показать мне, чтоб я понял, как выглядят такие артефакты отображения с общим фасадом??
Сергей Ливерко
20 марта 2017, 14:13
Αλέξις ο Μέγας,
В остальных случаях - это как в примере с Октябрьской телебашней по ссылке из вашего поста. Вот там необходимости в вырезке и превращении полигонов в "колечки" нет никакой.


Возможность поворота уже реализована в мобильной версии карт, так что здания смотреть со всех сторон можно ;)


Пример с артефактом: https://yadi.sk/i/lsZdzwNOzBZx9
Αλέξις ο Μέγας
20 марта 2017, 15:39
Сергей Ливерко,
Ага, понял. Ну, можно зделать некое правило, чтобы любой контур выше другого вложенного в него рисовался исключительно по стыку с низшим. В таком случае низший можно рисовать во весь контур с высшим (а не кусок на юге, как указано на скриншоте).
Может для таких сложных объектов проще создавать 3d модели?
ekbmap,
создать 3D модель в любом случае не проще.
Αλέξις ο Μέγας
20 марта 2017, 13:54
ekbmap,
а как?
Αλέξις ο Μέγας,
Конечно я имел ввиду сложные объекты,  вроде теле башни. Однажды нарисовал модель церкви в скетчапе и отправил в яндекс. Они рассмотрели и приняли. Потом поставили на карту
Обновлено 20 марта 2017, 14:12
☭Okclick,
Присоединяюсь. Именно так я и делал. Спасибо 
Αλέξις ο Μέγας
20 марта 2017, 15:40
☭Okclick,
Спасибо за информацию. Эх, жаль не рисовал никогда здания в 3D в формате KMZ, мне проще рисовать монстров на карте.
Фёдор Рогозин
20 марта 2017, 14:14
А если восьми подъездный пятиэтажный дом расположен на сопке, и каждый подъезд на 3-5 метров ниже другого, но каждый подъезд всё равно в пять этажей, то как рисовать? Фактически между 1 и последним подъездом разница составляет почти столько же метров, сколько и высота пятиэтажки!
Фёдор Рогозин,
карта в принципе не оперирует высотой рельефа. С точки зрения карты, все объекты находятся на одной высоте. Поэтому отражать перепад отдельных секций зданий никак не нужно.
А вот если этажность здания отличается с разных сторон в силу рельефа, то на этот случай есть правило
"Если здание расположено на склоне и имеет разную высоту с разных сторон, то указывается высота со стороны основного фасада. Если выделить основной фасад не удаётся, то указывается меньшая из высот здания."
Олег Чечулин
20 марта 2017, 18:57
Alexxegorov,
А если меньшая высота нулевая? :) То есть, здание в профиль выглядит как прямоугольный треугольник с гипотенузой вдоль склона?
Олег Чечулин,
если задняя сторона скошена на склоне, то очевидно, у здания есть основной фасад спереди (тыльной стороны, считай, нет, две боковые стороны уже не основные, потому что скошены). Значит выставляем высоту по основному фасаду строго в соответствии с правилом.
Олег Павлович Чечулин
21 марта 2017, 04:20
Alexxegorov,
скошенный фасад вполне может быть основным :)
Например, какую высоту нужно задавать у этого дома https://yandex.ru/maps/-/C6EvRO9j ? :) С одной стороны основного фасада - 9 этажей, а с другой - все 11 :)
Олег Павлович Чечулин,
9. По-моему логика правила вполне прозрачна.
Как верно отметили выше, проблемы с отображением могут возникнуть, если два контура имеют общий фасад. Здание со ступеньками как раз попадает в эту категорию, если его нарисовать с наложением, так что Ваш способ отрисовки - единственно верный. В остальном можно комбинировать контуры как угодно, лишь бы на схеме выглядело правильно.
Специально делать дырку в середине контура имеет смысл только под вписанный контур меньшей высоты, чтобы его было видно, в противном случае это пустая трата времени.
Не обязательно даже в точности стыковать границы контуров разной высоты. Я иногда спрямляю границу, скрытую под более высоким зданием, как здесь или здесь. Можно накладывать вот так крест-накрест. Как угодно! Всё отображается корректно, как в Народной, так и в Я.Картах.
Αλέξις ο Μέγας
20 марта 2017, 15:55
☭Okclick,
Но артефакта не будет, если спрятать стенки вовнутрь.
Αλέξις ο Μέγας,
не будет, но в данном случае нет резона так делать. Проще и правильнее нарисовать крайние контуры встык, как было изначально.
Дмитрий М.
20 марта 2017, 14:56
А я тут нашёл место, где сотрудник Яндекса нарисовал несколько 15-метровых кубиков внутри 27-метрового здания, 27-метровые кубики внутри 27-метрового и так целый квартал. Кто-нибудь может объяснить, зачем, если в выгрузку оно не попадает и не видится глазами?
Комментарий удалён
Дмитрий М.
20 марта 2017, 19:15
Манъ,
ЕМНИП ник был что-то типа - yndx-familia