You are not logged in.
- Topics: Active | Unanswered
Announcement
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***
#401 2011-04-26 20:41:36
- Dypa4ek
- Member

- From: г.Волжский, Волгоградской обл.
- Registered: 2011-04-21
- Posts: 31
- Website
Re: Трёхмерные здания в Mapnik
В картинке надо дописать, что на этих кусках ни в коем случае не должно быть тега building=*, только building:part=yes. Ибо building=* - это здание целиком.
я попробовал создать школу по этому принципу, и мне кажется я накосячил... удалил из центра полигон который вырезал
удалил ссылки мультиполигона объединяющего его и само здание... и создал прямоугольник привязав к углам здания, и присвоил ему следующие теги
building:levels = 3
building:min_level = 2
building:part = yes
но он остался серого цвета и не принял красноватый цвет как здание...
... карты ещё не обновились.... а в 3d он до сих пор показывает красным....
правильно ли я всё зделал?
building:part = yes
самой школе не присваивал....
я уже спрашивал, но так и не выяснил что именно даёт этот тэг...
http://www.openstreetmap.org/browse/way/110443221
вот ссылка на нависающую пристройку
http://www.openstreetmap.org/browse/way/106882372
а вот на саму школу
_______________________
так вот что я предлагаю:
может всё таки давать пристройкам тэг
building = yes
но не давать им адреса
а давать этажность
и при необходимости вешать только конторы, магазины и тд...
и повторяю не давать им адреса, или что эти дома отсеятся и выкинутся если у них не будет адреса?
Last edited by Dypa4ek (2011-04-26 21:13:37)
Offline
#402 2011-04-26 22:00:20
- Danidin9
- Member
- From: Санкт-Петербург
- Registered: 2011-01-31
- Posts: 589
Re: Трёхмерные здания в Mapnik
Dypa4ek: building:part мапником не рендерится (да и не надо)
А здание из примера содержит две ошибки:
1) Под надстройкой тоже должно быть building=yes. Сейчас выходит, что там нет 1 и 2 этажей.
То есть, в данном случае, building=yes должен быть в виде прямоугольника с вырезанным внутренним двором.
Вообще, в любом сложном здании тег building=yes должен стоять на полигоне, у которого все остальные building:part находятся внутри, ну, может быть, кроме балконов.
2) У building=yes должна быть указана высота в 2 этажа, а не 3. Коль в данном случае building=yes содержит тег с этажностью, то он тоже в некотором смысле является частью здания. А раз является частью, то должна быть указана высота этой части, а не всего здания.
К слову, делать здание одновременно частью не вполне корректно, т.к. на полигоне с тегом building должна быть высота / этажность всего здания. Но если надстройка небольшая, и в принципе, можно назвать это здание "двухэтажным с надстройкой", то ничего.
Offline
#403 2011-04-26 22:01:21
- Dypa4ek
- Member

- From: г.Волжский, Волгоградской обл.
- Registered: 2011-04-21
- Posts: 31
- Website
Re: Трёхмерные здания в Mapnik
http://glosm.amdmi3.ru/?zoom=16&lat=55. … &layers=B0
ну вот сделали же!!!!
http://www.openstreetmap.org/edit?lat=5 … 82&zoom=17 а вот посмотрите, всё написано на основание, а на неё на разных уровнях, кольцами всё выше и выше проставлялись новые с тэгом building:part=yes (будь он не ладный!) до сих пор не пойму нужен ли он в некоторых местах....
посмотрев всё это можно придти к выводу и составить некий монуалчик на вики ![]()
хочу вашего мнения....
контур всего здания обчерчивается, с пристройками с всей лобудой.....
ему даётся адрес, и все возмодные тэги нужные дому, а потом на него "вешаются" блоки
с тэгом building:part=yes
и эго высотой, соответственно без первого этажа указывая building:min_level=*
соответственно можно будет подрисовывать уже сверху последнего ещё (если есть таковой) о5же с указанием building:min_level=* за вычетом нижних блоков ![]()
вот вроде всё понятно и будет просто
как вам такое?
Offline
#404 2011-04-26 22:13:47
- Dypa4ek
- Member

