Харьков и область (обсуждение)

addr:suburb

Это можно. Но тогда опять всплывёт вопрос мультиязычности адресов. На каком языке писать и как сделать так, чтобы в сконверченной под навигатор карте название района города было на нужном языке.

Кстати, это ж надо не только на веях улицы писать, но и на каждом домике :frowning:

Тут есть пара вариантов

  1. addr:suburb:uk, addr:suburb:ru, addr:suburb:en…
  2. Прорисовка границ микрорайонов и анализ вложености
  3. Введение какого-то нового тега-ссылки на точку suburb в отношении associatedStreet

Мне лично больше симпатизирует 3-ий вариант. Но в любом случае для каждого сегмента улицы addr:suburb на украинском нужно проставить обязательно.

С этой рутиной я могу помочь. Проще конечно отношением ограничиться. Не знаю как будет правильнее

это будет ужас. На каждом домике по десятку addr:suburb:хх
Это однозначно убогий вариант. И база данных распухнет, и ошибиться недолго. Программерам, конечно, так будет проще, но вот вносить в базу такие навания - заколебаешься :slight_smile:

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

Кстати, есть случаи когда такие улицы проходят через несколько районов. Например, есть улица Такойская, которая проходит через Такойский р-н и Сякойский р-н, и есть ещё одна улица Такойская, которая расположена вообще в другом конце города в Этаковском р-не.

А ещё бывает, что улица проходит чётко по границе районов. Например, улица Полтавский Шлях в Харькове проходит по границе Ленинского и Октябрьского районов.

Так что конвертеру придётся сильно напрячь мозги (конечно, не конвертеру, а программеру, который будет его писать :slight_smile: ).

Ну, то есть, примерно так:

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

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

Могут, конечно, возникнуть сложности, когда отрезки улиц не связаны релейшеном и не связаны друг с другом общими точками. Ну, значит, придётся связывать их релейшенами даже если там нет домов. В конце-концов, если отрезки принадлежат одной улице, то почему бы и не связать их релейшеном?

он железный, пусть считает

а у нас таких улиц много?
ну, бакулина вот
какие ещё?

что-то ещё было на даниловке дубль улицы в городе

Я тут подглядел в тревеловскую карту Харькова от уважаемого VF и нашёл примерно 30 таких улиц (поиском по слову “р-н”).

  • Бакулина (Дзерж, Киевск
  • Вишнёвый пер (Дзерж, Коминт
  • Донецкая ул (Фрунз, Червон
  • Кирова (Киевск, Черв и Коминт
  • Лесная (Киевск, Ленинск
  • Ногина пер (Лен, Окт
  • Ореховская ул (Окт, Червон
  • Павленковский пер (Дзерж, Черв
  • Парковая ул (Фрунз, Червон
  • Продольная ул (Дзерж, Киевск
  • Родниковая (Моск, Фрунз
  • Соединённая ул (Киевск, Моск
  • Спортивная ул (ленинск, Моск
  • Черемушный пер (Червон, Киевск.

Та же ситуация и в Киеве. Логичнее прописывать не район, а микрорайон (как правило название села поглощенного городом). Ex: Дарниця, Бортничі, Жуляни… У вас Заїки, Затишшя, Олексіївка…

Основной минус - отсутствие каких либо четких границ для микрорайонов. А рисовать полигоны с потолка и вносить дезинформирмацию - считаю неоправданным. Я с границами сельрад так делал по-глупости.

Вулиці → Харків - Улицы помеченные синим с большой вероятностью дубликаты.

Харьков уникален тем, что на нем уже прийдется решать как быть с мультиязычностью, отношениями, отдельными домами, и сегментами. По-логике если вешаем name:lang на каждый сегмент, значит и addr:suburb:lang вешать надо. Проблему с домами в случае Харькова можно проигнорировать, учитывая, что у вас все через отношения. addr:suburb для них можно брать прямо из отношения. Но для других городов это проблемка в перспективе.

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

ну чтобы не париться с addr:suburb:хх, мультиязычные имена можно брать с точки микрорайона (с их name:xx)

эм
а оч ем вы развили ДИМАгогию

если у нас есть сущности дом и улица, между которыми делаем отношение, то что нас останавливает сделать отношения между сущностями улица и район

или вообще, в идеале6 психануть и все 600 микрорайонов перенести, и сделать иерархию дом-улица-микрорайон-район-город

точно такой же список6 как street_id streen_name я из своей карты могу вынуть и по административным районам. для связки street_id-административный район

Ну, допустим. А какой тип релейшена годится для таких дел?

Ясень пень.

Вопрос только в том как связать точку микрорайона с отношением associatedStreet или же конкретным сегментом улицы/домом

Это имеет смысл только для домов. Не знаю как в Харькове, но в других городах одна улица может пересекать несколько районов и тем-более микрорайонов. Жесткую иерархию 1:N не построишь. Т.е. addr:suburb проставлялся только для дубликатов дабы как-то различать улицы с одинаковыми названиями.

Ну вот, значит, нужен такой тип релейшена, чтобы связать некоторые улицы с микрорайонами. Что там для этого подходит? collection? address? или какой-то другой тип релейшена?

К примеру, улица Такаято проходит через Фрунзенский и Червонозаводский районы. А в Ленинском р-не тоже есть улица Такаято.

делаем два релейшена:

  1. объединяем первую ул. Такаято с полигонами Фрунзенского и Червонозаводского районов.

  2. объединяем вторую ул. Такаято с полигоном Ленинского района.

Хотя liosha такую штуку точно отвергнет. Границы районов тоже в с свою очередь заданы релейшенами. А Лёше не нравятся вложенные релейшены.

А может, как-то прописать принадлежность улицы к району в тегах релейшена улицы? Хотя нет, этого в схеме Карлсруэ не предусмотрено.

ну выкидываем улицы

сделать иерархию дом-микрорайон-район-город

В таком случае, нам и иерархия никакая не нужна. Достаточно просто нанести эти микрорайоны в виде пазла полигонов.

А вообще предлагаю следующее:

Заполнить addr:suburb (название бывшего села на украинском) для отношений синих улиц (их всего около 50) - для остальных ничего не менять. Если один из дубликатов в центре города - игнорируем. Пускай name субурба и будет ID ключем по которому будет происходить связка элементов отношения с точкой микрорайона.

В схеме Карлсруэ (см. вики) не предусмотрено в релейшене тегов для привязки улицы у suburb. Там только type=associatedStreet и опционально имя релейшена. И всё. (кстати, для type=Street тоже)

Можно, конечно, поднапрячься и прописать для таких улиц и домиков addr:suburb на украинском языке, как это указано в вики.
А Liosha пусть доделывает свой конвертор для получения русскоязычных названий для адресов домиков “по ближайшей улице” и “по ближайшему району”. Если валидатор такое может, то почему конвертор такое не сможет?

Я для Киева и Львова addr:suburb просто на сегменты расставил. На домики ставить не надо, если адресация задана через associatedStreet. Проблемы могут возникнуть, если в одном городе намешано несколько схем адресации, но Харьков по ходу к ним не относится.

Я хз о каком конверторе идет речь, но переделать name на (name + suburb) совсем крохотная проблема

liosha пишет, что в новой версии его конвертора обрабатываться тег релейшена addr:suburb и addr:suburb:{lang}
Хотя это и не указано в вики.
Так что можно в релейшенах прописывать привязку улиц с одинаковыми названиями к соответствующим районам города.
Но я на всякий случай, наверное, пропишу на таких улицах addr:suburb на домах и на линиях улицы.

P.S. Что-то как-то напряжно и муторно доделывать импортированные релейшены по Харькову. Хотя вроде бы там уже не так много их осталось.
К тому же многие домики (по частному сектору) не совпадают со спутниковыми снимками. Лажа получается :frowning:
И что, сцука, характерно, некоторые такие ошибки присутствуют и в тревеловской карте от VF. Наверное, оба автора из одного места эти домики вытащили.

Будь ласка не використовуйте addr:suburb:{lang}. Локалізації addr:suburb:{lang} придумані виключно для того щоб відмазатися від тих хто вмовляє Льошу реалізувати переклад в його конверторі. {lang}-суфікси необхідні тільки для name-тегу. Всі ці addr:street:, addr:city:, addr:suburb:** треба безжально видаляти щоб ніхто не брав з того приклад

Не дублюйте інформацію. Достатньо вказати addr:suburb в звязку.