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

в полдень - исчезают?

Смотрел на творчество и ржал. :smiley:

А крыши будут выделяться? Сейчас в в случаях, чуть более сложных чем тривиальный параллелепипед, непонятно, где крыша, а где стены.

Двачую. Каша начинается, когда здания ориентированы по сторонам света:

http://latlon.org/buildings?zoom=16&lat=45.05889&lon=38.95501&layers=BT

Вот баг: два куска здания сделаны разными объектами, каждый со своей этажностью, они объединены мультиполигоном для того, чтобы их подписать вместе, но получается бред:
http://latlon.org/buildings?zoom=17&lat=55.02911&lon=82.92693&layers=BT (БЦ Сарэт)
все куски нарисованы с максимальной этажностью, и в ней есть “срез” на уровне где верх низкой части.

Не нужно использовать мультиполигон только для того чтобы подписывать здания. Они предназначены для сложной геометрии, а не для адресации. osm2pgsql конвертирует отношение multipolygon в один большой полигон сложной формы. Естественно, что высота у такого полигона повсюду одна и та же.

Я бы сказал больше: теги, предназначенные для зданий (building=*), надо вешать на здания, а не на какие-то их куски.

Вообще это удивительно, как люди, целыми днями твердящие друг другу “do not tag for renderer”, увидев новый рендерер, тут же бросились всё под него тежить, нарушая при этом существующие модели данных.

Дык красиво же получается! :slight_smile:

а если серьезно, то вроде же параметры levels, min_level, height, min_height нормально укладываются в существующую модель (вон даже пропозал есть).

levels, min_level, height, min_height укладываются, а building=* - нет. Он используется для другого, причём уже давно.

Надо записать best practice в вики.

Как нарисовать и оттежить здание имеющее елементы разной этажности.

даже levels не укладывается. он предназначен для указания количества этажей в здании. а не в рендеримом контуре
в итоге по результатам этой ветки в дампах уже появилось хренова туча мусора никак не соотносящегося с понятием “карта” :frowning:

+1 “В как обозначить?” приведите кто-нибудь пример, озадачился домик прорисовать сложной формы с арками и одним адресом (простейший случай с полигонами с общими границами), но устоявшейся best practice не нашел.

А ведь я говорил в канале про мусор, но кто ж слушает, когда “красиво”. Да и ничего особо красивого там нет, серые коробки.

Кому не нравится, тот не рисует :slight_smile: Лично мне - помогает. Теперь можно отличить одноэтажный протяжённое здание магазина от 25-этажной пластины. В районах, которые ты не знаешь “как свои пять” помогает при ориентировании.

Вот пример от Гугла - http://maps.google.ru/?ie=UTF8&ll=40.705693,-74.008734&spn=0.005563,0.009645&z=17

а вам не кажется, что не стоит мешать понятие “for fun” с внесением мусора в базу?

хреновый пример. в гугле оно ниразу не в общей базе храниться. каждое здание - отдельная модель. а не екстенд из контура

Это не мусор. Это данные, причём вполне соответствующие действительности. Если вам они мешают - предложите способ тегирования, который вам позволит их легко и просто отфильтровывать. И все будут счастливы.

А почему информация об этажности это мусор на карте?

В текущем варианте - не соответствующие.

Дык кто использует, тот пускай и предлагает. Но почему-то вместо того, чтобы придумать новые теги, используют building.

А про засирание базы вопрос отдельный. И, к сожалению, плохо решаемый. Но это не значит, что его нет :slight_smile:

Информация об этажности - это не мусор. Мусор - это результат попыток изобразить 3д-модели зданий не подходящими для этого средствами.