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

dimonster
Попробую выловить всех блох и посмотрим. :slight_smile:

Я тут подумал…
Может, в русской ветке форума и в русской статье вики про адресацию расписать подробно. (Выложу, когда обсудим все детали).
Типа так:

Преамбула:
В Украине, как и в других бывших республиках СССР, есть много народу, которые хотят иметь карты на родном языке, и много другого народа, которые хотят карты на русском языке. Поэтому приходится указывать для каждой улицы, населённого пункта, района, области и всяких там POI сразу несколько вариантов названия на разных языках. Использовать транслитерацию названий не получается. Пример: “Радянська вулиця - Советская улица”, “Квітковий бульвар - Цветочный бульвар”.

При этом нужно, чтобы:

  1. Система адресации нормально работала на любом языке. Чтобы не было на карте “Социалистическая улица”, а в базе адресного поиске она же “Соціалістична вулиця”, причём домики привязаны непонятно к какой из “улиц”.

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

Поэтому практически выведены такие правила адресации:

Тегирование домиков:

  1. теги addr:country, addr:city, addr:street, addr:region, addr:district и прочие addr:чегототам на домах НЕ ИСПОЛЬЗУЮТСЯ! Кроме addr:housenumber (или addr:housename, но он реально нигде не нужен)
    Номера домов с буквами указываем без пробелов и дефисов. Буквы пишем в нижнем регистре кириллицей.

Например,

addr:housenumber=12а
  1. привязывание домиков к улицам, (а при адресации по микрорайонам - к микрорайонам) делается с помощью релейшенов (отношений) типа associatedStreet. (см. ниже)
  2. остальные теги домиков пишем как обычно (building=yes или что-то иное, этажность, amenity и др.)
  3. если один домик официально имеет несколько адресов, например, находится на пересечении улиц Иванова и Петрова и имеет два адреса: “Иванова улица, 1” и “Петрова улица, 14”, то на контуре домика пишем тот номер дома по тому адресу, который используется чаще. Потом ставим внутри контура точку, пишем на ней building=yes и пишем номер дома по второму адресу.
    Затем контур дома включаем в отношение для улицы Иванова, а точку с номером включаем в отношение для улицы Петрова.
    Получаем:
    -Полигон дома с тегами building=yes, addr:housenumber=1, включен в отношение улицы Иванова
    -Точку с тегами building=yes, addr:housenumber=14, включен в отношение улицы Петрова
    (надо уточнить, нужно ли на точку ставить building=yes. По логике, не нужно, но надо чтобы конвертер это понимал)
  4. Если здание выстроено замкнутым кольцом, то его рисуем двумя линиями: внешний контур и внутренний контур. После чего выделяем оба контура и создаём мультиполигон (роль inner для внутреннего контура, роль outer для внешнего контура). В тегах мультиполигона пишем building=yes (или apartments, house или что там ещё), addr:housenumber=…, amenity=…. и др.
    Потом мультиполигон здания включаем в отношение соответствующей улицы.
  5. если один физический домик поделён на два логических домика с разными номерами, то рисуем это чудо как два домика с разными номерами. Можно контуры этих домиков слепить вместе. Пример: Харьков, Социалистическая улица, 68 и его “сиамский близнец” 68А.
  6. если рядом с домом имеется отдельно стоящий магазин или киоск с тем же номером, то (… пока не знаю как обозначить. Обсуждаем…)
    Пример: Харьков, Полтавский Шлях, 148/2 (жилой дом и магазинчик недалеко от этого дома у входа в метро).

– Вопрос: Почему нельзя поставить два номера через дробь на контур дома и включить дом в два отношения?
– Ответ: Потому что тогда непонятно к какой улице относится какой номер дома.

– Вопрос: А почему так получается, что для одного домика нужно два объекта - контур и точка. Дом-то один.
– Ответ: Дом один, а адресов два. В реальности само наличие двойных (тройных, четверных) адресов - это извращение и маразм. Нечто вроде одного человека с двумя паспортами на разные имена и фамилии. Поэтому и в OSM это явление отображается извращёнными средствами и кажется маразмом.

Тегирование подъездов в многоэтажках

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

  1. на линии контура дома ставим точку в том месте, где расположен вход в подъезд
  2. на эту точку ставим теги entrance=yes, ref= номер подъезда (1,2,3 и т.д.) Например, ref=1

