OpenStreetMap Forum

The Free Wiki World Map

You are not logged in.

#1 2011-04-17 12:44:37

Lindoird
Member
From: Ukraine, Poltava
Registered: 2011-04-17
Posts: 3

Будівлі з фрагментами різної поверховості

Заглибився в маппінг порівняно недавно. Хочеться почути поради від бувалих мапперів, бо не знайшов однозначної відповіді ні у вікі, ні у форумах...
Напевне щодня ми бачимо будинки, наче складені з кількох окремих будівель з різною кількістю поверхів. Наприклад, багатоквартирний житловий будинок із магазином, або дитсадок/школа з корпусами різної висоти та переходами між ними.
Можна було б не морочитись: створити замкнутий контур, задати теги building, addr:housenumber, включити у відношення і забути. Але хочеться ж зробити роботу так, щоб більше до неї не повертатись. Тому всюди стараюся ставити building:levels - а що як вже завтра рендерери масово почнуть враховувати цей тег? Ходити вулицями з пласкими будинками неестетично. Тут виникає колізія: магазин має висоту один поверх, а будинок - дев'ятиповерховий. Робити дві окремі будівлі - не комільфо, бо (1) фізично це єдиний комплекс, зведений з фундаменту й до даху в одному циклі і (2) поштова адреса єдина.
Найбільш наближений до реальності варіант, який вдалося знайти на російському форумі - зробити дві будівлі, поставити кожній свій building:levels, а потім об'єднати мультиполігоном. Тег addr:housenumber ставити на мультиполігон, і вже цей мультиполігон включати у відношення до вулиці як house. Поки що викрутився таким чином.
Хоча є сумніви: якщо контури будівель перекриваються (навіть якщо просто мають спільні точки) - валідатор свариться. Якщо трохи їх розділити (буквально міліметром - на мапі непомітно), валідатор вже не так сердиться, але все рівно не задоволений (його можна зрозуміти - мультиполігон з двох контурів, у обох роль outer).
Питання відкрите. Які думки?

Offline

#2 2011-04-17 13:14:31

andygol
Moderator
From: Дніпро
Registered: 2009-07-31
Posts: 1,868
Website

Re: Будівлі з фрагментами різної поверховості

В російській гілці була тема про нанесення таких будинків на мапу.  Будь ласка наведи у приклад один з «твоїх» будинків, щоб можна було про що конкретно говорити. Що стосується того, коли на першому поверсі магазин, а над ним жилі поверхи — див. http://wiki.openstreetmap.org/wiki/Prop … attributes теґ «building:levelPlan» або «building:levels:mezzanine»

Хоча є сумніви: якщо контури будівель перекриваються (навіть якщо просто мають спільні точки) - валідатор свариться. Якщо трохи їх розділити (буквально міліметром - на мапі непомітно), валідатор вже не так сердиться, але все рівно не задоволений (його можна зрозуміти - мультиполігон з двох контурів, у обох роль outer).