- From: г.Волжский, Волгоградской обл.
- Registered: 2011-04-21
- Posts: 31
- Website
Re: Трёхмерные здания в Mapnik
К слову, делать здание одновременно частью не вполне корректно, т.к. на полигоне с тегом building должна быть высота / этажность всего здания. Но если надстройка небольшая, и в принципе, можно назвать это здание "двухэтажным с надстройкой", то ничего.
понимаете какое дело
здание трёх этажное!
пристройка "висит" на уровне второго этажа и полностью относится к основному зданию
как быть в таком случае?
фоток увы не нашёл ну если хотите могу быстренько набрасать от руки в 3D ![]()
всей этой хитрой конструкции
Offline
#405 2011-04-26 22:40:55
- Danidin9
- Member
- From: Санкт-Петербург
- Registered: 2011-01-31
- Posts: 589
Re: Трёхмерные здания в Mapnik
понимаете какое дело
здание трёх этажное!
пристройка "висит" на уровне второго этажа и полностью относится к основному зданию
как быть в таком случае?
А, ну тогда я неправильно понял. Если в этом месте двухэтажный проём в трёхэтажном здании, то всё сделано верно. В принципе, можно было бы сделать building по всему контуру без тега высоты + надстройка как сейчас + building:part как сейчас building с этажностью. Тогда бы и в месте проёма было здание.
Но не знаю, насколько это необходимо. Я всякие балконы не включаю в основное здание, т.к. навигации они не мешают.
Offline
#406 2011-04-26 22:46:21
- Danidin9
- Member
- From: Санкт-Петербург
- Registered: 2011-01-31
- Posts: 589
Re: Трёхмерные здания в Mapnik
http://glosm.amdmi3.ru/?zoom=16&lat=55. … &layers=B0
ну вот сделали же!!!!
Ну, глосм не мапник... я имел в виду стандартный рендерер.
http://www.openstreetmap.org/edit?lat=5 … 82&zoom=17 а вот посмотрите, всё написано на основание, а на неё на разных уровнях, кольцами всё выше и выше проставлялись новые с тэгом building:part=yes (будь он не ладный!) до сих пор не пойму нужен ли он в некоторых местах....
Там всё относительно верно, кроме того, что на основании опять стоит height основания а не всей башни. Опять кто-то поменял...
Эх, тег building:part:height так и просится, но никто его не рендерит ![]()
посмотрев всё это можно придти к выводу и составить некий монуалчик на вики
хочу вашего мнения....
контур всего здания обчерчивается, с пристройками с всей лобудой.....
ему даётся адрес, и все возмодные тэги нужные дому, а потом на него "вешаются" блоки
с тэгом building:part=yes
и эго высотой, соответственно без первого этажа указывая building:min_level=*
соответственно можно будет подрисовывать уже сверху последнего ещё (если есть таковой) о5же с указанием building:min_level=* за вычетом нижних блоков
вот вроде всё понятно и будет просто
как вам такое?
А почему без первого этажа? Имеется в виду данное здание или здание вообще?
Offline
#407 2011-04-26 23:28:23
- Dypa4ek
- Member

