OpenStreetMap Forum

The Free Wiki World Map

You are not logged in.

#76 2012-10-08 05:37:21

dimonster
Member
Registered: 2012-07-08
Posts: 1,501

Re: Як правильно вказувати адресу ?

В першому випадку теги відношення обмежуються лише type і name,

А більше й не треба. А якщо й буде треба (як зараз у Харкові тимчасово додаємо street_id з номером), то можна додати й власні теги. Нема там тих обмежень.

assosiatedStreet допускає лише street і house, а street дозволяє прив’язати будь-який об’єкт до вулиці.

А більше й не треба. А якщо треба прив’язати якійсь об’єкт, що не є будинком, то просто пропишіть йому у релейшені роль house.

Так що ні в якому випадку не варто

Ще й як варто! Інакше й надалі будуть виникати дублі релейшенів.

Offline

#77 2012-10-08 07:36:18

_sev
Moderator
Registered: 2010-10-12
Posts: 719

Re: Як правильно вказувати адресу ?

dimonster wrote:

assosiatedStreet допускає лише street і house, а street дозволяє прив’язати будь-який об’єкт до вулиці.

А більше й не треба. А якщо треба прив’язати якійсь об’єкт, що не є будинком, то просто пропишіть йому у релейшені роль house.

Хлопці, де ви то взяли? На сьгоднішній день street та associatedStreet є повними сінонімамі.

Я сам починав мапити як associatedStreet, але потім, після виходу втулка relationtoolbox переключився на street через те, що підтримка associatedStreet в ньмоу певний час була відсутня.

Якщо ви бачите два зв'язки, їх треба об'єднати, один видалити, я видалаю більш нові. Об'єднання я роблю так:

  1. Вибрати відношення, яке буде видалено у reltoolbox (вулиця -> два кліка на відношенні)

  2. Скопіювати відношення у буфер обміну (ctrl + c)

  3. Праву кнопку на назві відношення -> Виділіти всі члени відношення

  4. Переключитися знову на відношення, видалити його

  5. Вибрати, яке залишиться (вулиця -> два кліка на відношенні у reltoolbox)

  6. Скопіювати теґи (ctrl+shift+v)

  7. У історії виділень знайти виділення всіх членів старого відношення (зазвичай воно перед пунктом "неможливо вибрати", тим, де було старе, вже видалене відношення)

  8. Перейти на редагування відношення (олівець у reltoolbox), відкриється стандартний діалог

  9. Зі списка справа перенести члени у відношення. Буде питання, чи дублювати члени у нове, сказати "ні", і можливо "більше не питати"

Трохи воно задовге, може якось написати плагін, але думаю, що то не часта операція.

Offline

#78 2012-10-08 21:58:18

iONiX
Member
Registered: 2009-08-14
Posts: 196

Re: Як правильно вказувати адресу ?

В першому випадку теги відношення обмежуються лише type і name,

А більше й не треба. А якщо й буде треба (як зараз у Харкові тимчасово додаємо street_id з номером), то можна додати й власні теги. Нема там тих обмежень.

Ну, так або так як в вікі написано, або так як хочеться. Тут треба вже вирішитися. Не можливо в одному місці казати, що треба слідкувати вікі, а в іншомо казати, що обмежень немає. В ОСМ взагалі немає ніяких обмежень на теги.

assosiatedStreet допускає лише street і house, а street дозволяє прив’язати будь-який об’єкт до вулиці.

А більше й не треба. А якщо треба прив’язати якійсь об’єкт, що не є будинком, то просто пропишіть йому у релейшені роль house.

Навіть якщо це віртуальний об’єкт? Тим самим підмінити одну суть іншою і втратити інформацію? Ні, дякую.

Так що ні в якому випадку не варто

Ще й як варто! Інакше й надалі будуть виникати дублі релейшенів.

Від дублів варто позбавлятися, але не варто змінювати масово одне відношення на інше без очевидних переваг, лише томущо одне відношення зручніше прописувати в одному редакторі.

Offline

#79 2012-10-09 05:37:35

dimonster
Member
Registered: 2012-07-08
Posts: 1,501

Re: Як правильно вказувати адресу ?

Навіть якщо це віртуальний об’єкт?

Якщо об'єкт має роль house, то мається на увазі, що об'єкт "виконує роль" будинка при адресації. Це не значить, що об'єкт сам стає будинком.

Якщо актор у театрі виконує роль Юлія Цезаря - це не значить, що актор насправді стає Юлієм Цезарем smile


Ну, так або так як в вікі написано, або так як хочеться.

Ну так у вікі й написано: type=associatedStreet
І не написано, що неможна додавати власні теги до релейшену. Але це будуть лише ваші власні теги. Ніхто не зобов'язаний їх потім обробляти (у конвертерах, у рендерах). А яких тегів у релейшені не вистачає? note? description?

Offline

#80 2012-10-09 07:49:37

iONiX
Member
Registered: 2009-08-14
Posts: 196

Re: Як правильно вказувати адресу ?

dimonster wrote:

[...]Якщо об'єкт має роль house, то мається на увазі[...]

І як ви пропонуєте це "мається на увазі" програмно розпізнавати?

Ну, так або так як в вікі написано, або так як хочеться.

Ну так у вікі й написано: type=associatedStreet
І не написано, що неможна додавати власні теги до релейшену. Але це будуть лише ваші власні теги. Ніхто не зобов'язаний їх потім обробляти (у конвертерах, у рендерах). А яких тегів у релейшені не вистачає? note? description?

Покажіть мені, де тут написано, що допускаються інші теги. Якщо "власні" теги ніким не будуть оброблятися, то для чого вони тоді потрібні?
Не вистачає, наприклад: highway, name:*, surface, ....

Offline

#81 2012-10-09 09:39:45

dimonster
Member
Registered: 2012-07-08
Posts: 1,501

Re: Як правильно вказувати адресу ?

І як ви пропонуєте це "мається на увазі" програмно розпізнавати?

Ви пишете в тегах об'єкта addr:housenumber=17 та включаєте його до релейшена вулиці "Такаято вулиця" у ролі house.
osm2pm розпізнає та призначить тому об'єкту адресу "Такаято вулиця, 17"

Якщо "власні" теги ніким не будуть оброблятися, то для чого вони тоді потрібні?

Вони потрібні лише тому, хто їх пише. Наприклад, як тимчасові відмітки при імпортуванні даних.

Не вистачає, наприклад: highway, name:*, surface, ....

Ці теги потрібні не в релейшені!
Ці теги мають бути на веях (відрізках) проїжджої частини вулиці, а також, якщо є потреба, на тротуарах.
Бо то є властивості лише відрізків, а не всієї вулиці як комплексу будинків, проходів та проїздів. До речі, часто буває таке, що одна й та сама вулиця має різні highway та surface на різних ділянках.

А релейшен потрібен для вказування адреси. Щоби показати, що оця пачка відрізків та оця купка будинків та земельних ділянок разом утворюють єдиний об'єкт - вулицю.

Offline

#82 2012-10-09 20:10:58

iONiX
Member
Registered: 2009-08-14
Posts: 196

Re: Як правильно вказувати адресу ?

dimonster wrote:

І як ви пропонуєте це "мається на увазі" програмно розпізнавати?

Ви пишете в тегах об'єкта addr:housenumber=17 та включаєте його до релейшена вулиці "Такаято вулиця" у ролі house.
osm2pm розпізнає та призначить тому об'єкту адресу "Такаято вулиця, 17"

ОСМ не обмежується навігацією і osm2mp.

Якщо "власні" теги ніким не будуть оброблятися, то для чого вони тоді потрібні?

Вони потрібні лише тому, хто їх пише. Наприклад, як тимчасові відмітки при імпортуванні даних.

І хто буде потім видаляти ці тимчасові теги? Як розпізнати, що тег тимчасовий?

Не вистачає, наприклад: highway, name:*, surface, ....

Ці теги потрібні не в релейшені!

Ці теги не потрібні Вам і зараз, але це не ознаяає, що вони не потрібні або не корисні взагалі. Треба дивитися ширше і в майбутнє.

Ці теги мають бути на веях (відрізках) проїжджої частини вулиці, а також, якщо є потреба, на тротуарах.
Бо то є властивості лише відрізків, а не всієї вулиці як комплексу будинків, проходів та проїздів. До речі, часто буває таке, що одна й та сама вулиця має різні highway та surface на різних ділянках.

А часто буває, що одна вулиця має однакову назву, покриття, статус, стан освітлення, напрямок, ширину проїзжої частини, обмеження швидкості, заборону/дозвіл на проїзд для всіх/окремих видів транспорту.... Не знаю на скільки близька Вам тема програмування, але почитайте про об’єкти та генералізацію, в ідеалі в UML.

А релейшен потрібен для вказування адреси. Щоби показати, що оця пачка відрізків та оця купка будинків та земельних ділянок разом утворюють єдиний об'єкт - вулицю.