Конвертер osm2mp пока не поддерживает адресацию подъездов, но Liosha обещал добавить такую возможность.

Тегирование линий улиц

  1. Линии улицы подписываем по названию, используя теги name, name:ru, name:uk и другие name:xx
  2. В теге name пишем название улицы на украинском языке (кроме Крыма - там отдельный разговор, но в принципе, тоже на украинском).
  3. В тегах name:ru, name:uk и прочих name:xx пишем название улицы соответственно на русском, украинском и xx-ском языках
  4. Название улицы на английском языке (name:en), если оно получено простой транскрипцией, можете не писать. Его потом автоматически проставит робот “_sevbot”. (Вопрос про робота спорный. Пожалуй, желательно, чтобы название на “таком-то” языке писал человек-носитель этого языка)
  5. Статусную часть названия (слова вулиця, улица, Street, провулок, переулок, Lane и т.д.) пишем обязательно, указываем полностью, без сокращений и в конце названия.

Например:

name=Радянська вулиця
name:ru=Советская улица
name:uk=Радянська вулиця

Учтите, что для многих населённых пунктов существуют официальные перечни названий улиц на украинском и на русском языке. Желательно сверяться с ними.

– Вопрос: Почему не “ул. Советская” или “Советская ул.”?
– Ответ: Для однообразия. Это важно для компьютера. И так меньше ошибок.

– Вопрос: Почему надо указывать одно и то же название и в name, и в name:uk ?
– Ответ: Чтобы после “языковых войн” можно было бы всё-таки получить из базы название на украинском языке. Впрочем, в тех местах, где “войн правок” не происходит, можно ограничится украинским названием в name.

– Вопрос: А если я не знаю украинского названия?
– Ответ: Не знаешь - не пиши. Будет улица без тега name. Либо спроси на форуме. Либо узнай из официальных документов.

– Вопрос: А я хочу видеть на карте названия на русском языке. А на osm.org выдаёт украинские! Что делать?
– Ответ: Используйте рендер www.toolserver.org. Например, на http://openstreetmap.org.ua/ мы сделали для выбора языка кнопки name:uk, name:ru. Или ждите, когда подобный инструмент появится на главной странице osm.org (насколько я знаю, работы по этой теме ведутся).

Привязка домиков к улицам (или микрорайонам) с помощью релейшенов (отношений):

  1. выбираем мышкой все линии с тегом highway, относящиеся к данной улице, а также все домики, относящиеся к данной улице
  2. создаём отношение
    В тегах отношения (вверху) указываем тип type=associatedStreet (можно использовать и тип street, но желательно, чтобы в пределах одного населённого пункта использовался только один тип использовать тип street не рекомендуется).
    В тегах отношения указываем названия улиц на разных языках. Так же, как это делали на линиях улиц.
name=Радянська вулиця
name:ru=Советская улица
name:uk=Радянська вулиця

Добавляем в отношение участников (выбранные нами линии улицы и домики).
После добавления прописываем для каждого участника отношения его роли.
Для линии улицы пишем роль street, а для домика роль house.

