Ещё одна схема адресации: населённый пункт без улиц

В Питере есть много неуличных адресов.

Санкт-Петербург, Фарфоровский пост, дом 52
Санкт-Петербург, поселок Стрельна, Больничная горка, дом 2
Санкт-Петербург, город Петергоф, парк Александрия, дом 21

и т.д. Это всё - не улицы, а соответствующие площадные объекты внутри города

Мне кажется, проблема возникает из-за определённого недопонимания:

крайная позиция 1: в таком-то НП улиц нет - там всё в порядке, ошибки нет, такие адреса не должны выдаваться валидаторами даже в том случае, если там не заполнено addr:street
крайняя позиция 2: addr:street должен быть проставлен, а если он не проставлен, это должно отображаться валидаторами как ошибка

Вопрос: отличаются ли с точки зрения пользователя highway=residential и highway=residential + oneway=no?
Ответ: с точки зрения пользователя не отличаются, т. к. и то, и то - “жилая” двусторонняя улица

Вопрос: отличаются ли с точки зрения редактора highway=residential и highway=residential + oneway=no?
Да: в первом случае мы знаем только то, что кто-то отметил “жилую” улицу, во втором - что этот редактор ещё и обратил внимание на то, что она двусторонняя. Это может иметь существенный смысл, например, для “карманов” (участник проверил, что нет знаков “одностороннее движение”, с двух сторон есть знаки “уступи дорогу” при выезде из “кармана” и т. д.).

Вопрос: отличаются ли с точки зрения пользователя addr:city=Кольцово + addr:housenumber=1 от addr:city=Кольцово + addr:street=Кольцово + addr:housenumber=1?
Ответ: с точки зрения пользователя не отличаются, т. к. и то, и то - “Кольцово, дом 1”.
*Примечание: вместо addr:street=Кольцово может быть addr:territory=Кольцово, addr:no_street=yes, addr:place=Кольцово, addr:house_by=city.

Вопрос: отличаются ли с точки зрения редактора addr:city=Кольцово + addr:housenumber=1 от addr:city=Кольцово + addr:street=Кольцово + addr:housenumber=1?
Ответ: да, в первом случае мы знаем только то, что кто-то отметил номер дома в населённом пункте, во втором - что этот редактор знает, что нумерация этого дома идёт именно по населённому пункту, а не по улицу или микрорайону.

Соответственно:
а) информация о том, что нумерация ведётся именно населённому пункту / микрорайону / территориальной зоне и т. д., полезна
б) при отсутствии информации о том, по чему ведётся нумерация, адреса имеет смысл помечать как, возможно, являющиеся неполными, т. к. часто addr:street не проставляют из-за того, что не знают, по какой улице нумеруется дом (ехал человек в автобусе, увидел номер дома - проставил в OSM) или не знают, что addr:street нужно проставлять

Практически любой населённый пункт в России, который не умирает из-за постоянного оттока из него жителей и в котором строятся какие-то дома. Старые дома нумеруются по населённому пункту, новые рядом с построенными к этим дома проездам - по улицам. Имеем 210 домов с незаполненным addr:street: 200 из них нумеруются по населённому пункту, 10 - по улице. Какие из них по чему? Или бывает, что все дома нумеровались по населённому пункту, а потом каким-то проездам дали названия и перевели нумерацию для каких-то домов на эти улицы.

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

Самое смешное, что теперь такого поселка нет, а есть микрорайон Высокое рабочего поселка Андреевка. А в рабочем поселке Андреевке тоже куча домов по поселку Андреевка нумерована, а новые здания уже по улицам рабочего поселка (real-).
Плюс еще в рабочий поселок Анреевка кроме поселка Андреевка и микрорайона Высокое входит и деревня Андреевка, а что уж там с номерами, не в курсе.

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

Но тем не менее это не отменяет того, что задача валидатора кричать, махать руками и вообще всячески привлекать внимание к любому несоответствию, пусть даже оно там «так надо». Не надо подменять людей такими вещами, это не вежливо. Кроме того, вам напомнить, что получается, когда инструменты пытаются сделать умнее пользователей? В лучшем случае терминаторы, а в худшем — виндовс…

Излишне.

Есть иерархическая цепочка для составления адреса. Примерно такая. Если не такая - поправте меня.
addr:country
addr:region
addr:district
addr:city
addr:suburb
addr:street
addr:housenumber/addr:housename

Все непустые элементы склеиваем через запятую - получаем адрес, не забыв сдобрить результат с помощью addr:postcode.

Легальность пустоты какого-то элемента - вопрос совсем другой!

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

Приведите примеры не пропусков, а другого прядка!

Для этого достаточно их документировать.

В Балашихе видел что-то вроде “Шоссе Энтузиастов, Северная промзона, д. 6”. Когда снова буду могу сфоткать, но боюсь это будет не скоро.

Да, забавно, балашинцы пишут промзону как до улицы, так иногда и после.
Вот официальные документы - там написано ДО
http://www.balashiha.ru/public_echo.php?id_public=80
http://www.balashiha.ru/public_echo.php?id_public=187
Ну и далее по офсайту то же самое:
http://yandex.ru/yandsearch?text=+%F8%EE%F1%F1%E5+%FD%ED%F2%F3%E7%E8%E0%F1%F2%EE%E2+%EF%F0%EE%EC%E7%EE%ED%E0&clid=46510&lr=213&site=balashiha.ru

