Адресация с номером дома но без улицы

  1. addr:street - необязательный элемент. Ну хоть тут-то мы, слава Богу. пока не смотрим улицы вокруг и не притягиваем ближайшую, как Nominatim

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

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

Ну тогда хотелось бы статистика, на 100%-200% это будешь дольше если работать сразу с обрезкой области. А то может тут вопрос 5 минут. Врочем всегда остаётся вариант, дёшево и сердито на такие тонкости забить :slight_smile:

Я считаю, что place и street надо поменять местами.
addr:suburb
addr:street
addr:place
Это даст возможность адресовать наиболее нестандартные элементы планировки, когда территория приписана к улице, а не наоборот(всякие дачи могут быть). При этом сохраняя suburb для территорий между населённым пунктом и улицей.

При этом addr:place не подставлять как addr:city(и, возможно, как addr:suburb), а брать только явно проставленный, аналогично addr:street. В случае, если addr:place совпадает с addr:city, полученным на этапе 2 - этап 3 пропускается.

При отсутствии и addp:place и addr:street адрес считается неполностью заполненным. В качестве временного решения может применяться:

плюс ближайшая улица, если не нашлось ни одного place.
А может не применяться и дома, не имеющие ни одного адресного тэга кроме дома являются неопределёнными.

Не получится. Там neighbourhood и т.п. бывают, а они выше улиц.

Вот это поддерживаю. Не надо ничего выдумыватьподставлять в адрес, если он не задан явно и конкретно. Это надо считать ошибкой или неполнотой данных.
Подстановка разумна лишь в случае с «высокоиерархичными» границами (страна, область, район, город), когда очевидны обязательное вхождение и «адресная приписка» объекта к/по данным административным единицам.
Со всякими «микроадминистративными» и т. п. экзотическими адм. единицами такая подстановка неуместна и будет вносить нелепицу.
Придуманный/додуманный (в совершенно неочевидном случае) адрес — большее зло, чем его отсутствие, ибо создаётся ложное впечатление, что он есть и «всё хорошо», и ничего менять не надо.

Объясни в чём зло если в адрес будет добавлен например suburb, наоборот это даст представление в какой части города он находится, даже если не знаешь конкретную улицу.
Т.е. это как в большом городе указать не главпочтампа, а конкретное почтовое отделение, которое носит почту в дом.

В том, что создаёт ложное ощущение будто по этому адресу можно найти дом.
Типа “Московская область, г. Балашиха, мкр. Салтыковка, д. 3”, а там полторы сотни улиц и наверняка хотя бы на половине есть дом 3.

В тоже время адрес “Московская область, г. Балашиха, мкр. Дзержинского, д. 3” вполне однозначен.

И для того, чтобы обозначить полноту второго адреса и неполноту первого я и предлагаю на втором указывать addr:place, а первый в отсутствии addr:place и addr:street считать неполным.

Можно и так сказать. Но ведь “считать/не считать полным” - дело валидатора.
Программе, которая просто строит адрес, это не должно быть помехой. Нет ни того, ни другого - значит дом адресуется по деревне и поехали дальше.

  1. Я в основном обсуждаю не как должна строить программа, а как должен заносить маппер. И пытаюсь аргументировать что маппер должен указывать addr:place как признак того, что дом адресуется по территории и ничего - если он не знает по чему адресуется дом.
    В случае же

с чего всё началось, мы не знаем знал маппер, что дом адресуется по территории, или не знал по чему адресуется дом.

  1. А если нет деревни и у нас дом addr:housenumber=35 стоит посреди облцентра? А если ещё в suburb не попадает?
  1. это отсутствие обязательного элемента адреса

От обсуждения отвлеку. В http://wiki.openstreetmap.org/wiki/Nominatim/FAQ был очень старый совет от Twain: http://wiki.openstreetmap.org/w/index.php?title=Nominatim%2FFAQ&type=revision&diff=372747&oldid=371574

“Why doesn’t Nominatim process addr:* tags on buildings”

  1. Это ещё актуально для Nominatim?
  2. Есть причины для этого?