Если домики адресуются не по улицам (“Советская улица, 72”) а по микрорайонам ("Юбилейный микрорайон, 72), то в тегах отношения пишем названия микрорайона на разных языках.

name=Ювілейний мікрорайон
name:ru=Юбилейный микрорайон
name:uk=Ювілейний мікрорайон

При адресации по микрорайонам в релейшене отсутствуют учасники с ролью street. JOSM на это ругается, но ничего не поделать, пусть ругается.
Учтите, что в программе СитиГид адресация по микрорайонам всё равно не поддерживается. (уже вроде поддерживается)
Если вы, я надеюсь, используете редактор JOSM, то рекомендую установить плагин для работы с отношениями RelationToolbox.

  1. Если в населённом пункте имеются улицы - “однофамильцы” в разных районах, то в теги отношений для таких улиц добавляем тег
    addr:suburb с названием района города, в котором расположена эта улица. Не забудьте обозначить сам район точкой или полигоном с тегом place=suburb и названиями (name, name:ru, …).

  2. для одной улицы (микрорайона) создаём только одно отношение. Даже если улица имеет разрывы или состоит из нескольких линий.
    Если кто создал два отношения для одной и той же улицы, то надо убедиться, что это одна и та же улица, а не разные одноимённые улицы в разных районах, после чего выделить всех членов второго отношения, добавить их в первое, не допуская дубли, после чего второе отношение удалить. Потом выделить всех членов первого отношения и проверить правильность.

– Вопрос: А зачем названия прописывать дважды: сначала на линиях улиц, а потом в релейшене?
– Ответ: Потому что конвертер не хочет брать названия улиц из тегов линий улиц. Поэтому названия на линиях улиц пишутся для того, чтобы их было видно на карте, а названия в тегах релейшена пишутся для базы адресного поиска.

– Вопрос: А нельзя ли написать на домике addr:street=Радянська вулиця, на линиях улицы написать name=Радянська вулиця, name:ru=Советская улица. А потом заставить конвертер искать улицу с названием “Радянська вулиця”, чтобы взять с неё русскоязычное название?
– Ответ: Нельзя! Конвертер этого не умеет и не будет. Все вопросы - к Liosha.

– Вопрос: А можно использовать теги типа addr:street:ru
– Ответ: Нет. Во-первых, это неудобно. Во-вторых, вызовет кучу возможных ошибок. Например, если на домике забыли написать название улицы на каком-то языке, то при создании карты на этом языке он выпадет из поиска.

– Вопрос: А почему не рекомендуется тип street?
– Ответ: Потому что 1) street не поддерживается системой nominatim 2)для однообразия и уменьшения путаницы, когда для одной и той же улицы вдруг окажется два релейшена разных типов 3) в плагине RelationToolbox в JOSM работать с associatedStreet удобнее (есть автозаполнялка ролей и name, правда name:ru придётся вручную прописать).

Привязка улицы к населённому пункту

  1. никаких тегов для привязки улицы, дома или микрорайона к городу (деревне) дописывать НЕ НУЖНО.
    Необходимо и достаточно, чтобы линии улицы и все домики находились целиком ВНУТРИ границы населённого пункта.

– Вопрос:А если укажу?
– Ответ: Тогда в базе адресного поиска может появиться два города. Причём все дома будут в одном городе, а ваш домик в другом.

Тегирование населённых пунктов и привязка улиц к населённым пунктам:

  1. населённый пункт обозначается точкой в условном центре населённого пункта, а также границой территории населённого пункта.
    При наличии в населённом пункте именованых улиц границу рисовать обязательно!
  2. точка-центр и граница (помимо прочих тегов) должны иметь теги place и нзвания на разных языках
    Например,
place=town
name=Іванівка
name:ru=Ивановка
name:uk=Іванівка
  1. Дописывать к названию статусную часть (слова “деревня”, “село”, “город”, с.м.т и т.д) не нужно.
    В виде исключения допускается дописать статусную часть в случае, если имеется два населённых пункта в одном районе, но один из них село, а другой посёлок, и по другому их не различить
    Например, в Харьковской области почти рядом есть две Одноробовки - село и посёлок:
place=village
name=Одноробівка
name:ru=Одноробовка
name:uk=Одноробовка
place=village
name=Одноробівка селище
name:ru=Одноробовка посёлок
name:uk=Одноробовка селище
  1. Если населённый пункт имеет “однофамильца” в другом районе, то можно в тегах обоим указать район (на украинском языке)
place=town
name=Борова
name:ru=Боровая
name:uk=Борова
addr:district=Борівський район

place=town
name=Борова
name:ru=Боровая
name:uk=Борова
addr:district=Зміївський район

(в будущих версиях В новой версии конвертора osm2mp планируется действует автоматическая привязка населённых пунктов к районам. Тогда Теперь указывание addr:district станет ненужным уже не требуется)

  1. Если населённый пункт имеет “однофамильца” в том же районе, его нужно привязать к территории местного совета (городского совета, поселкового совета, сельского совета).
    Тут пока есть два варианта:
    а) временный, но не очень правильный
    На точке и на границе населённого понкта указать принадллежность к местному совету, например addr:subdistrict=Козіївська сільська рада
    б) правильный, но пока трудно выполнимый
    Обозначить границы территории местного совета, указать на отношении границы теги boundary=administrative, admin_level=8, name=Козіївська сільська рада, name:ru=Козиевский сельский совет. Убедиться, что территория населённого пункта целиком попадает в эти границы.