Ось лише цим і обмежується associatedStreet! Відношення street дає набагато ширші можливості. Таким чином associatedStreet лише часний випадок street, а це означає, що при зміні всіх street на associatedStreet є вірогідність втрати інформації.

Offline

#83 2012-10-09 20:27:53

dimonster
Member
Registered: 2012-07-08
Posts: 1,501

Re: Як правильно вказувати адресу ?

ОСМ не обмежується навігацією

Так, але практично це одне з найпоширенішиз застосувань.

і osm2mp.

Пан знає інший конвертор у "польський формат"?

І хто буде потім видаляти ці тимчасові теги?

той, хто їх ставив

Як розпізнати, що тег тимчасовий?

можна вважати такими теги, які не описані у вікі та не сприйняті й не ухвалені товариством.

Ці теги не потрібні Вам і зараз, але це не ознаяає, що вони не потрібні або не корисні взагалі. Треба дивитися ширше і в майбутнє.

Це просто "самодіяльність".

А часто буває, що одна вулиця має однакову назву, покриття, статус, стан освітлення, напрямок, ширину проїзжої частини, обмеження швидкості, заборону/дозвіл на проїзд для всіх/окремих видів транспорту....

Це властивості лише проїжджої частини вулиці, але не всієї вулиці. Хіба будинки на вулиці мають всі ті " покриття, статус, стан освітлення, напрямок, ширину проїзжої частини"? Звісно, що ні.

Ось лише цим і обмежується associatedStreet! Відношення street дає набагато ширші можливості.

Це один і той самий тип відношення! Тільки слово "associatedStreet" рекомендоване до вживання, а про "street" написано, що його конвертор теж сприймає.

Offline

#84 2012-10-09 21:13:42

iONiX
Member
Registered: 2009-08-14
Posts: 196

Re: Як правильно вказувати адресу ?

Для Вас очевидно навігація є приорітетним способом  використання ОСМ даних, але ще раз - ОСМ не обмежується навігацією. А те що якийсь конвертор не знає як обробляти якісь дані, то це його проблема. В ОСМ панує принцип "якщо комусь щось треба, то він це робить". Тобто, якщо вам потрібно щоб osm2mp вмів щось обробляти, то ви його правите відповідно. Я розумію, що не всі програмісти, але на сьогодні це принцип на якому працює ОСМ.
На рахунок тегів. В ОСМ формально немає ніяких обмежень, є лише домовленості. Кожен або притримується цих домовленостей, або ні. У всякому випадку, видалення тегів, які не задокументовані в вікі, або не відомі Вам може прирівнюватися до вандалізму.

А часто буває, що одна вулиця має однакову назву, покриття, статус, стан освітлення, напрямок, ширину проїзжої частини, обмеження швидкості, заборону/дозвіл на проїзд для всіх/окремих видів транспорту....

Це властивості лише проїжджої частини вулиці, але не всієї вулиці. Хіба будинки на вулиці мають всі ті " покриття, статус, стан освітлення, напрямок, ширину проїзжої частини"? Звісно, що ні.

В оприділенні відношення street не має чіткості. Там навіть написано, що можливо варто використовувати associatedStreet для прив’язування будинків до вулиці і включати це відношення у свою чергу до street. Те оприділення можна трактувати і так: об’єкт street має властивості (теги) і складається з відрізків у ролі street, а address/house/associated/others є посилання на об’єкти які зв’язані з street.

Offline

#85 2012-10-10 05:09:26

dimonster
Member
Registered: 2012-07-08
Posts: 1,501

Re: Як правильно вказувати адресу ?

А те що якийсь конвертор не знає як обробляти якісь дані, то це його проблема.

Проблема не в якомусь конкретному конверторі.

Мають бути єдині встановлені правила та способи маплення. І під ці правила також роблять і конвертор. А коли кожен маппер встановлює свої правила, а автор конвертера з ними не погоджується або навіть не знає про них, то й отримуємо неправильні мапи.

Offline

#86 2012-10-10 07:51:07

iONiX
Member
Registered: 2009-08-14
Posts: 196

Re: Як правильно вказувати адресу ?

Тоді переконуйте людей, робіть кращі пропозиції. Мене Ви не переконали, що associatedStreet має переваги над street, а я очевидно не зміг переконати Вас, що street краще за associatedStreet. В такій ситуації масові зміни одного відношення на інше не допустиме.

Offline

#87 2012-10-10 08:14:40

dimonster
Member
Registered: 2012-07-08
Posts: 1,501

Re: Як правильно вказувати адресу ?

