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

Dimamik:
Прежде всего спасибо, что заметили ошибку с названием. Это я, видимо, после борьбы с consrtructivizm и прочими -измами не доверяю букве з :slight_smile: Уже пошёл исправлять.
По поводу building:parts=horizontal : согласен, раз только горизонтальные “срезы”, пусть будет horizontal везде, вне зависимости от их конфигурации срезов.
По поводу маленьких частей - тоже проскакивала такая мысль отмечать их особым способом. Но второстепенные части бывают разными (крылечки, арки, крыши, балконы, надстройки разного рода), это тоже как-то стоит отмечать. И логичнее всего обозначать как раз в теге building:part. Так что нужен либо набор исключений, либо набор названий “основных частей”. Либо какой-то другой способ отфтльтровывания таких частей. Возможно, просто по наличию у building:part building:min_level/min_height.

Komяpa
А дождемся ли, чтобы вот здесь дома перерендились (с 11 марта так)?
http://latlon.org/buildings?zoom=16&lat=59.9966&lon=30.37904&layers=BT
Некоторые дома в том же районе (тех же рук дело :slight_smile: ) не желают рендерится, причем, они явно “зависли”,
а нарисованные рядом вновь - нормально рендерятся.

===
И дополнительно отмечу, что дом, стоящий ЗА трубой (man_made=chimney) всегда рисуется ПОВЕРХ трубы, т.е. похоже, сначала рендерятся трубы, а потом уже поверх - дома. (пример есть по той же ссылке)
Не знаю, как там на самом деле устроено, но на первый взгляд казалось бы, что трубы должны рисоваться в одной очереди с building, в той же последовательности.

AlexTheTux: Komяpa ответил мне в личной переписке, дословно:

min_level и min_height не подходит, т. к. может иметься многоэтажный дом с аркой на уровне нижних этажей.

Мне кажется, что можно сделать так, что, с одной стороны, будет понятно, поддержки какого минимального набора исключений следует требовать от программного обеспечения, с другой - можно будет свободно расширять классификацию “незначительных деталей”. Если незначительные детали обозначать по схеме building:part=тег_для_незначительной_детали+незначительная_деталь=тип_незначительной детали, можно будет сказать “отрисовывайте всё, кроме building:part=тег_для_незначительной_детали” и обозначать тег_для_незначительной_детали=балкон/антенна/маленький_выступ и т. д.

Например, building:part=small_part+small_part=balcony.

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

Не говорите, плиз, за все навигаторы и все конвертеры. В вашем конвертере - пусть отбрасывается, на здоровье. А если кого не устроят убогие прямоугольники псевдо-3D, иногда полностью не соответствующие узнаваемой форме зданий - те могут захотеть таки полнее использовать возможности, предоставляемые некоторыми навигаторами.

Как нарисовать конусное здание, где основание 20 метров, а крыша 15?

height=20 + building:roof:shape=conical + building:roof:height=15 (можно также использовать building:roof:angle, равный arctg(высота конуса/радиус конуса) ).
http://wiki.openstreetmap.org/wiki/Proposed_features/Building_attributes

www.osm-3d.org
Я полтора года в проекте, а не знал о существовании такого красивого 3D визуализатора ОСМа.

jpg upload

Здорово! Жаль только, что зеленые насаждения остаются плоскими

Очень странно отрендерились здания, покрывшись взявшимися из ниоткуда ломаными.
http://latlon.org/buildings?zoom=18&lat=60.7064&lon=28.75148&layers=BT

Pavel47, нельзя ли на картинке пояснить, в чём проблема? Я вижу здания, рядом с которыми есть заборы/стены. О каких ломаных идёт речь?

В половине квартала 3D-здания разошлись с 2D-контурами. Такая проблема наблюдается еще на нескольких участках.

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

А можно ли (и нужно ли?) исправлять это?

После последнего обновления с 3D произошла неведомая ерунда: треть домов исчезла, причем можно наблюдать такую картину: рядом стоящие дома отличаются только значением addr:housenumber, 3 рендерятся, а 1 - нет. Что это?

Аналогичная ситуация. Думал сам накосячил. Проверил в JOSM - теги есть. Думал может опечатка… нет. Всё точно.
Кстати, прикольно, что димики, обозначенные точкой теперь отрисовываются. Правда круглые домики выглядят немного дико :slight_smile: Но тут ничего не поделаешь, пока не будет спутниковых снимков никак дома на карте не нарисовать :frowning:

См. тут по поводу проекции (из документации получается, что building нужно рисовать по проекции: “It’s the area covered by any part of the building”).

Определённая логика в этом есть. Отрицательный момент лишь один - усложнение алгоритмов рендеров.

Как такой дом рисовать “по фундаменту”? :slight_smile: А ведь всяких сложно нагромождённых зданий хватает, просто фоток под рукой нет … Я к тому что фразу “по фундаменту” не нужно понимать буквально :slight_smile: