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

Хотите, могу выложить небольшой проверочный стиль для Josm который раскрашивает веи/дома в зависимости от адресной инфомации на них. Ничего особенного, но помогает неплохо.

А несоответствие name в relation и name на каком нибудь из веев показывает сам плагин Relation Toolbox восклицательным знаком. Но правда только для name. На name:xx он внимания не обращает.

Давай.
Правда, валидатор он не заменит.

Вот
Все просто.
Дома:

  1. Без номеров полностью красные.
  2. С номерами но без информации о улице желтые.
  3. С номерами и addr:street:* но не учавствующие в relation - желтый контур.
  4. “Нормальные” дома участвующие в relation и имеющие номер полностью белые.
  5. Если у дома есть и addr:street и участие в relation он выделяется синим, как имеющий избыточную информацию.
    Улицы:
  6. Полноценные веи c полным набором name и участием в relation - зеленые.
  7. Веи с полным набором имен, но без relation оранжевые.
  8. Веи у которых отсутствует что то из name:ru/name:uk/name:en - желтые.
  9. Веи без name красные.
    Вроде ничего не напутал. Просьба за код не бить, все было набросано на скорую руку без чтения мануалов :slight_smile:

Ну а несовпадение name relation с name какого нибудь из веев показывает RelationToolbox.

ЗЫ Сильно облегчает жизь также плагин continuosDownload.

ЗЗЫ Забыл добавить что все это было нагло стибрено здесь и здесь :slight_smile:

я оставлял заявочку на доработку тут, но был проигнорирован, а вот на статейку http://shtosm.ru/2013/01/21/1/ время нашлось…

Barbos
Да, статья забавная.
Ну а по поводу того что проигнорировали, так чего тут хотеть, этож действительно opensource, со всеми минусами но и плюсами.
Не хотите случаем Java подучить? :smiley: А то я если честно не хочу.

да я в Java тоже полный ноль, но если вариантов нет, то…

на скорую руку…
http://rghost.ru/43221221
при создании нового отношения, после нажатия на кнопку fix, дополнительно копируются name:ru и name:en, ели они есть на веях, в name:uk копируется значение name :expressionless:

Barbos
Спасибо большое! То что надо.
Минус куча кликов при создании associetedStreet. Круто :slight_smile:

Только ему нужен JOSM не меньше чем 5613 пришлось перейти на latest версию.

Дописал в свой черновичок про систему адресации ешё пару нюансов: про нумерацию подъездов и адресацию домов, нарисованных мультиполигонами.
http://forum.openstreetmap.org/viewtopic.php?pid=305091#p305091
Просьба взглянуть.

в общем случае это некорректно. Т. к. в name может быть название не на украинском.

dimonster
Так эта кнопка нужна при создании relation. А перед тем как его создавать все равно нужно проверять правильность тегов веев.

В ближайшее время попробую что нибудь набросать. Как минимум задача интересная :slight_smile:

Хочу обговорити масові видалення тегів addr:street.
http://www.openstreetmap.org/browse/changeset/14852086
http://www.openstreetmap.org/browse/changeset/14852450
http://www.openstreetmap.org/browse/changeset/14852508

По-перше, relation|type=street все ще тільки в пропозалах. Його використання - на свій страх.
По-друге, схему тегування по way|addr:street ніхто не відміняв, вона актуальна і підтримується більшістю користувачів осм-даних.
По-третє, це просто самоуправство без обговорень переводити все на одну схему.
По-четверте, відсутність addr:street спонукає новачків, які не знають про звязки, витрачати час на внесення даних(часто з помилками) в addr:street будинку.

Особисто я сприймаю ці правки як вандалізм.

Вважаю допустимим створення street-звязків, в тому числі й для підтримки багатомовності, але не вважаю це за причину масово видаляти addr:street.

По-перше, масові зміни були б, якби я всюди почав би видаляти addr:street, а так я це зробив тільки там, де до цього інші правки робив.
По-друге, street/associatedStreet рівнозначні і давно використовуються. Ви користуєтесь виключно “затвердженими” тегами?
По-третє, в Україні, наскільки я пам’ятаю, прийшли до згоди використовувати відношення замість простих тегів. Так проблема з новачками може існувати, але треба серед них проводити роз’яснювальну роботу, а не підтримувати недосконалу систему адресації.
По-четверте, на скільки я знаю, всі основні компоненти ОСМ розуміють схему адресації через відношення. Якщо я помиляюсь, то наведіть приклади.

Знов за рибу гроші :frowning:

  1. Це не є вандалізм, оскільки інформація про приналежність будинку до вулиці не знищується.
  2. Використання релейшенів давно прийняте, прописані схеми тегування, є інструменти для роботи з associatedStreet у JOSM, конвертор osm2mp розуміє релейшени, Номінатім розуміє релейшени.
  3. Використання релейшенів дозволяє зробити карти з адресним пошуком на будь-якій мові (російський, українській, англійській (трансліт)), що припинить “мовні війни” у Криму та інших областях, де русіфіковані на всю голову мапери.

Краще давайте попросимо команду розробників Потлача додати зручний інструмент для додавання та редагування релейшенів вулиць.
Новачки частіше використовують Потлач. Якщо буде у Потлачі можливість зручної роботи з релейшенами - новачки будуть використовувати релейшени.

Читаем http://forum.openstreetmap.org/viewtopic.php?id=10170

То есть этот гайд неправильный?

dimonster, спокойней, тут речь немного о другом…

прочитал, про удаление уже проставленных тегов там ничего не сказано…

iONiX, dudka может договоримся: если теги addr:street (которые находятся в релешке) не содержат ошибок (согласно правилам укр адресации) - то их не трогаем, а если с ошибками - можно удалить, если лень исправить (и это не призыв сразу все проверять и удалять)

Що з можливим задвоєнням адресної інформації? osm2mp вибирає тільки одну схему адресації, якщо обидві присутні, а як з іншими програмами? Якщо вони теж не мають проблем, то мені персонально теги addr:street не заважають. Тим не менш, я не бачу аргументів для їх використання, крім як “зручніше для новачків”.

Якщо на будинку є тег addr:street та будинок при цьому включений до релейшена вулиці, то osm2mp спочатку пропише назву вулиці з тегу addr:street, а потім візьме назву з релейшена та перезапише.

Весело буде, якщо будинок помилково включений не до того релейшена, або назва вулиці записана з помилкою.
Новачки будуть довго думати, чого це будинок у навітелівській карті прописаний по вулиці Іванова, хоча на будинку написано addr:street=Петрова вулиця. :roll_eyes:

Але ще веселіше без релейшенів, коли на російськомовній карті на лінії вулиці написано “Советская улица”, а у адресному пошуку всі будинки приписані до вулиці Радянської, а вулиця Советская без будинків.

В тих трьох наборах змін addr:street було видалено у майже 100 будинків. Досить таки масово. Але всеодно суть не в цьому.
В Україні ніхто не приходив до згоди використовувати street-звязки замість простої схеми тегування адресації.
Я не маю нічого проти street-звязків, можете написати скрипт і нагерувати собі цих звязків скільки завгодно. Ще є майже 20000 ліній у яких вказано addr:street не включено до street-звязку.
Ще раз: схема адресації на базі звязків не заміняє схему адресації по addr:street. Може доповнювати її, але створення звязку не повинно призводити до видалення даних відповідно іншої схеми. Так як минулорічна схема тегування громадського транспорту не відміняє highway=bus_stop.
Подивіться Європу, багато там проадресовано зв’язками? Я б сказав, що зовсім небагато.

iONiX, addr:street для тих майже ста будинків додавали не ви. Тож, якщо вони вам не заважають, то будь ласка не видаляйте їх. Заодно й ченджсети швидше відправлятимуться на сервер.

dimonster, osm2mp все ще не розуміє неіменовані звязки. iONiX саме такими їх і зробив. При цьому видаливши addr:street залишив osm2mp взагалі без даних. Relations: 2731617,2731618,2731619,2731620,2731662,2731663,2731675.

Vanuan, той гайд правильний, але не зовсім. Частково завдяки написаному там “Проставлять addr:street в дом не нужно” по всій Україні зараз десятки тисяч будинків у яких вказано номер і не вказано вулиць.
http://forum.openstreetmap.org/viewtopic.php?pid=266398#p266398

Погоджуюсь з Barbos’ом щодо вирішення питання у вигляді “если теги addr:street (которые находятся в релешке) не содержат ошибок (согласно правилам укр адресации) - то их не трогаем”.

dimonster, ось прямо в Харкові є такий будинок.
way|addr:street = Желябова провулок
relation|name=Свердлова провулок
Як конкретно в цьому випадку правильно - не знаю, більше схильний вірити інформації в addr:street.

Вообще говоря схема c addr:street тегами мне представляется кривой, неудобной и некрасивой по сравнению со схемой relation. Не понимаю почему dudka так мил этот вариант.
Но раз вопрос приводит к конфронтации, то поддержу Barbos Это пожалуй наиболее компромисный вариант, который видимо устроит всех.

А я бы наоборот, если addr:street проставлен правильно и совпадает с name улиц из отношений associatedStreet или street - удалял бы addr:street, как дублирующуюся информацию, которую к тому же сложнее поддерживать в актуальном состоянии. Мы же не ставим addr:city на каждый дом, зачем ставить addr:street, если задача отлично решается отношениями? А потлатчеров ловить за руки и пересаживать на JOSM, все равно в этом недоредакторе сделать что-то правильно и качественно практически невозможно.

dudka, Ви за сервер не переживайте, він справиться з моїми змінами. Ті 100 будинків, про які Ви кажете, це всього на-всього 7 перероблених вулиць. Так, тег name я пропустив - зараз добавлю, та поверну Вам теги name на будинки, але запам’ятайте: Те, що name додавав не я (Ви?), не означає, що я не можу їх видалити, якщо мої правки валідні. ОСМ проект спільноти, а не декількох людей!

Почитайте уважно Karlsruhe Schema.

Виділення моє.

Ще трохи історії для Вас: Схема адресації через теги була придумана в німецькому місті Карлсруе, тому і носить назву “Схема Карлсруе”. В Німеччині майже не існує дивних схем адресації, кожний під’їзд має зачасту свій офіційний номер. Через це адресація через теги так поширена в Німеччині, бо вона дуже добре підходить до реальної адресації. Про інші країни Європи точно сказати не можу, але в західній Європі адресація дуже схожа на адресацію в Німеччині. Дивні схеми адресації я зустрічав лише в східній Європі.

Vanuan, все там правильно написано, щоб впевнитися в цьому треба читати першоджерела.

dimonster, треба ще перевірити як мінімум Nominatim та OsmAnd.