Якщо застосування релейшенів типу street надає ті ж самі можливості, що й застосування релейшенів типу associatedStreet плюс додаткові можливості, то тоді навіщо існує associatedStreet ?

Як на мене, застосування двох типів релейшенів задля майже однакових цілей - це зайва плутанина у даних та зайва можливість виникнення помилок.

Offline

#88 2012-10-10 09:51:47

_sev
Moderator
Registered: 2010-10-12
Posts: 719

Re: Як правильно вказувати адресу ?

dimonster wrote:

Якщо застосування релейшенів типу street надає ті ж самі можливості, що й застосування релейшенів типу associatedStreet плюс додаткові можливості, то тоді навіщо існує associatedStreet ?

Історично, сумісність залишили власне щоб запобігти масових перейменувань.

Offline

#89 2012-10-10 11:11:19

Larry0ua
Member
Registered: 2010-09-19
Posts: 1,061

Re: Як правильно вказувати адресу ?

тут більше йдеться про різницю між street (який скорочення від associatedStreet) і іншим пропозалом, який також використовує type=street і має додаткові ролі address, associated, etc.

синонім ролі address=house можна зрозуміти, а от що таке associated - неясно.

Offline

#90 2012-10-10 18:09:44

iONiX
Member
Registered: 2009-08-14
Posts: 196

Re: Як правильно вказувати адресу ?

Larry0ua wrote:

[...]що таке associated - неясно.

Наприклад велодоріжка або тротуар, які відділені від проїзжої частини і замаплені окремою лінією.

Offline

#91 2012-10-11 08:56:03

Larry0ua
Member
Registered: 2010-09-19
Posts: 1,061

Re: Як правильно вказувати адресу ?

iONiX wrote:

...велодоріжка або тротуар...

навіщо? smile можете придумати сценарій, де буде потрібна ця інформація?

Вікі каже:

Вулиця — обмежений принаймні з одного боку рядом будинків простір у межах міста або іншого населеного пункту, призначений для проїзду транспорту та ходіння.

Зазвичай вулиця обмежена рядами будинків з обидвох сторін проїзної частини. Обов'язковим елементом вулиці є хідник (тротуар) для пішоходів. Додатковими елементами вулиць можуть бути трамвайні колії, велосипедні доріжки, розподільчі смуги (зелені насадження, газони) й огорожі. Крім того, уздовж вулиць під хідниками та проїзною частиною прокладаються численні міські комунікації: водо- та газорозподільні системи, теплові мережі, лінії зв'язку, електричні кабелі тощо.

але я не впевнений, що ми маємо мапити саме цей об"єкт, з усією територією, всіма комунікаціями і т.д.

отож, якщо ви впевнені, що associated потрібна, опишіть, як виділити з усіх об"єктів вулиці ті, що мають так позначатись? наприклад, house - це лінія/точка/зв"язок з тегами building або addr:housenumber, street - highway=*

Offline

#92 2012-10-11 09:07:54

dimonster
Member
Registered: 2012-07-08
Posts: 1,501

Re: Як правильно вказувати адресу ?

ут більше йдеться про різницю між street (який скорочення від associatedStreet)

я це й мав на увазі

Offline

#93 2012-10-11 09:19:12

dimonster
Member
Registered: 2012-07-08
Posts: 1,501

Re: Як правильно вказувати адресу ?

якщо ви впевнені, що associated потрібна, опишіть, як виділити з усіх об"єктів вулиці ті, що мають так позначатись?

вуличні ліхтарі, урни для сміття, пішоходна огорожа вздовж вулиці, дерева, вуличні лінії електромережі, спортивні та дитячі майданчики.

Offline

#94 2012-10-11 09:32:43

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

Re: Як правильно вказувати адресу ?

Дядьки, я щось не пойму, поясніть - яка з цього associated практична користь? Яка віддача на виході? Ну от хтось витратить свій час (дуже цінний ресурс) на те щоб повключати у відношення все довкола. І?
Мені абсолютно байдуже до якої вулиці прив'язана урна, в яку я викину сміття smile
І який конкретно ліхтар на неї світить - мені цікавіше чи взагалі освітлена ділянка дороги, тому я просто поставлю lit=* на вей.

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


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

Offline

#95 2012-10-11 10:32:40

dimonster
Member
Registered: 2012-07-08
Posts: 1,501

Re: Як правильно вказувати адресу ?

та чорт з ним, з тим associated та тими урнами. Є більш серйозні проблеми з адресацією
1) підтримка багатомовності
2) позначення різних вулиць з однаковою назвою, які розташовані у різних районах міста
3) прив'язування сіл та міст до районів області (бо є у одній області різні села з однаковою назвою, але в різних районах)
4) підтримка під'їздів у багатоквартирних будинках у адресному пошуку

