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

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

перебираем все улицы в городе, ищем улицы с одинаковым названием. Одной улицей будем считать привязанные друг к другу отрезки с одинаковым тегом 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 в звязку.

Ну добре. Не буду додавати addr:suburb:{lang}

Цього немає в вікі

Є
http://wiki.openstreetmap.org/wiki/Relations/Proposed/Street#Tags
Tags
any * Any Tag that applies to all parts of the road

Я мав на увазі той тип street, який є синонімом associatedStreet. :smiley: