Ужасы адресации в Украине

edward17 можно попросить, подробнее описать, что именно имелось в виду? А то как-то не смог уловить идею, о чем собственно сообщение. “Причина - действие - следствие” - не могу найти.

Не поймите превратно, просто хочу, для себя, разобраться.

Да понять-то его не трудно.
Человек описывает такую ситуацию:
Имеем дом в виде полигона с тегами building=yes, addr:housenumber=13; addr:street=Леніна вулиця. Рядом проходит вей улицы с тегами вроде highway=residential, name=Леніна вулиця, name:ru=Ленина улица. А отношения associatedStreet для этой улицы нет.

Естественно, люди хотят видеть карту города в своём навигаторе, допустим, для Навител. Хотя проблема касается любых навигаторов и нави программ. Допустим, люди хотят видеть карту на русском языке.
При конвертации с указанием русского языка в конфиге получаем вот что:

  1. улица получает название “Ленина улица” (название берётся из name:ru)
  2. дом получает адрес из тегов addr:*, то есть, “Лэнина вулыця, 13” (ну или “Леніна вулиця, 13”, если в конвертере отключена транслитерация украинских названий.

Поясняю: на самом доме русскоязычных названий улицы нет. Догадаться, что русскоязычное название надо брать откуда-то из близлежащих линий, конвертер не в силах.

Внешне на карте этот косяк незаметен. Все улицы подписаны на русском. Но когда пытаешься найти дом по адресу “Ленина улица, 13”, получается облом.
Улица Ленина в поиске есть, но она без домов! Человек смотрит на карту - шо такое, вот ведь на карте видно и улицу Ленина, и дом 13 на ней. Какого чорта в поиске нет этого дома? Начинает искать по украинскому названию - оппа! А дом, оказывается, на “Леніна вулиця, 13”.

Собственно, для решения этой проблемы и рекомендуется для Украины вместо прописывания addr:street на каждом домике включать домики в отношение associatedStreet. А уже в тегах отношения и прописывать name, name:ru и т.д.
Тогда конвертер при обработке отношений возьмёт name:ru из тегов отношения и пропишет это название в адрес домика, входящего как член house в отношение.

http://dl.dropboxusercontent.com/u/14107903/test/test.html?street.relations.n

rem

Что показано на этой карте? Точки с неправильной адресацией?

показані зв’язки поруч з якими є об’єкти з ідентичним name/addr:street, що не включені в зв’язок.

Спасибо, буду исправлять

Голосування щодо визнання type=associatedStreet застарілим
https://wiki.openstreetmap.org/wiki/Talk:Relation:associatedStreet

Хм… Признано устаревшим?
И что предлагается взамен?

See discussion.

Один розумник поредагував wiki і написав, що цей тип звязків нікому не потрібен і що ним не потрібно користуватися.
Хтось помітив цю правку wiki і вирішив запитати “чи нормально що якись розумник позначив тег застарілим?” (Do you approve the deprecation?)

Звучит так:
“Я ниасилил отношения в своем мегаприложении, поэтому давайте удалим 10% адресов”

Чтобы проголосовать на вики нужно регистрироваться отдельно?

Да.

Просто интересно: почему в Украине рекомендуют использовать отношение associatedStreet, а не просто street?

http://forum.openstreetmap.org/viewtopic.php?pid=360979#p360979

Так, схоже, що ці говнюки без якихось домовленостей та інших пропозицій просто хочуть прибити зв’язок associatedStreet. Наразі результат 27 ЗА та 21 ПРОТИ. Треба тих, хто голосує ЗА, змусити потім виправляти всю Україну, а перед цим дати їм можливість вигадати новий зв’язок для мультилінгвів. Просто жопа. :confused:

А куди можна пожалітися у такій ситуації?

А сейчас?

Без змін.
https://github.com/twain47/Nominatim/blob/master/sql/functions.sql
– At the moment we only process one type of relation - associatedStreet

UkrainianZombie,
ніхто не може заборонити користуватися якимись тегами.
Видаляти звязки теж ніхто не буде.
Можливо німецька спільнота, звідки розпочалась дискусія, вирішить що використання звязків зайве, але навіть там вони не видалять звязки, а просто рекомендуватимуть “давайте більше не будемо створювати нових”, ну і тим більше не зможуть нікому заборонити створювати нові звязки за межами Німеччини.

dudka,
я правильно зрозумів, що можна писати ось так

addr:street=
addr:street:ua=
addr:street:ru=

і це буде зрозуміло для усього софту?

На вопрос не отвечу, но

неправильно. Правильно - addr:street:uk.

Зовсім ні.
addr:street буде корисним для софту, який не використовує звязки. Але я таких не знаю, реалізувати підтримку звязків досить просто, тому переважна більшість софту і конверторів їх підтримують. До того ж є утіліти(наприклад osmosis) які вміють копіювати теги звязків в теги їх членів. Єдиний випадок… addr:street корисний тим програмам які завантажують дані через overpass-api і не роблять жодної пост-обробки копіювання назви вулиці зі звязку.
addr:street:uk i addr:street:ru підтримуються одиничними програмами, мені відомий тільки конвертор osm2mp, але він також підтримує і звязки.
addr:street:** більш-менш поширені тільки :de i :it (taginfo), це мабуть якись імпорт в Швейцарії.
В межах України є трохи addr:street:** в Донецьку і поруч, а також одиничні випадки в Дніпропетровську, Одесі, Києві. Звязки ж включають 80% ліній що мають тег addr:housenumber. Очевидно, що більш розумним є додати всі будиночки в звязки ніж додати всім будиночкам спец-теги addr:street:**.

З іншого боку, як пишуть в межах дискусії на вікі, адресація через addr:street значно зрозуміліша новачкам і користувачам браузерних редакторів Potlach i iD. Я свого часу зробив валідатор, який відображає такі будинки з addr:street i addr:housenumber чи дороги з name=* поруч з якими є звязок з відповідним іменем. За допомогою валідатора і плагіна для JOSM relation toolbox в три кліки будинки додаються в звязок: клік Edit in JOSM в браузері, клік завантажити всі члени звязку(у вікні плагіну) і “+” щоб додати нові члени у звязок. Інколи звісно не все так просто: буває що новачки ставлять на дворові проїзди теги назви вулиці(тоді треба видаляти теги з назвою вулиці з цих ліній), або ставлять адресу школи на полігон території(тоді треба уважно переносити адресні теги на будівлю).