– Вопрос:А конвертер osm2mp это понимает?
– Ответ: Пока не знаю, надо проверить.

– Вопрос:А как узнать, что у населённого пункта есть “однофамильцы”?
– Ответ: После конвертации “польский” формат откройте файл карты области в GPSmapedit, запустите проверку карты. В списке ошибок увидите ошибки типа “Более чем один населённый пункт проиндексирован как “Ивановка”” со ссылками на эти населённые пункты.

– Вопрос:А как найти населённый пункт, который я вижу в GPSmapedit, на карте OSM?
– Ответ: В GPSmapedit щёлкните правой кнопкой мыши на объекте, выберите “Свойства” - “Комментарий”. В комментариях будет указан номер объекта по базе данных OSM. Откройте JOSM и загрузите объект с этим номером, а потом и прилегающую к нему часть карты.

Привязка населённых пунктов к области

Не требуется. Потому что:

  1. Обычно карта Украины нарезается по областям. И при нарезке название каждой области задаётся вручную.
  2. Конвертор osm2mp привязку районов и городов к области выполняет автоматически, если город или район геометрически находится внутри границ области.

dimonster
О. Подробно, доступно и поясняются многие неочевидности. ИМХО то что нужно. :slight_smile:
Правда сейчас конечно же придет _sev и скажет что

не нужно и бессмысленно :smiley:

буду первым, мультиязычные теги в отношениях приоритетней, нужней и полезней…

dimonster,
гарно розписано, але є один важливий недолік - ви популяризуєте маппінг під osm2mp, а одне з основних правил OSM “не мапити під конкретне застосування(мапнік, неідеальні валідатори, неідеальні конвертори)”.
Вам уже казали не раз: “не подобається osm2mp - використовуйте власний, пропатчений osm2mp, викладайте вигрузки на радість всім”.

addr:housename - в Україні не повинен використовуватися взагалі, це британський тег.

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

Ось це дійсно маразм, який давно був прийнятий в UA-OSM через пропозал.
Значно краще - так як в RU-OSM, з природнім порядком слів. Кому потрібна одноманітність міг би на рівні конвертора зміщувати “вулиця” на початок/кінець назви кому як треба.
Сподіваюсь, що колись в UA-OSM з’явиться критична кількість маперів яким сьогоднішній стиль утворення назви також здається хибним.

Що значить “и не будет”? Та допишіть кілька рядків в той конвертор і все вам буде. На nadoloni.com будинки зв’язані з вулицями і через зв’язки, і по addr:street. Якщо osm2mp не вміє розпізнавати прив’язку по addr:street то це проблема osm2mp, а не даних.

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

а які є інші способи конвертації osm-navitel, osm-garmin, osm-7ways, osm-CityGuide ???

Згоден. Хіба що у якомусь задрипаному хуторі, де будиночки-мазанки не мають номерів. Але я такого ще не бачив. Цікаво, хтось бачив будинок (житловий) без номера?

Не згоден. Для цього є нумерація під’їздів. Обробку якої, до речі, Liosha обіцяв зробити.

А який порядок слів є природнім? Де слід писати статусну частину? Чи слід скорочувати “вулиця - вул.”? Як писати “Заречная улица” або “улица Заречная”. Чому москалі пишуть “Площадь Свердлова” зі статусною частиную спереду, а “Красная площадь” зі статусною частиною ззаду?
Ще й можуть виникати помилки з адресацією, коли десь прописано “вулиця Іванова”, в іншому місці “вул. Іванова”, "а десь на будиночку “Іванова вул.”.

Та не знаю я той перл настільки, щоби перекроїти конвертер. До того ж, Liosha просто відкинув наш патч просто тому що він йому не сподобався.

Ні, це проблема усіх.

А що робити з селом Одноробівкою та селищем Одноробівкою?

1)OSM - це не тільки навігатори.
2)Якщо конвертори під навігатори не вміють правильно інтерпретувати osm-дані - то це проблема конверторів, а не даних.

Не плутайте нумерацію під’їздів і адресацію під’їздів
http://forum.openstreetmap.org/viewtopic.php?pid=286989#p286989

