OpenStreetMap Forum

The Free Wiki World Map

You are not logged in.

#401 2011-04-26 20:41:36

Dypa4ek
Member
From: г.Волжский, Волгоградской обл.
Registered: 2011-04-21
Posts: 31
Website

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

VikDD wrote:

В картинке надо дописать, что на этих кусках ни в коем случае не должно быть тега 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 (будь он не ладный!) до сих пор не пойму нужен ли он в некоторых местах....

посмотрев всё это можно придти к выводу и составить некий монуалчик на вики smile
хочу вашего мнения....
контур всего здания обчерчивается, с пристройками с всей лобудой.....
ему даётся адрес, и все возмодные тэги нужные дому, а потом на него "вешаются" блоки
с тэгом  building:part=yes
и эго высотой, соответственно без первого этажа указывая building:min_level=*
соответственно можно будет подрисовывать уже сверху последнего ещё (если есть таковой) о5же с указанием  building:min_level=* за вычетом нижних блоков smile
вот вроде всё понятно и будет просто

как вам такое?

Offline

#404 2011-04-26 22:13:47

Dypa4ek
Member
From: г.Волжский, Волгоградской обл.
Registered: 2011-04-21
Posts: 31
Website

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

Danidin9 wrote:

К слову, делать здание одновременно частью не вполне корректно, т.к. на полигоне с тегом building должна быть высота / этажность всего здания. Но если надстройка небольшая, и в принципе, можно назвать это здание "двухэтажным с надстройкой", то ничего.

понимаете какое дело
здание трёх этажное!
пристройка "висит" на уровне второго этажа и полностью относится к основному зданию
как быть в таком случае?
фоток увы не нашёл ну если хотите могу быстренько набрасать от руки в 3D smile
всей этой хитрой конструкции

Offline

#405 2011-04-26 22:40:55

Danidin9
Member
From: Санкт-Петербург
Registered: 2011-01-31
Posts: 589

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

Dypa4ek wrote:

понимаете какое дело
здание трёх этажное!
пристройка "висит" на уровне второго этажа и полностью относится к основному зданию
как быть в таком случае?

А, ну тогда я неправильно понял. Если в этом месте двухэтажный проём в трёхэтажном здании, то всё сделано верно. В принципе, можно было бы сделать building по всему контуру без тега высоты + надстройка как сейчас + building:part как сейчас building с этажностью. Тогда бы и в месте проёма было здание.
Но не знаю, насколько это необходимо. Я всякие балконы не включаю в основное здание, т.к. навигации они не мешают.

Offline

#406 2011-04-26 22:46:21

Danidin9
Member
From: Санкт-Петербург
Registered: 2011-01-31
Posts: 589

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

Dypa4ek wrote:

Ну, глосм не мапник... я имел в виду стандартный рендерер.

Dypa4ek wrote:

http://www.openstreetmap.org/edit?lat=5 … 82&zoom=17 а вот посмотрите, всё написано на основание, а на неё на разных уровнях, кольцами всё выше и выше проставлялись новые с тэгом building:part=yes (будь он не ладный!) до сих пор не пойму нужен ли он в некоторых местах....

Там всё относительно верно, кроме того, что на основании опять стоит height основания а не всей башни. Опять кто-то поменял...
Эх, тег building:part:height так и просится, но никто его не рендерит sad

Dypa4ek wrote:

посмотрев всё это можно придти к выводу и составить некий монуалчик на вики smile
хочу вашего мнения....
контур всего здания обчерчивается, с пристройками с всей лобудой.....
ему даётся адрес, и все возмодные тэги нужные дому, а потом на него "вешаются" блоки
с тэгом  building:part=yes
и эго высотой, соответственно без первого этажа указывая building:min_level=*
соответственно можно будет подрисовывать уже сверху последнего ещё (если есть таковой) о5же с указанием  building:min_level=* за вычетом нижних блоков smile
вот вроде всё понятно и будет просто
как вам такое?

А почему без первого этажа? Имеется в виду данное здание или здание вообще?