Мы можем написать программу osm2osm готорая будет приписывать сколько угодно is_in/addr: тегов автоматом используя PostGiS/что угодно если какие-то программы вдруг не работают из-за этого.

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

Причина простая - населённый пункт один, домов в нём - тысячи, десятки тысяч.

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

Что же касается частей адреса, которые находятся межу “населённый пункт” и “отдельный дом”:

  1. НП отдельный relation/way
  2. relation/way place=* до-тегируются addr:place=* или addr:suburb=* или другмими однороными тегми где это необходимо. Речь идёт о 3 уровнях поселений suburb/neighbourhood (забыл 3).

Количество объектов с площадной адресацией значительно (процент), но не затрагивает каждый простой случай (addr:street + addr:housenumber) на доме для остальных больших процентов будет работать НП + два тега на доме (а то и один housenumber с Украинской схемой).

http://forum.openstreetmap.org/viewtopic.php?pid=606421#p606421

addr:country
addr:region
addr:district
addr:subdistrict
addr:city

указываются на одном way/relation.

Называйте это хоть условностью d1g-а, хоть чем 1 2

place=city / place=town / place=village объекты должны тегироваться всеми подходящими addr:* тегами.

Для скорости обработки (вместо тысяч домов, вместо 5-6 уровней от страны до деревни)
Для простоты обозначения (ошибки только в одном объекте уровня place=city / place=town / place=village)
Для простоты исправлений (один объект и валидация только одного объекта, а не тысяч или нескольких уровней)

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

Это сказано в 2016, до этого описаний на вики не было?! Соглашения тоже не было как я понимаю?..

НЕ стоит зазывать существующие объекты (адресаци по площади) на =no теги http://wiki.openstreetmap.org/wiki/Proposed_features/boolean_values

addr:street=no должен значить что он должен значить “названия улицы нет”, а не “адресация по площади есть”. Конкурс самых неочевидных тегов не нужно устраивать, палкой никто не гонит вообще, а вот проблем с программами потом с полна огребём.

Это всплывало в разговорах несколько лет назад, как попытка вогнать костыль “не адресуется по улице”. Было отметено достаточно быстро, до пропозалов и в вики не дошло.

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

Населённый пункт может и не бывает, а вот единица территориального планирования (e.g. микрорайон) может и быть необязательной. В то же время не так очевидно провести границу между этими двумя понятиями, особенно в случае, например, деревни в составе города… Можно, конечно, ввести некий список place=* в сочетании с admin_level=* … но, опять же, это мне кажется тем местом где новичку будет очень легко запутаться.

Поэтому мне кажется более логичным идти не сверху “до населённого пункта”, а снизу, как англичане адреса пишут.
То есть на доме проставляется один уровень - по чему адресуется дом. При этом мы должны иметь однозначный факт того что это именно то, по чему дом адресуется, а не глобальное уточнение.
Уровень выше, собирает все вышестоящие элементы по геометрии, либо по явно проставленным тегам. В этом случае можно вводить addr: на территориях/улицах, но только для нестандартных случаев (100м улицы Широкая, адресующейся по деревне Гадюкино, проходят по деревне Гореловка).
В случае конфликта между тегами с территории и тегами с дома приоритет имеют теги дома.

Деревни/поселка в составе города тоже не бывает. Либо деревня/поселок уже не самостоятельный нп, а квартал/макрорайон в имени которого может оставаться слово деревня/поселок или это не сам город Хххх, не нп, а муниципальное образование городской округ/городское поселение Ххх.

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

Подскажите, так как на текущий момент правильно ставить теги если дом адресуется по территории (район города или деревня)?
Нужно ли дополнительно копировать в addr:street содержимое addr:place? В вики написано, что со временем addr:street предполагают убирать в этих случаях.
А то сейчас контроль качества ругается, что не установлен addr:street у домиков.

Не нужно.

Валидатор не всегда знает обо всех вариантах обозначения, так что не нужно ничего никуда копировать.