Ти трохи не вірно в даному випадку тлумачиш для себе мультиполігони.
Якщо їх використовувати, то тобі треба буде зробити 3 мультиполігони: 1-й з ліній, що є контуром всієї будівлі (до нього застосовуємо addr:* й т.і.), 2-й з відрізками що утворюють,наприклад, магазин; 3-й з відрізків, що утворюють житлові або інші приміщення (2-й та 3-й зв'язки можуть утворюватись одними й тими самими відрізками - тоді валідатор «мовчить»), ну, й до 2-го та 3-го зв'язків додаємо потрібні теґи з building:levels.

Last edited by andygol (2011-04-17 13:18:22)

Offline

#3 2011-04-17 14:46:17

Lindoird
Member
From: Ukraine, Poltava
Registered: 2011-04-17
Posts: 3

Re: Будівлі з фрагментами різної поверховості

andygol, спасибі за лінк http://wiki.openstreetmap.org/wiki/Prop … attributes, не траплявся раніше. Багато цікавої інфи. Шкода, що усе те поки що в Proposed features. Та все рівно краще ніж нічого - у випадку затвердження альтернативних варіантів наявні, як розумію, можна пропарсити автоматом.

По російських гілках.
http://forum.openstreetmap.org/viewtopi … 53#p143253 каже:

на счёт разноэтажных домов, так это в соседнюю ветку: http://forum.openstreetmap.org/viewtopi … d=9994&p=1
Пока чётких рекомендаций нет, а ни один из предложенных пропозалов мне не нравится. Поэтому обозначаю так. С моей колокольни, на текущий момент это самый адекватный вариант. Как только появится что-то более рациональное, всё поправлю.

Згадана вище гілка http://forum.openstreetmap.org/viewtopi … 53#p143253 - саме її я мав на увазі, от там люди й говорять, що поки що не все так кучеряво sad І єдності в думках там не видно. З їх дискусії можна вибрати варіанти (насмикав цитат):

  • Можно сделать мультиполигон не только для здания (с адресом), но и для отдельных его частей (с указанием этажности). Соответственно, в мультиполигон с адресом включить только внешние стены всего здания — тогда адрес будет рендерится один раз.

  • Формально нужно объединять все строения с одним адресом в отношение, на которое и вешать адресные теги. На практике это жутко неудобно. Я ставлю адреса на всё.
    ... просто отношение, без типа

  • Пропонують додавати адреси до POI - це вже зовсім, як на мене, не за фен-шуєм
    ... і ще деякі малозрозумілі такому початківцю як я слова ...

Напевне що справді у мене ще немає розуміння мультиполігонів.

Перечитав ще раз уважніше ту гілку. Є там цікавий лінк http://wiki.openstreetmap.org/wiki/Rela … /Buildings і з коментарями.
Виходить, порядок дій такий:

  1. малюємо житловий будинок з building:levels=9, без addr:housenumber;

  2. впритул малюємо магазин з building:levels=1, так само без addr:housenumber;

  3. створюємо нове відношення з type=building, в яке включаємо будівлі, зазначивши їм роль outline (цікаво, чи не сваритиметься валідатор? хоча це вже може бути проблемою валідатора);

  4. залишається відкритим питання: куди проставити адресу (addr:housenumber)? На відношення? На одну з будівель? Треба ж щоб і старі рендерери красиво обмалювали, і нові, "правильні" не були збиті з пантелику.

Мої вчорашні неправильні мультиполігони: http://www.openstreetmap.org/?lat=49.56 … 8&layers=M, там два будинки один з супермаркетом АТБ, інший з магазином світильників Brille.

Схоже, що доведеться експериментувати. Бо як пише wiki,

It is very important to use your brain to decide if or which suggestion make sense. You are the one who knows the local situation. It can make sense to combine suggestions or find some new scheme.

Тому й підняв питання тут - може вже хтось експериментував і знайшов красиве рішення, якого б усі могли дотримуватися?

P.S. Чим далі в ліс...
Знайшов нові варіанти

Обидва варіанти Proposed, обидва відносно свіжі.

Last edited by Lindoird (2011-04-17 15:08:15)

Offline

#4 2011-04-18 07:02:16

andygol
Moderator
From: Дніпро
Registered: 2009-07-31
Posts: 1,868
Website

Re: Будівлі з фрагментами різної поверховості

Мої вчорашні неправильні мультиполігони: http://www.openstreetmap.org/?lat=49.56 … 8&layers=M, там два будинки один з супермаркетом АТБ, інший з магазином світильників Brille.

IMHO, треба робити як тут - http://www.openstreetmap.org/browse/relation/1167779, це саме те про що я казав вище.

Offline

#5 2011-04-18 19:51:02

Lindoird
Member
From: Ukraine, Poltava
Registered: 2011-04-17
Posts: 3

Re: Будівлі з фрагментами різної поверховості

Цікаве рішення. Спробував відтворити ідею. Заодно отримав краще розуміння мультиполігонів.
Правда був насварений валідатором про невідповідність ролі house, але на цілком коректні вулиці з кількох відрізків він теж свариться.
Подивимось як це відрендериться та як шукатиметься. Коли ні - поле для експериментів ще вільне.

Offline

#6 2011-04-22 11:27:45

Lindroid
Member
From: Ukraine, Poltava
Registered: 2011-04-18
Posts: 331
Website

Re: Будівлі з фрагментами різної поверховості

Схоже, Nominatim з будівлями-мультиполігонами не дружить. Наприклад, пошук "17 Михайла Грушевського вулиця, Полтава" не діє. Так само як і для будинка-копії №21. А усі сусідні будинки: 6, 10, 12, 16, 16а і що характерно - № 19 між цими двома таким запитом знаходить аж бігом.


OpenStreetMap isn't a computer project, it's an outdoors activity.
Less of the bulk imports and wikifiddling please. Go outside and map!

Offline

Board footer

Powered by FluxBB