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

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

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

Вопрос решается патчами на 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. По крайней мере их в точки всегда можно сконвертить, обратно - нет.

По моему скромному мнению обратно всё же попроще будет. Координаты точкам придумывать не надо)) Там нет функции “в каком первом попавшемся полигоне/мультполигоне типа building=* находится данная точка”?