- From: г.Волжский, Волгоградской обл.
- Registered: 2011-04-21
- Posts: 31
- Website
Re: Трёхмерные здания в Mapnik
А почему без первого этажа? Имеется в виду данное здание или здание вообще?
я имею в виду то что рендится будет только первый этаж (всего здания), а при переделке в 3d будет полноценное здание с надстройками и пристройками, и навигатору понятнее будет...
а те блоки которые будут без первого этажа получается должны плотно прилегать к основному зданию (на примере останкинской башни)
Offline
#408 2011-11-23 19:03:12
- Danidin9
- Member
- From: Санкт-Петербург
- Registered: 2011-01-31
- Posts: 589
Re: Трёхмерные здания в Mapnik
Хочу поднять один давно забытый вопрос из этой ветки.
2010-12-21 :
Sergey Astakhov wrote:Тега levels нету
Мне казалась Котярина рендерилка его обрабатывает.
Sergey Astakhov wrote:то тогда и ни в коем случае не building:levels для building:part
абсолютно. Для кирпичей либо building:part:levels, либо просто levels. Для партов никакой префикс уже не нужен
В итоге, ни levels=* ни building:part:levels не рендерятся. И поэтому никто их не отмечает, а вместо этого везде используется building:levels.
Это очень плохо по двум причинам.
1) building:levels на building:part портит статистику зданий с разной этажностью. Невозможно не заглядывая в описание объектов определить, что перед нами, например, 5 десятиэтажных зданий или пять одноэтажных надстроек на девятиэтажном здании.
2) если часть здания совпадает по контуру с самим зданием (обычно это нижняя часть), то проставление на неё building:levels для здания приводит к неправильному отображению в 3D. Если же на неё проставлять этажность только для данной части здания, то имеем фэйк - неверное значение этажности для
здания в целом. Иногда можно избавиться от этого противоречия, "разрезая" здание на building:part только по вертикали. Но иногда это невозможно в принципе, как в случае с Останкинской телебашней.
Поэтому предлагаю разобраться с тегами высоты и этажности для building:part, а именно отделить их от тегов для building.
Вот два варианта:
1) building:levels и building:height для building;
building:part:levels; building:part:min_level; building:part:height; building:part:min_height для building:part
2) building:levels и building:height для building;
levels; min_level; height и min_height для building:part
Второй вариант кажется более предпочтительным, т.к. во-первых короче, во-вторых height уже активно используется и рендерится.
Остаётся только попросить авторов рендеров поддерживать теги levels и min_level. При этом если на одном контуре окажутся одновременно building:levels и levels,
то отображаться должен второй, т.к. это более высокий уровень детализации.
Для статистики:
building:part на данный момент использован 4785 раз, в т.ч. на отношениях 501 раз, в т.ч
СПб - 2494 раза (52%); Москва - 160; Екб - 142; Киров - 130
building:min_level - 3389 раз (предлагаю полностью избавиться от этого тега и заменить на min_level. Сейчас 50% применяется совместно с тегом building=* и 50% c building:part=*)
building:part:levels - 14 раз
building:part:min_level - 0 раз
levels - 13911 раз (распространён в Европе, прежде всего Германии, 96% применяется совместно с тегом building=*)
min_level - 15 раз
building:part:height - 14 раз
building:part:min_height - 0 раз
height - 676880 раз (92% применяется совместно с тегом building=*, 6% - man_made=*)
min_height - 1324 раз (37% применяется совместно с тегом building=* и 63% c building:part=*)
Offline
#409 2011-11-23 20:36:54
- fserges
- Member
- From: St.Petersburg/Russia
- Registered: 2010-11-08
- Posts: 4,030
Re: Трёхмерные здания в Mapnik
Я готов придерживаться любой де-факто принятой схеме рисования многообъёмных зданий. Сейчас рисую новые районы которые в значительной степени сложнообъёмные. Типичный дом где первый уровень огромен и занят встроенным паркингом, магазинами а само здание состоит из нескольких частей весьма разной этажности (только что рисовал здание где в башне 25 этажей, в основной массе - 8 этажей). Эта информация существенна для ориентирования.
Бывший редактор ОСМ
Offline
#410 2012-01-30 11:30:17
- Danidin9
- Member
- From: Санкт-Петербург
- Registered: 2011-01-31
- Posts: 589
Re: Трёхмерные здания в Mapnik
Komяpa, как я понимаю, это к Вам.
Вот в этом месте здания отрисованы несколько месяцев назад, но так и не отрендерились в псевдо-3d:
http://latlon.org/buildings?zoom=16&lat … &layers=BT
Можно ли что-нибудь сделать?
Ещё один вопрос. Есть идея тега, предотвращающего показ этажности у здания, на котором он стоит. Рендереры делятся на те, что поддерживают building:part, и не поддерживают. Имеем проблему: можно отмечать building:levels на основном полигоне здания, и тогда вся прорисовка building:part насмарку, либо не отмечать, и тогда в рендерах типа ситигида вообще ничего не рисуется.
Такой тег мог бы частично решить проблему.
В самОм Латлоне есть опция, рисующая здания с дефолтной высотой на полигонах residential=urban и rural.
Здесь тоже имеет смысл отключать этажность у building, имеющих building:part, иначе происходит задвоение: http://latlon.org/buildings?zoom=17&lat … &layers=BT
Насколько такой тег, будь он создан и поддерживался, усложнил бы расчёты (как я понимаю это не критично - потребовалась ещё одна проверка на каждом здании)? Как Вы вообще относитесь к такой идее? Вариант тега: complex_building=yes
Спасибо!
Offline
#411 2012-01-30 11:38:13
- fserges
- Member
- From: St.Petersburg/Russia
- Registered: 2010-11-08
- Posts: 4,030
Re: Трёхмерные здания в Mapnik
Лучше уж building:parts=yes ?
Бывший редактор ОСМ
Offline
#412 2012-01-30 11:47:18
- Danidin9
- Member
- From: Санкт-Петербург
- Registered: 2011-01-31
- Posts: 589
Re: Трёхмерные здания в Mapnik
Лучше уж building:parts=yes ?
Возможно. Но building:part могут быть и в виде башенок, пентхаусов и прочей ерунды, не отменяющей этажность на основном здании. Так что, имхо, такой вариант может сбить кого-то с толка.
Вообще, я указал вариант почти от балды, здесь действительно стоит хорошо всё обсудить, чтобы вышло на перспективу, а не очередная временная "заглушка".
Offline
#413 2012-01-30 11:50:16
- xande almeida
- Member

- From: Tver
- Registered: 2010-04-28
- Posts: 256
Re: Трёхмерные здания в Mapnik
Фанатею от псевдо3Д. Голосую за идею уточняющего тега, что здание состоит из нескольких билдинг:партов, хоть это и костыль, может быть.
Offline
#414 2012-01-30 11:56:52
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Трёхмерные здания в Mapnik
building:shape=cubes
Offline
#415 2012-01-30 11:58:47
- dkiselev
- Member
- Registered: 2010-02-09
- Posts: 3,364
Re: Трёхмерные здания в Mapnik
building:part итак уже костыль можно конечно еще одним подпереть, для симметрии
Только потом будем обсуждать что делать с рендерами поддерживающими building:part но не поддерживающими новый тег.
mail: dkiselev@osm.me skype: dmitry.v.kiselev
Open Street Maps are supreme! Exterminate all map forms! Exterminate! Exterminate!
Offline
#416 2012-01-30 12:03:19
- Ilis
- Member

- From: Екатеринбург
- Registered: 2009-05-24
- Posts: 5,970
Re: Трёхмерные здания в Mapnik
А я всё жду когда этажность будет показываться горизонтальными полосками ![]()
Offline
#417 2012-01-30 12:24:20
- Zkir
- Member

- From: Хрустальная Москва
- Registered: 2009-02-21
- Posts: 6,110
Re: Трёхмерные здания в Mapnik
Могу сказать то, что говорил год назад (и повторил недавно ). Схема с кирпичами должна быть совместима со схемой без кирпичей.
building:levels и building:height на полигоне building=yes должны обозначать этажность всего здания.
Last edited by Zkir (2012-01-30 12:26:01)
Истинные слова не не приятны, приятные слова не истинны.
True words are unpleasant; pleasant words are untrue.
Offline
#418 2012-01-30 13:18:30
- dkiselev
- Member
- Registered: 2010-02-09
- Posts: 3,364
Re: Трёхмерные здания в Mapnik
Ну вот для обеспечения этой совместимости и обсуждается тег - уточнять форму по кусочкам или нет. Если рендер кусочки понимает, этот тег подскажет ему - является ли основной контур кусочком или нет (должен ли участвовать в отрисовке кусочками). Если рендер отрисовку кусочками не понимает - игнорит обсуждаемый тег.
Если лепить костыли - то уж до последнего ![]()
mail: dkiselev@osm.me skype: dmitry.v.kiselev
Open Street Maps are supreme! Exterminate all map forms! Exterminate! Exterminate!
Offline
#419 2012-01-30 13:36:21
- Komяpa
- Member

