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.***

#1 2010-12-12 12:11:05

Komяpa
Member
From: Minsk
Registered: 2009-04-14
Posts: 1,323
Website

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

Настала, наверное, пора, достать из недр кошачьей лаборотории новую штуку: объёмный рендеринг зданий.

http://latlon.org/buildings

extrusion_in_mapnik11.png

Немножко подробностей:
Внутри - никакой не виндовзовый коммерческий рендерер, а обычны mapnik 0.7.1 с хитрым стилем.
Для тех, кто полезет в документацию и подумает, что всё очень просто: BuildingSymbolizer глючный и не используется. Хотя, может быть, просто я не умею его готовить smile

Поддерживаются также здания сложной формы (не все получилось рендерить совсем корректно, но некоторым повезло smile
extrusion_in_mapnik12.pngsilverline1_h350.jpg

Для того, чтобы рисовать здания сложной формы, стоит следовать этой схеме: http://wiki.openstreetmap.org/wiki/User … ing_Shapes

Кроме того, понимая, какой адский труд - расставить везде этажность (и точно не знаешь, но посмотреть-то хочется...), было сделано следующее допущение:
Если у дома не прописана этажность/высота, и он стоит на полигоне residential=urban - он девятиэтажный. Если он стоит на полигоне residential=rural или landuse=garages - он одноэтажный.

Отдельное спасибо kosmosnimki.ru за предоставление места под всё это безобразие. :3

Если кто-то хочет себе исходник стиля, - обещаю его увести в Public Domain, как только кто-то напишет поддержку для разбора MapCSS eval() на питоне в структуры, которые можно будет потом пересобрать в корректный SQL и опубликует под лицензией, совместимой с GPL3.

Last edited by Komяpa (2010-12-12 12:14:27)


world processing is what we do.
[OSMF BY Team] [http://komzpa.net/] [jabber: komzpa@gmail.com] [mobile/SMS: +375257407159]

Offline

#2 2010-12-12 12:36:25

Aleksandr Dezhin
Member
From: Msk
Registered: 2008-05-25
Posts: 2,109
Website

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

http://latlon.org/buildings?zoom=18&lat … &layers=BT уголок откоцал почему-то


[ Проверка границ и НП | Дампы | Валидатор рек | Кое-что ещё ]
- Нет! Не надо пытаться. Делай. Или не делай. Не надо пытаться. (c) Йода

Offline

#3 2010-12-12 12:43:53

Hind
Member
From: Moscow
Registered: 2009-05-25
Posts: 3,950

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

Super kawajno. :3

Offline

#4 2010-12-12 12:51:42

Komяpa
Member
From: Minsk
Registered: 2009-04-14
Posts: 1,323
Website

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

Aleksandr Dezhin, пофикшено.


world processing is what we do.
[OSMF BY Team] [http://komzpa.net/] [jabber: komzpa@gmail.com] [mobile/SMS: +375257407159]

Offline

#5 2010-12-12 12:51:56

fserges
Member
From: St.Petersburg/Russia
Registered: 2010-11-08
Posts: 4,017

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

Вот это ПРИЯТНЫЙ сюрприз smile
Срочно проставляю этажи в зданиях smile

Кстати, это реально помогает ориентироваться, для карт очень правильное решение.


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

Offline

#6 2010-12-12 13:03:01

Jekader
Member
From: Chisinau, Moldova
Registered: 2010-10-10
Posts: 167

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

Супер-новость! Ещё чуток допилить стиль, и будет вообще замечательно (тёмно-серые здания на мой взгляд как-то слишком угнетающе выглядят)

И ещё - этот render берёт в расчёт сугубо building:levels, насколько я вижу. А я везде проставляю только building:height...
В итоге по всему Кишинёву прорендерилось только два здания, где указано число этажей sad

Как поступить - можно ждать поддержки building:height, или есть смысл везде проставлять levels? С этим проблем не должно быть - я по городу всем девятиэтажкам проставил height=30 m, так что просто все их выделить и проставить levels труда не составит!

Offline

#7 2010-12-12 13:04:00

Hind
Member
From: Moscow
Registered: 2009-05-25
Posts: 3,950

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

Твой building:height взят с потолка, как я понимаю. Правильно он его не рисует :3
Проставлять надо было этажи, а не высоту на глазок.

Last edited by Hind (2010-12-12 13:04:09)

Offline

#8 2010-12-12 13:16:26

Jekader
Member
From: Chisinau, Moldova
Registered: 2010-10-10
Posts: 167

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

ну так на mapsurfer рендерится по height, я его и проставлял smile

А как часто база обновляется? Могу хоть сейчас большинству многоэтажек задать levels...

Offline

#9 2010-12-12 13:26:43

Komяpa
Member
From: Minsk
Registered: 2009-04-14
Posts: 1,323
Website

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

Jekader, мапсёрфер прекрасно рендерит по building:levels. Зачем было проставлять от балды высоту?

Рендеринг обновляется, как и положено, в реальном времени.


world processing is what we do.
[OSMF BY Team] [http://komzpa.net/] [jabber: komzpa@gmail.com] [mobile/SMS: +375257407159]

Offline

#10 2010-12-12 13:31:35

Sergey Astakhov
Member
From: St.Petersburg, Russia
Registered: 2009-11-13
Posts: 5,808

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

RFE: Добавить поддержку man_made=tower/chimney с проставлеными height. smile

Offline

#11 2010-12-12 13:39:59

Komяpa
Member
From: Minsk
Registered: 2009-04-14
Posts: 1,323
Website

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

Sergey Astakhov, скинь ссылку на пример. Можно в IRC smile


world processing is what we do.
[OSMF BY Team] [http://komzpa.net/] [jabber: komzpa@gmail.com] [mobile/SMS: +375257407159]

Offline

#12 2010-12-12 13:42:28

Jekader
Member
From: Chisinau, Moldova
Registered: 2010-10-10
Posts: 167

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

Sergey Astakhov wrote:

RFE: Добавить поддержку man_made=tower/chimney с проставлеными height. smile

причём желательно не только в виде точки, но и полигона! (вот пример, на стандартном мапнике вообще не рендерится)

Offline

#13 2010-12-12 13:46:48

Sergey Astakhov
Member
From: St.Petersburg, Russia
Registered: 2009-11-13
Posts: 5,808

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

Komяpa wrote:

Sergey Astakhov, скинь ссылку на пример. Можно в IRC smile

Вот из недавнего проставленого:

http://www.openstreetmap.org/browse/node/1028496129
http://www.openstreetmap.org/browse/node/1026981104

Высоту первой нашёл в интернете, вторую прикидывал по соотношению длин теней.

Offline

#14 2010-12-12 14:08:31

Nikolya
Member
From: Краснодар
Registered: 2010-08-17
Posts: 937

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

спасибо Komяpa
сори что без спросу, сделал ZMP для саспланет
http://sasgis.ru/forum/viewtopic.php?f=2&p=16939#p16939


п.с. рендерится все на ура с тегом building:levels

Last edited by Nikolya (2010-12-12 14:09:48)

Offline

#15 2010-12-12 14:34:07

tmprec
Member
From: Санкт-Петербург
Registered: 2009-08-09
Posts: 611

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

WOW! Это прорыв!)

Offline

#16 2010-12-12 15:02:16

suslikk
Member
From: Voronezh
Registered: 2010-03-03
Posts: 837
Website

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

Komяpa, СУПЕР!!! ДАвно ждал такой фичи (mapsurfer пол жизни будешь ждать) smile

Offline

#17 2010-12-12 15:35:24

Kuprienko_Viktor
Member
From: Apatity
Registered: 2009-08-31
Posts: 240

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

tmprec wrote:

WOW! Это прорыв!)

Ещё нет. smile
Прорыв будет, когда появится нормальная поддержка зелёнки: man_made=cutlune, wetland=marsh/bog/swamp - последнее особенно актуально. Это ж форменное безобразие, когда рендер не различает заболоченный лес и открытое болото.

Offline

#18 2010-12-12 15:57:01

tmprec
Member
From: Санкт-Петербург
Registered: 2009-08-09
Posts: 611

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

Пишите на хабр smile

Offline

#19 2010-12-12 17:13:32

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

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

Супер!

А арки в 3D зданиях будут?


mail: dkiselev@osm.me      skype: dmitry.v.kiselev
Open Street Maps are supreme! Exterminate all map forms! Exterminate! Exterminate!

Offline

#20 2010-12-12 17:19:12

Ilis
Member
From: Екатеринбург
Registered: 2009-05-24
Posts: 5,970

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

После мапсёрфера сразу видно отсутствие 3Д заборов smile

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

Кстати, как получается онлайн обновление? В чём секрет? smile

Offline

#21 2010-12-12 17:28:31

Hind
Member
From: Moscow
Registered: 2009-05-25
Posts: 3,950

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

Есть там уже 3D-заборы. И арки рисуются. Нужно только ставить building:min_level

Last edited by Hind (2010-12-12 17:28:44)

Offline

#22 2010-12-12 17:34:32

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

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

Не, я про те арки которые не рисовались специально, т.е. где домик не режится на куски с разным min_level, а прсто дороге ставиться overlayed=yes.
Или такого и не планируется?


mail: dkiselev@osm.me      skype: dmitry.v.kiselev
Open Street Maps are supreme! Exterminate all map forms! Exterminate! Exterminate!

Offline

#23 2010-12-12 17:36:14

Hind
Member
From: Moscow
Registered: 2009-05-25
Posts: 3,950

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

А как вы себе представляете себе такой рендер by mapnik? Если придумаете, как сделать - welcome. :3

Offline

#24 2010-12-12 17:58:11

Alexey Guseynov
Member
Registered: 2009-12-23
Posts: 205

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

Komяpa wrote:

Кроме того, понимая, какой адский труд - расставить везде этажность (и точно не знаешь, но посмотреть-то хочется...), было сделано следующее допущение:
Если у дома не прописана этажность/высота, и он стоит на полигоне residential=urban - он девятиэтажный. Если он стоит на полигоне residential=rural или landuse=garages - он одноэтажный.

Теперь надо валидатор аналогичный адересному валидатору на OSM inspector, чтобы отличать дома, у которых этажность проставлена и те, у которых она не известна.

Offline

#25 2010-12-12 18:14:57

Ilis
Member
From: Екатеринбург
Registered: 2009-05-24
Posts: 5,970

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

Мне кажется что относительно residential=urban не стоит делать никаких предположений, потому что там может быть всё что угодно от 1 до 200. Про рурал и гаражес вполне нормальные допущения.

Offline

Board footer

Powered by FluxBB