You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being retired. Please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators.
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

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: 4,017

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

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,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 итак уже костыль можно конечно еще одним подпереть, для симметрии 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,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

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

Если лепить костыли - то уж до последнего 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,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

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

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: 4,017

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: 177

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

Danidin9 wrote:

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

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

Offline

Board footer

Powered by FluxBB