Offline

#407 2011-04-26 23:28:23

Dypa4ek
Member
From: г.Волжский, Волгоградской обл.
Registered: 2011-04-21
Posts: 31
Website

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

Danidin9 wrote:

А почему без первого этажа? Имеется в виду данное здание или здание вообще?

я имею в виду то что рендится будет только первый этаж (всего здания), а при переделке в 3d будет полноценное здание  с надстройками и пристройками, и навигатору понятнее будет...
а те блоки которые будут без первого этажа получается должны плотно прилегать к основному зданию (на примере останкинской башни)

Offline

#408 2011-11-23 19:03:12

Danidin9
Member
From: Санкт-Петербург
Registered: 2011-01-31
Posts: 589

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

Хочу поднять один давно забытый вопрос из этой ветки.
2010-12-21 :

Zkir wrote:
Sergey Astakhov wrote:

Тега levels нету

Мне казалась Котярина рендерилка его обрабатывает. smile

Sergey Astakhov wrote:

то тогда и ни в коем случае не building:levels для building:part

абсолютно. Для кирпичей либо building:part:levels, либо просто levels. Для партов никакой префикс уже не нужен smile

В итоге, ни 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: 3,809

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: 3,809

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

Лучше уж building:parts=yes ?


Бывший редактор ОСМ

Offline

#412 2012-01-30 11:47:18

Danidin9
Member
From: Санкт-Петербург
Registered: 2011-01-31
Posts: 589

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

fserges wrote:

Лучше уж 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,446
Website

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

building:shape=cubes

Offline

#415 2012-01-30 11:58:47

dkiselev
Member
Registered: 2010-02-09
Posts: 3,362

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

building:part итак уже костыль можно конечно еще одним подпереть, для симметрии smile Только потом будем обсуждать что делать с рендерами поддерживающими 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

А я всё жду когда этажность будет показываться горизонтальными полосками smile

Offline

#417 2012-01-30 12:24:20

Zkir
Member
From: Хрустальная Москва
Registered: 2009-02-21
Posts: 6,092

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,362

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

Ну вот для обеспечения этой совместимости и обсуждается тег - уточнять форму по кусочкам или нет. Если рендер кусочки понимает, этот тег подскажет ему - является ли основной контур кусочком или нет (должен ли участвовать в отрисовке кусочками). Если рендер отрисовку кусочками не понимает - игнорит обсуждаемый тег.

Если лепить костыли - то уж до последнего smile


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,319
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,362

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

dkiselev wrote:

А если на основной, чтоб не дублировать его, повесить помимо building=yes еще и building:part=yes заэкструдится?

Да

Offline

#422 2012-01-30 14:44:40

Danidin9
Member
From: Санкт-Петербург
Registered: 2011-01-31
Posts: 589

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

Komяpa wrote:

В рендеринг добавлено дополнительное условие:

Если полигон building пересекается с полигоном building:part, то полигон building не экструдируется.

В таком случае можно нарисовать всё здание билдингом и проставить ему какую-zkir-захочет высоту для экструдирования в примитивных рендерерах навигаторов, а собственно более подробные объёмные призмы рисовать building:part.

Komяpa wrote:

В рендеринг добавлено дополнительное условие:

Если полигон 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,072

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

Danidin9 wrote:

Тоже хорошее решение. Только теперь надо что-то делать с левитирующими кусками зданий: 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: 3,809

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

Давайте же уже придуем хоть что-то работающее (с примерами) а то список домов сложной конфигурации у меня стал что-то очень большим smile Уж больно любят современные архитекторы что-то переменно-этажное ... ну и здания на мощном стилобате (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: 176

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

Danidin9 wrote:

И, кстати, не только пересекаться, но и касаться. Может быть случай, что building:part соседнего дома, стоящего встык, приведёт к тому что здание не отрендерится. Будьте бдительны !

Я всегда делал так, чтобы building:part были внутри building. Если делать проверку на нахождение внутри, то касание ничего не сломает.

Offline

Board footer

Powered by FluxBB