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

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

Алекс Грэйт
20 марта, 12:27

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

Для примера:

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

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

33 комментария
Подписаться на комментарии к посту
Мне кажется, допускать пересечения контуров или нет - вопрос непринципиальный, покуда на схеме оба варианта отображаются корректно. 
Обновлено 20 марта, 12:38
Алекс Грэйт
20 марта, 12:47
Alexxegorov,
А как дела в Яндекс.Картах?
Алекс Грэйт,
я полагаю, что примерно схоже. В любом случае конечный результат нужно перепроверить потом после публикации на Яндекс.Карте.
Alexxegorov,
А по-моему, вопрос очень даже принципиальный. Если здание отрисовано непересекающимися контурами, то адресная точка лежит только внутри одного контура, а другие остаются как бы без адреса. Также некоторые подъезды оказываются на "безадресных" контурах. На мой вопрос, как в таких случаях происходит ассоциация контуров и подъездов с адресом, никто из сотрудников яндекса не ответил. Поэтому вы сейчас делаете, как "непринципиально", а потом объявят неделю объединения контуров.
a-zakh,
когда объявят, тогда и будем обсуждать :) Я исхожу из текущей ситуации, когда нет единой сущности "здание", есть только отдельные футпринты и адресный точки. Ни у меня, ни у других пользователей, нет достаточных оснований рисовать как-то иначе, исходя только из вашего предположения о том, как ситуация может измениться в будущем .
Алекс Грэйт
20 марта, 15:35
Alexxegorov,
Этот вопрос может быть решаем, как уже с имеющимися контурами территорий. Делать групповое соединение зданий. Мол, вы сначала нажимаете на здание - выбирается весь этот «комплекс футпринтов», далее в панеле инструментов появляется значок «выбрать контур» (знакомо?) и далее выбираете конкретный футпринт - редактируйте только его. В противном случае - адрес, подъезд и организации магнитятся к «группе». По-моему такой выход решал бы проблему.
Алекс Грэйт
20 марта, 15:36
Alexxegorov,
А движку дать команду - любые пересечения полигонов (стыки, наложение) считать такой «группой».
Алекс Грэйт,
есть множество способов как это может быть реализовано. Именно поэтому бессмысленно обсуждать как следует рисовать здания, исходя из этой идеи.
Сейчас не определяется или неверно определяется адрес с помощью пункта контекстного меню "Что здесь?" вплоть до неправильного названия улицы, которая просто оказалась ближе к конкретной части здания. По-моему, такая ситуация делает вопрос о том, как используемые нами способы рисования способствуют/не способствуют выполнению сервисом его основного назначения , вполне законным.
Сергей Ливерко
20 марта, 12:58
В Клубе писали, что артефакты отображения случаются, когда два здания имеют общий внешний фасад - в таком случае надо вырезать одно из другого, вот так, например


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


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


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