Угловые дома, снова

А зачем городить костыльную схему, которая свойства объекта выносит на левую точку? addr:street2 поддерживать вообще не нужно, а для addrN нужно дописать пару строк кода на чём бы там оно ни было.

Уличные отношения ещё не выпилены из базы?

Мы не маппим под рендеры, тем более что поддержка нужной фичи тривиальна. То что вы названи - два невменяемых варианта, потому что дом с несколькими адресами - одна сущность, и второй адрес - такое же его свойство как и первый.

В Краснодаре дробные номера домов я видел только в Кадастровой карте. По жизни имеем угол здания, на одной стене адрес по одной улице, на другой стене - адрес по второй улице.

Вопрос решается патчами на mkgmap и osm2mp. У меня не получилось. Получилось только сделать громоздкий препроцессор, дублирующий объекты если у него несколько адресов, но работает он почти сутки на Россию. Если хотя бы эти два конвертора будут поддерживать схему addr{x}: то я только за.

Есть два разных типа городов, для обитателя любого из них двух второе решение будет казаться идиотизмом.

Так вот:

  • города, в которых существует понятие “угловые дома”. Великие Луки, Санкт-Петербург для примера. На табличках так и пишут номер дома через дробь, по одной улице 1/2, по второй - 2/1.
  • города, в которых не существует понятия “угловые дома”. Например, любой город в Беларуси, и похоже, что Краснодар. На стенах висят номера дома по каждой улице без указания дроби. В официальных документах каждому дому соответствует только один адрес, остальные висят просто для красоты.

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

За обитателей городов первого типа пусть выскажется кто-нибудь другой.

Мне вообще-то всё равно, главное - чтобы порядок был) Как вариант - основной адрес тегами (пусть даже 27/75 в Петербурге), а addr:streetN и внутренние точки равносильны (можно даже ботом переносить с одного на другое). Только решить, что важнее. Пусть, например приоритетна информация на точках (так как проще поддерживаются), а там, где их нет - пусть addr:n работают. Резать - зло, когда не соответствует действительности)

Идиотизмом кажется что кто-то придумывает какие-то разные типы городов и с потолка “однозначно говорит” что свойство объекта должно с какого-то перепуга стать отдельным объектом. Более основной адрес, если вы какой-то таковым считаете, просто используется в качестве addr:*.

Точки - только костыли для поиска - всех, особенно дальнезабугорных, поддерживать addrN не заставишь, как не старайся… Как было упомянуто, это не всегда тривиально. А по хорошему нужны релейшены, ибо дублирование - зло. ))

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

Попробуйте) Как заработает всюду - точки снесём и ничего не потеряем. Просто и прагматично. Тогда давайте считать главной информацию на addr:n.

В НН 2-е адреса конвертируются, просто патчем конфигурации osm2mp.

navitel.yml:

--- taglist
---
...
street2:        [ addr2:street, addr:street2, addr:street ]
house2:         [ addr2:housenumber, addr:housenumber2, addr:housenumber ]

nodes-navitel.yml:

- condition:
    - or:
        - addr2:street = *
        - addr:street2 = *
        - addr2:housenumber = *
        - addr:housenumber2 = *
  action:
    - action: write_poi
      type: 0x2800
      contacts: yes
      Label: 
      StreetDesc: %street2
      HouseNumber: %house2

Зачем? Я лучше напишу препроцессор и пропатчу конверторы. Мы всё равно всё подо всё сами собираем.

с street2/housenumber2 надо осторожнее, потому что в первое пишут вторую улицу, а во второе альтернативные варианты написания номера дома. Вообще от первого лучше отказаться, потому что смысла вторая улица в адресе по первой не несёт (должен быть второй адрес).

Могу согласиться, но что же такое “вторая улица”? Просто любопытно.

Я-то за. Только как насчёт OsmAnd, OruxMaps & mapsforge, поиска на главной и т. д.?
Авторасстановка точек или addrN (без разницы, чего по чему) решила бы эту проблему.

Я бы напомнил, что принятая на данный момент схема Карлсруэ
(http://wiki.openstreetmap.org/wiki/Proposed_features/House_numbers/Karlsruhe_Schema) предусматривает такую вещь, как адресные точки, которые широко используются во всём мире, и отлично ложащуюся на почти любую ГИС-систему.

Как рисовать addr2:street2 в мапнике - я не представляю. :3

Дойдёт и до них рано или поздно.

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

Мапник вообще много чего не умеет, это же не повод не вносить данные или вносить их через задницу? alt_name, official_name он небось тоже не рисует.

Мне кажется это обсуждение зря затеяли. Адресация очень непростая штука, и вряд ли допускает “однозначное решение”.
Тем более это решение нужно в масштабах всего осм, а не двух стран.

Решите хотя бы, как точно не рекомендуется делать - вы же Совет! addrN: vs addr:N, что с релейшенами и половинками. Точки vs addrN я бы оставил на потом.

Это тоже не так однозначно. Идея, что нужно присваивать адреса именно полигонам домов (зданий? Фрагментов зданий?) довольно нетривиальна.

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

Мне вообще кажется что во всём мире половины проблем которые мы постоянно обсуждаем просто не стоят - рисуют себе дороги и леса и горя не знают.

Если срочно понадобилось решение - я предлагаю себе допилить на следующей неделе мой фреймворк для обработки osm данных (тем более что на нём уже накопилось больше десятка различных фильтров/чинилок osm), сделать на нём препроцессор и выложить. Все утилиты обрабатывают Россию менее чем за 10 минут, большую часть времени тратя в XML парсере, и тут медленнее не будет.
Отмечать же я настоятельно рекоммендую в addr2. По крайней мере их в точки всегда можно сконвертить, обратно - нет.