Природній порядок слів:

  • спочатку прикметник, потім іменник: Заречная улица, Красная площадь.
  • спочатку іменник, потім додаток: вулиця Іванова.

Так і не треба тоді впарювати Льоші свій патч, якщо він йому не потрібен, користуйтеся патчем на своєму власному комп’ютері.
Проблеми osm2mp - це проблеми osm2mp і нічиї інші. olehz видуману вами “проблему” привязки по addr:street успішно вирішив для nadoloni.com.

З Одноробівкою нічого не робити.
Так само як нічого не робити з селами Миколаївка, яких три в Красноармійському районі Донецької області і три в Лозівському районі Харківської області.
http://uk.wikipedia.org/wiki/%D0%9C%D0%B8%D0%BA%D0%BE%D0%BB%D0%B0%D1%97%D0%B2%D0%BA%D0%B0
Чи з селами Петрівське, яких три в Кагарлицькому районі Київської області.
http://uk.wikipedia.org/wiki/%D0%9F%D0%B5%D1%82%D1%80%D1%96%D0%B2%D1%81%D1%8C%D0%BA%D0%B5
Пошукайте в вікіпедії ще “ТАРАСІВКА” “МАР’ЇВКА” “ЛІСОВЕ” “ЖОВТНЕВЕ” “МИКОЛАЇВКА” “РАДГОСПНЕ” “МАР’ЇВКА”

Це проблема стосується всіх. Нащо створювати карту, яку потім неможна нормально застосовувати?
Ось, наприклад, людина малює карту, і хоче мати її в своєму навігаторі. Дізнається, що хтось вже конвертує карти. Качає готову карту, закидує у навігатор і отримує фігню у адресному пошуку. Це її не влаштовує.
Людина звертається до господаря сервера з картами. Той “переводить стрілки” на автора конвертера Liosha. У свою чергу Liosha “переводить стріки” на “неправильність” системи адресації. Людина починає змінювати дані в OSM під льошин конвертор, отримуючи матюки від інших учасників OSM та починаючи війни за addr:street.
Потім людина довго читає форуми, вікі, врешті качає вивантажені дані з гіслаба, встановлює Перл, осмозіс, конвертор osm2mp. Потім, чортихаючись, встановлює додаткові перлові пакети, частину з котрих треба встановлювати вручну. Потім, перечитуючи купу інструкцій, які вже можуть бути застарілими, якось налагоджує роботу осмозіса та конвертера. І все одно отримує якусь фігню. І посилає всі ті конвертори, карти та OSM під три чорти.

І шо? І де я можу скачати карти під Навітел з нормальним адресним пошуком?

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

dudka
Ни шагу назад, ни пяди земли врагу, ни одной уступки софтописателям?

Нет. На данный момент это проблема всех, и моя и ваша.
Картографическая база данных без возможности получить из нее нормальную функциональную карту просто не нужна. И на данный момент это более чем справедливо для OSM Украины.
И вообще вот возьмите и напишите свой конвертер с шахматами и поэтессами, тогда все проблемы сразу и отпадут.

Це ви про що? Радий буду допомогти софтописателям якщо такі з’являться.
Клюве в моїй думці: не видумуйте нові теги на заміну існуючим, не видумуйте нові схеми тегування на заміну існуючим.

Які дані вам потрібно дістати з OSM? Там все є. Всі існуючі схеми тегування зрозумілі і повнофункціональні. Якщо liosha не хоче їх підтримувати - зробіть це ви.

І я про це кажу. В OSM роботу робить той кому це потрібно. Потрібна підтримка зв’язків? Дописуйте. Потрібна підтримка перекладів addr:street->name->name:ru? Дописуйте. Віддавайте свої результати тим хто робить вигрузки, вкажіть що дороблено до osm2mp чи будь-якого іншого конвертора. Якщо ваша конвертація виявиться якіснішою - нею будуть користуватися.

Якщо не можете - значить ще ніхто не написав конвертор. Якщо ви перший кому потрібні якісні карти під Навітел - вчіть перл і дописуйте osm2mp.

Дискусія трохи відклонилась від теми «Чи дописувати у російськомовний розділ вікі?»

Можна дописати але у розділ «Особенности адресации в Украине»

І заодно поправити українську вікі.

dudka

Это я про то, что прописать все name в каждый way улицы не вызывает вопросов, а дописать их же еще и в relation прямо таки принципиальный отпор.

Если старая схема не покрывает все проблемы, почему бы её не модифицировать? Кстати схема с assr:place котору мы здесь недавно обсуждали это как раз и есть выдумывание нового велоситпеда-костыля на замену существующему.

В данный момент я так понял liosha хочет брать i18n информацию из relation. Ну а почему бы и нет? Это хороший выход без неоднозначностей алгоритма, совместимый с рядом случаев “странной адресации” без дополнительных велосипедов типа addr:place. Я его могу отлично понять и вообще говоря если бы писал конвертер поступил бы так же.

Я так и понял что все эти споры ни к чему не приведут, и если я хочу для всех карту Украины с адресным поиском не только на украинском языке, то нужно просто взять и самому про-i18n-энить все street/associatedStreet relation.
Надеюсь вы не станете эти теги удалять просто из принципа?

Ага. А в результаті у карті “косяки” з адресним пошуком та назвами.
Це вже не кажучи про тегування доріг, яке не всі зрозуміло, суперечки щодо natural=wood, landuse-forest, building=entrance, entrance=yes.

І що? І як? А на планеті Титан вся атмосфера з метанового газу. Але чомусь ніхто його звідти не може дістати.

Дописували вже. Liosha відмовився включати той патч до конвертора.

І тоді буде десяток конверторів, і у кожному свої “косяки” та свої правила тегування.
А якщо я не програміст? Мені сидіти без карт та мапити “у прірву”?

Допишемо коли дійдемо згоди.

І взагалі, було б добре, коли людина, яка приходить в OSM, отримувала б певний і точний довідник з тегування, і знала, що всі інші мапери його дотримуються, і якщо тегувати все чітко за правилами, то “на виході” буде правильна карта. А так маємо тегування за прислів’ям “кто в лес, кто по дрова”, головний біль авторів конверторів та “війни правок”.

Я про це не писав. Хочете дублювати інформацію у зв’язку - дублюйте. А до чого призводить дублювання? До неоднозначностей і невідповідностях при опечатках.
Ну і не сподівайтесь, що її будуть дублювати ті хто можуть дістати name:** з ліній.

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

Втратите великий відсоток існуючих адресних даних заданих через addr:street.

dudka

Ох. О неоднозначностях говорите вы, тот кто недавно сам вслух пожалел о наличии единой схемы названий улиц. Не обижайтесь но это оксюморон.
Я вот уже приводил пример и даже вроде как ни один раз:
Если брат name/:ru/:en/:etc из веев, то:

  1. Веев может быть много и в некоторых из них могут быть ошибки. Конвертер никак не может понять какой из них правильный. Что можно сделать? Ну если веев >=3 то можно использовать принцип 2 из 3 хорошо. А если их 3 и везде разные или 2 и оба разные? Отсортировать по алфавиту и взять первый? Это приведет к возникновению сложно отслеживаемых ошибок адресного поиска в ряде случаев. Вот это как раз и есть неоднозначность и неустойчивость к ошибкам, другими словами это плохой алгоритм. Если же место откуда берется name одно, то таких проблем нет и даже если оно задано с ошибкой такую ошибку найти куда как легче.
  2. Места где адреса заданы не по улице а по территории. Тут просто нет вея с данными name. Откуда нам брать name/:ru:/en/:etc ? Из велосипеда addr:place? Зачем если есть relation который сам может содержать всю потребную информацию? И что делать с интернационализацией? Опять плодить addr:place/:ru/:en:/:uk/:etc?
  3. Вообще говоря логично было бы хранить название улицы только в одном месте. В relation и не задавать их даже на веях. Вот тут и не будет никаких лишних дублирований, ошибок и прочего.

Я надеюсь на правильное понимание моей позиции: дело не только в том что сейчас OSM Украины невозможно нормально использовать на языках отличных от украинского, а и в том что схема адресации по тегам name веев улиц попросту хуже/костыльнее/неустойчивее чем схема адресации по name relation. Если вы радеете за улучшение базы OSM, то не могу понять почему вы против этого?

Это все равно надо будет делать и ведь я замучаюсь. К тому же никто не говорил, что нужно вот прям счаз выкинуть схему с addr:street :slight_smile:

А вообще вы уклонились от ответа на ряд вопросов, давайте я их конкретизирую:

  1. Вы принципиально против дублирования i18n информации из way-ев в relation?
  2. Вы или кто другой станете препятствовать попыткам кого либо массово дописать в street/associatedStreet relation тегов типа name:ru/name:uk/name:en/name:etc ?

dimonster

ППКС

  1. Не проти.
  2. Я не буду.

//Для 1891 з 7877 [associated]street-зв’язків України уже прописано name:ru. Залишилося небагато :slight_smile:

Уже неплохо. Надеюсь _sev тоже не пойдет на принцип :slight_smile:

Я вам честно скажу, наврядле я буду этим ручками заниматься. У меня как бы давно зреет мысль завести себе бота хотя бы для сбора информации, вот и цель будет. :slight_smile:

Манипуляции с отношениями в потлатч - сродни эквилибристике.
Поэтому единственная схема адресации, которую нельзя реализовать в редакторе по умолчанию - утопия.
Это возможно в качестве дополнительной схемы, но никак не единственной.

Есть, на мой взгляд, гораздо более изящное решение.
Беда в том, что оно нестандартное/неутвержденное.
Но, надо сказать, близкое к нему (но совершенно негодное) уже по факту используется.
Итак - в отношении улицы вместо безликой роли house пишем bno:[номер дома].
На самом доме никаких номеров не пишем.
Соответственно, дом может входить в столько улиц, на пересечении скольких он находится (и даже больше, напимер, помимо улиц поддерживать адресацию по кварталам), причем по каждой - со своим номером.
А по поводу негодного, но уже используемого варианта - там то же самое, только без префикса “bno:”.

Список исключений - тоже отдельный разговор.

Считаю, что любые имена должен проставлять ТОЛЬКО человек-носитель языка, но никак не бот.

Вряд ли эта оговорка разумна. Откуда бот, выделяющий названия, может узнать, к каких регионах имеют место “языковые войны”, а в каких - нет?

Это неправильная рекомендация.

  1. Переводить имеющуюся табличку на другой язык - нонсенс. Опять же, вариантов перевода может быть более одного, хотя бы: дословный перевод, транскрипция и транслитерация. Никто не задумывался, что “Красная площадь” в Москве - это Red Square, а одноименная площадь в Переславле-Залесском - Krasnaya Square?
  2. По хорошему, все имена должны вноситься ТОЛЬКО носителем языка.

А при чем здесь Ситигид?
Мы что, рихтуем базу OSM под конкретный навигатор?

Перевожу: “рисуем под рендер”.

Я использую JOSM. Если Потлач чего-то не умеет - надо дорабатывать Потлач.

Увы, в Украине получается, что единственной. Иначе мультиязычный поиск не получится, и языковые “войны” продолжатся :frowning:

Оно не работает.

Ну, это просто. Не знаешь - не пиши. Не уверен - не включай бота.
Кстати, а почему, собственно, англоязычные названия должны получаться транслитерацией?
Почему не так: “Квіткова вулиця - Цветочная улица - Flower Street”. Или “Толстого вулиця - Толстого улица - Tolstoy Street”? :roll_eyes:

Что там неправильного? Есть таблички, есть официальные названия улиц. Для многих городов есть официально утверждённые перечни урбанонимов.

При том, что это одна из программ, под которую активно делаются карты из OSM. Поэтому лучше сразу предупредить, что у неё есть такое “увечье”, и чтобы не было вопросов “Почему навигатор не ищет дом в Молодёжном квартале?”.
А так вроде ни при чём. Я не заставляю “мапить под СитиГид”.

Ну, на данный момент так. Не будет названия в name на веях улицы - не будет названий на карте на главной osm.org. Не будет названий в тегах релейшена - не будет нормально работать адресный поиск.

Это, безусловно - так.
Но OSM - это не картографическая база данных, а база геоданных.
Поэтому “возможность получить из нее нормальную функциональную карту” - отнюдь не обязательное условие. Вполне может быть база геоданных, по которой принципиально невозможно построить географическую карту.Это во-первых.
Во-вторых, если даже “получить нормальную карту” можно (а из OSM - можно, надо только уметь), то это далеко не единственная и совершенно неочевидно, что приоритетная задача.