Offline

#96 2012-10-11 12:18:56

_sev
Moderator
Registered: 2010-10-12
Posts: 719

Re: Як правильно вказувати адресу ?

У нормально побудованих користувачів даних ОСМ (тобто, конвертерів, БД, тощо) належність об'єкта до певної адмінодиниці визначається на підставі вкладеності у певну ієрархію оточуючих багатокутників з теґом boundary. Все. Ви ж не додаєте addr:country до кожного будинку та вулиці. Власне це і відрізняє просту базу від геобази.

Тобто, для вирішення пунктів 2 та 3 потрібно намалювати відповідні кордони. У Харкові, до речі, маплення районів міста так досі і стоїть у планах
.
Пункт 1 вирішується шляхом забирання відповідного name з членів відношення, позначених за типом street. Власне так працює Номінатім, і було б немудро ще щось вигадувати, бо хто його буде підтримувати?

Для пункту 4 є теґ addr:flats на точці entrance (раніше building:entrance), яку треба поставити прямо на лінію будинка. Яких конвертор/сайт це підтримує, я не в курсі. Звичайно, для маршрутизації буде потрібно намалювати всі дворові проїзди.

Стосовно конвертера у MP, то чому б не зробити форк проекту зі специфічними для України змінами? liosha, здається, просто нецікаво тим займатися, но у тому і є переваги програмного забезпечення з відкритим кодом, можна завжди зробити форк.

Offline

#97 2012-10-11 12:36:34

olehz
Member
From: Lviv
Registered: 2011-08-11
Posts: 724
Website

Re: Як правильно вказувати адресу ?

_sev wrote:

Тобто, для вирішення пункту 2 потрібно намалювати відповідні кордони. У Харкові, до речі, маплення районів міста так досі і стоїть у планах

Вулиця може проходити через кілька районів чи мікрорайонів. Вкладеність тут не спрацює. Один з варіантів ставити addr:suburb на екс-сільську вулицю, а вулицю в центрі з такою ж назвую залишати без addr:suburb.

Offline

#98 2012-10-11 12:42:56

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

Re: Як правильно вказувати адресу ?

olehz wrote:

Один з варіантів ставити addr:suburb на екс-сільську вулицю, а вулицю в центрі з такою ж назвую залишати без addr:suburb.

До відома: комерційні постачальники геоданих так і роблять, в таблиці є окреме поле suburb, новоприбулим до міста колишнім сільським вулицям вписують назву місцевості, хоча це мінус місцевій владі - їх слід перейменовувати.


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

Offline

#99 2012-10-11 13:37:02

dimonster
Member
Registered: 2012-07-08
Posts: 1,501

Re: Як правильно вказувати адресу ?

Щодо того, щоби конвертор брав локалізовані назви вулиць з name відрізків вулиць, я вже тиждень вмовляю liosha включити той патч до конвертора. Але liosha має трохи альтернативне мислення. Починає вигадувати якісь нові та незручні способи прописування локалізованих назв. Щодо автоматичного приписування сіл та міст районного значення до відповідних районів - теж проблема. liosha відмовляється це робити. І мені вже набридло його вмовляти. Він не дівчинка, щоби я за ним бігав та вмовляв.

Єдина слушна ідея - прописувати addr:suburb, addr:suburb:ru, addr:suburb:en у тегах релейшена. Бо автоматично прив'язати вулиці з однаковими назвами до районів міста скоріше за все не вийде.

Робити форк проекту osm2mp у мене не вийде. Ну, не розуміюся я на програмуванні на перлі. Крім того, для цього треба добре розібратися у форматі OSM, польському форматі та особливостях конвертації під конкретну навігаційну програму sad

Offline

#100 2012-10-11 13:42:44

_sev
Moderator
Registered: 2010-10-12
Posts: 719

Re: Як правильно вказувати адресу ?

dimonster wrote:

Робити форк проекту osm2mp у мене не вийде. Ну, не розуміюся я на програмуванні на перлі. Крім того, для цього треба добре розібратися у форматі OSM, польському форматі та особливостях конвертації під конкретну навігаційну програму sad

Е-е-е-е, нащо? У тебе є патч. На гітхабі підніми гілку, додай туди свій патч, і користуйся. Завтра може буде ще одна проблема, якщо liosha не захоче її включати до загальної версії, знову таки, додати собі.

Offline

Board footer

Powered by FluxBB