мини-саммари по вариантам обозначения
http://wiki.openstreetmap.org/wiki/User:Scondo/Дома_не_по_улицам

Мне посоветовали отписаться здесь о том, какая схема адресации у нас в Набережных Челнах и о проблемах с ней связанных. Попробую описать.
Официально в городе 3 района: Автозаводский, Центральный и Комсомольский. Официально практически все здания имеют 2 адреса: по комплексу и по улице. В редких исключениях дома имеют только один или другой адрес. Официальными названиями районов и адресами по улице люди не пользуются.

Неофициально город делится такие основные районы, которые легко видно на карте: Новый город (вся северо-восточная часть города от ул. Нариманова до ул. Яшьлек), ЗЯБ (район между реками Челна и Мелекеска), ГЭС (район между Мелекеской и Камой). Люди пользуются только адресацией по комплексу. На ГЭС и ЗЯБ нумерация комплексов идёт с 1 до 19. В Новом городе опять же нумерация начинается с 1 до ~70. Таким образом многие дома в старом городе (ГЭС и ЗЯБ) имеют такие же адреса по комплексу, как в Новом городе. Для обозначения адреса говорят например вот так: “ГЭС, 6/9”, “ЗЯБ, 18/35”, “Новый город, 7/10”.

Теперь о том, как мы прописываем адреса в OSM:
В addr:housenumber пишем адрес по комплексу, например “23/12”. addr:street оставляем пустым. Все дома Нового города добавляются в отношение “Новый город” (id1206554), дома ЗЯБ в отношение “ЗЯБ” (id1206555), дома ГЭС в отношение “ГЭС” (id1206553).
Для прописывания адреса по улице используем addr2:housenumber и addr2:street.
Кроме очевидных недостатков по валидации, у нас нормально не работает поиск по домам.

Об адресации в Набережных Челнах в Wikipedia - http://goo.gl/jXVgn

Я б переименовал комплексы в «N**-й** комплекс» и добавил бы всем ref=N. Добавил бы всем домам тэги адреса с номером названием или номером комплекса и названием района. Что-то вроде addr:complex=4 + addr:suburb=ЗЯБ.

Я бы посоветовал ничего не менять. Имхо это лучшее что можно придумать. (Хотя правды ради: отношение street это в принципе тоже самое что и addr:street на доме)
Научить валидатор понимать, что адрес вида Набережные Челны ГЭС X/Y - валидный, на самом деле не так уж сложно. Я свой научу. А в чем проблема с поиском по домам? 23/12 - должно искаться.

Upd:
Да, и что такое Набережные Челны, Сидоровка ? Тоже район?

Т.е. если известны границы микрорайона, (рассматриваю любые НП с подобной адресацией) создаём отношение с названием микрорайона, чертим его границы (если известны) и добавляем туда дома?
А как обозначить сами границы микрорайона? addr:suburb?

Где должно искаться? Ни на openstreetmap.org, ни на openstreetmap.ru по запросу “Набережные Челны, Новый город, 23/12” не ищется. Это нормально?

Сидоровка - тоже район. Есть ещё и другие мелкие районы, которые я не упоминал: “Суар”, “БСИ”, “Замелекесье” и др. Кстати, в Сидоровке тоже своеобразная нумерация. Адрес похож на адрес по комплексу, но через дефис и впереди идёт буква С или римская цифра, например С-6, I-1, III-2.

Скажем так, поиск на openstreetmap.org весьма странная вещь, а то что openstreetmap.ru не понимает relation street - это бага просто. http://forum.openstreetmap.org/viewtopic.php?pid=233822#p233822

а к субурб это отнести нельзя и можно ли выделить границу между Новый город, ЗЯБ, ГЭС и т.д.? Тогда можно было бы прочертить границу (как другие, граница города, граница районов) и избавится от мега отношений

называй вещи своими именами, бага это когда сайт не открывается, или поиск не работает, или маркер не ставится. А это отсутсвие поддержки, или неподдерживаемая функция/формат

В садоводствах (большинство из которых сейчас больше походят на коттеджные посёлки) часто такая нумерация: есть улицы, но номера домов (участков) идут сразу по всему населённому пункту, например, на 10-ти улицах с оригинальными названиями 1000 домов с номерами от 1 до 1000. Как тут быть?
Если в addr:street указать улицу - не найдётся дом по запросу “посёлок X дом #” (допустим, названия улицы ищущий не знает, и ведь он и не нужен!). А другой - будет тот же дом искать с названием улицы.
Наверное, в таком случае всё же надо “вбивать” это всё по очереди, например addr:street=“название посёлка” и addr:street2=“улица” ?

Все он найдет, то что на openstreetmap.ru. Попробуйте на любом городе

Вот еще одна живая иллюстрация к тому что языки у людей и программистов разные :sunglasses:

Называть можно как угодно, но relation street довольно популярная вещь, конверторами и валидаторами поддерживается, и нехудо бы ее поддержать и в поисковике с человеческим лицом тоже. :wink:

Я так понимаю, все странности систем адресации обсуждаются здесь?
Тогда опишу одну особенность Саранска: у нас есть дорога, у которой западная сторона адресуется по улице Володарского (и на ней есть такая табличка), а восточная - по Вокзальной. Как её отмечать? Отношениями?

Проблема — задать дороге сразу два названия?