- From: Minsk
- Registered: 2009-04-14
- Posts: 1,323
- Website
Re: Трёхмерные здания в Mapnik
В рендеринг добавлено дополнительное условие:
Если полигон building пересекается с полигоном building:part, то полигон building не экструдируется.
В таком случае можно нарисовать всё здание билдингом и проставить ему какую-zkir-захочет высоту для экструдирования в примитивных рендерерах навигаторов, а собственно более подробные объёмные призмы рисовать building:part.
world processing is what we do.
[OSMF BY Team] [http://komzpa.net/] [jabber: komzpa@gmail.com] [mobile/SMS: +375257407159]
Offline
#420 2012-01-30 13:59:29
- dkiselev
- Member
- Registered: 2010-02-09
- Posts: 3,364
Re: Трёхмерные здания в Mapnik
А если на основной, чтоб не дублировать его, повесить помимо building=yes еще и building:part=yes заэкструдится?
mail: dkiselev@osm.me skype: dmitry.v.kiselev
Open Street Maps are supreme! Exterminate all map forms! Exterminate! Exterminate!
Offline
#421 2012-01-30 14:44:04
- Danidin9
- Member
- From: Санкт-Петербург
- Registered: 2011-01-31
- Posts: 589
Re: Трёхмерные здания в Mapnik
А если на основной, чтоб не дублировать его, повесить помимо building=yes еще и building:part=yes заэкструдится?
Да
Offline
#422 2012-01-30 14:44:40
- Danidin9
- Member
- From: Санкт-Петербург
- Registered: 2011-01-31
- Posts: 589
Re: Трёхмерные здания в Mapnik
В рендеринг добавлено дополнительное условие:
Если полигон building пересекается с полигоном building:part, то полигон building не экструдируется.
В таком случае можно нарисовать всё здание билдингом и проставить ему какую-zkir-захочет высоту для экструдирования в примитивных рендерерах навигаторов, а собственно более подробные объёмные призмы рисовать building:part.
В рендеринг добавлено дополнительное условие:
Если полигон building пересекается с полигоном building:part, то полигон building не экструдируется.
В таком случае можно нарисовать всё здание билдингом и проставить ему какую-zkir-захочет высоту для экструдирования в примитивных рендерерах навигаторов, а собственно более подробные объёмные призмы рисовать building:part.
Тоже хорошее решение. Только теперь надо что-то делать с левитирующими кусками зданий: http://latlon.org/buildings?zoom=17&lat … 9&layers=B :-D
Вообще, там можно
- записать building:part дополнительно к building на основную часть
- распиливать здание только по вертикали
- продублировать основную часть мультиполигоном с одним outer (совпадающим полигоном - ошибка) и повесить на него building:part
Что именно выбрать - будем смотреть по ситуации.
И, кстати, не только пересекаться, но и касаться. Может быть случай, что building:part соседнего дома, стоящего встык, приведёт к тому что здание не отрендерится. Будьте бдительны !
Offline
#423 2012-01-30 15:05:02
- Dinamik
- Member
- Registered: 2010-08-12
- Posts: 1,096
Re: Трёхмерные здания в Mapnik
Тоже хорошее решение. Только теперь надо что-то делать с левитирующими кусками зданий: http://latlon.org/buildings?zoom=17&lat … 9&layers=B :-D!
Речь о доме 11 к1? Это похоже на какую-то проблемы отрисовки: при небольшом масштабе рисуется нормально, при крупном нижняя часть здания пропадает. Но вообще было бы проще, если бы здания старались резать по вертикали, а не по горизонтали.
----
Предлагается тег consists_of_parts=yes, показывающий, что здание, отмеченное тегом building=yes, состоит из кусков, отмеченных тегом building:part=yes - в этом случае рисовать по контуру building=yes не следует. Ставить тег следует на линию (или полигон), на которой стоит building=yes.
Last edited by Dinamik (2012-01-30 15:10:04)
Offline
#424 2012-01-30 15:34:42
- fserges
- Member
- From: St.Petersburg/Russia
- Registered: 2010-11-08
- Posts: 4,030
Re: Трёхмерные здания в Mapnik
Давайте же уже придуем хоть что-то работающее (с примерами) а то список домов сложной конфигурации у меня стал что-то очень большим
Уж больно любят современные архитекторы что-то переменно-этажное ... ну и здания на мощном стилобате (1-й этаж магазин) весьма распространены всегда были.
Тег consists_of_parts=yes как-то не звучит. Нет привязки к зданию. Уж лучше building:parts:vertical=yes
Ну и помнить что не все рендереры знают о таком теге, т.е. building=yes вешать на что-то нейтральное.
Может попробовать на примерах (картинках)? А то чего-то в споре упустим?
Бывший редактор ОСМ
Offline
#425 2012-01-30 15:43:53
- Anton Khorev
- Member
- From: Санкт-Петербург
- Registered: 2011-07-30
- Posts: 177
Re: Трёхмерные здания в Mapnik
И, кстати, не только пересекаться, но и касаться. Может быть случай, что building:part соседнего дома, стоящего встык, приведёт к тому что здание не отрендерится. Будьте бдительны !
Я всегда делал так, чтобы building:part были внутри building. Если делать проверку на нахождение внутри, то касание ничего не сломает.
Offline