Ru:Key:addr

From OpenStreetMap Wiki
Jump to: navigation, search
Доступные языки
česky Deutsch eesti English español français hrvatski italiano Nederlands 日本語 polski português do Brasil русский Tiếng Việt
Public-images-osm logo.svg addr
Housenumber-karlsruhe-de.png
Описание
Префикс для разных вариантов ключей addr:* описывающих адреса
Группа: Идентификаторы
Назначается на следующие элементы
Точки можно отмечать этим тегом
Линии можно отмечать этим тегом
Полигоны можно отмечать этим тегом
Отношения не принято отмечать этим тегом
Статус: Не указан

addr - это префикс для различных тегов addr:*, служащих для указания адреса. Ниже приведено описание этих тегов, а также описание используемой в российском сегменте OSM сокращенной схемы.



Адресация (addr:<*>=*)

Адресные данные объектов

Ключ Значение Элементы Описание Обозначение Фото

Теги для отдельных домов

addr:housenumber Задаётся пользователем Точка Полигон Номер дома (может состоять не только из цифр).
Корпус и строение дома следует указывать в формате "48А к2 с1" - дом номер 48А, корпус 2, строение 1.
Если номер дома написан через дробь, то так и пишите: например, "2/10" (также см. про угловые дома).
В случаях, когда несколько соседних участков были объединены, адрес здания, построенного на объединенном участке, следует указывать через знак "дефис-минус" (-, U+002D), например "17-23".
Является обязательным элементом адреса (за исключением случаев, когда вместо него используется addr:housename=*).
Wien Lainzer Str 8a.jpg
addr:housename Задаётся пользователем Точка Полигон В некоторых странах (например, в Соединённом Королевстве) вместо номеров домов иногда используются имена.
addr:street Задаётся пользователем Точка Полигон Основное название объекта, по которому ведётся соответствующая нумерация (например, название улицы). В случае улицы поблизости должна находиться линия с тегом highway=* и тегом name=* со значением, совпадающим с addr:street=* у здания. Является обязательным параметром. См. также cоглашение об именовании дорог.
Kirkland, WA - double street sign.jpg
addr:place Задаётся пользователем Точка Полигон Название объекта, по которому ведётся нумерация в том случае, если номер дома относится не к улице
addr:postcode Задаётся пользователем Точка Полигон Почтовый индекс.
addr:flats user defined Точка Marking numbers of flats behind door.
addr:city Задаётся пользователем Точка Полигон Наименование населенного пункта, указываемого в почтовом адресе.
Lillerod.jpg
addr:country Задаётся пользователем Точка Полигон Двух-буквенный код страны по стандарту ISO 3166-1 alpha-2 заглавными буквами. Это необходимо, так как почтовый индекс уникален только в пределах страны. Например, код России - "RU", код Беларуси - "BY".
addr:full Задаётся пользователем Точка Полигон Используйте этот тег для ввода полного, обычно состоящего из нескольких строк адреса, если обнаружите, что с помощью полей для ввода структурированного адреса невозможно обозначить какое-то конкретное расположение. Например: "Пятый дом налево от деревенского дуба, Иваново".

Для стран, в административном делении которых присутствуют термины деревня, подрайон, район, область и т. п.

addr:hamlet Задаётся пользователем Точка Полигон Деревня или другое малое сельское поселение, в котором располагается объект.
Grosvenor Place 2 2008 06 19.jpg
addr:suburb Задаётся пользователем Точка Полигон Если в населенном пункте имеется несколько одноименных улиц, указывается уточнение (район, пригород и т.п.) на улице и соответствующих ей домах
addr:subdistrict Задаётся пользователем Точка Полигон Подрайон или составная часть района, в котором располагается объект
addr:district Задаётся пользователем Точка Полигон Район, в котором располагается объект
addr:province Задаётся пользователем Точка Полигон Область, край, республика или другая равнозначная административная единица, в которой располагается объект. Также в этом же значении в России используется addr:region, даже больше чем addr:province.
addr:state user defined Точка Полигон The state of the object. For the US, uppercase two-letter postal abbreviations (AK, CA, HI, NY, TX, WY, etc.) are used.

Теги для интерполяции номеров домов вдоль линий

addr:interpolation all/even/odd/ alphabetic Линия Как интерполировать номера домов, принадлежащих одной улице и лежащих вдоль соответствующей линии. Смотрите подробное описание.
Spořilov, Púchovská, označení domu.jpg
addr:interpolation Число Линия Каждый n-ный дом, находящийся между конечными точками и принадлежащий интерполируемой линии
addr:inclusion actual/estimate/potential Линия Дополнительный тег обозначает уровень точности обследования при интерполяции адресов. Смотрите подробное описание.

This section is a wiki template with a default description in English. Editable here. Эта таблица сделана как вики-шаблон на русском языке. Редактировать.


Как обозначать

Адресные теги могут быть добавлены к изолированным точкам, точкам, которые являются частью зданий-полигонов ( входы entrance=* ) или к полигонам building=*.

Сокращенная схема, используемая в России де-факто

В России де-факто используется сокращенная схема адресации [1]. Она подерживается существующими популярными приложениями, такими как конверторы в навигаторы, основанные на RU:osm2mp (Гармин, Навител, СитиГИД, ГисРусса), а так же движками адресного поиска на openstreetmap.ru [2] и openstreetmap.by [3].

Используется вышеописанная описанная система тегов addr:* ("карлсруе"), но в отличие от полной схемы, где у каждого объекта все адресные данные прописываются полностью, включая город и страну, используются два уровня адресации: объекты (обычно дома и POI) и населённые пункты.

Населённые пункты нужно обозначить как полигоны с тегами place=city/town/village/hamlet/isolated_dwelling и названиями (name). Для них (населенных пунктов) указывается страна (addr:country), при необходимости, регион (addr:region), район (addr:district) и, в случае неоднозначности, сельсовет (addr:subdistrict). Садоводческие массивы либо иные территории компактного проживания людей, расположенные вне пределов населённых пунктов, обозначаются полигонами с тегом place=allotments.

Для объектов (домов, улиц etc) достаточно прописать только адрес внутри населённого пункта. Обычно это улица или иная территория, по которой ведётся адресация, (addr:street) и номер дома (addr:housenumber). В случае наличия в пределах населённого пункта, обозначенного полигоном place, одноимённых улиц, необходимо добавить на дома и на линии соответствующих улиц уточнения (addr:suburb). В качестве дополнительной единицы адресации можно указать квартал (addr:quarter).

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

Кроме того, osm2mp умеет получать название улицы из релейшена street (или associatedStreet).

Адреса на точечных POI

osm2mp умеет присваивать адреса POI, заданным в OSM точкой, из адреса окружающего эту точку полигонального дома. Присваивание адресов точечным POI, находящимся внутри полигональных домов, имеющих проставленные теги addr:*, является, таким образом, избыточным.

Примеры, основные случаи

Есть три основных случая.

1) дом адресуется по улице

пример: Москва, ул. Льва Толстого, д. 16

обозначается: addr:city=Москва + addr:street="улица Льва Толстого" + addr:housenumber=16

2) дом адресуется по микрорайону

пример: Москва, городок им. Баумана, д. 3

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

Сторонники точки зрения, что данная информация является избыточной, ограничиваются минимальным набором тегов (например, addr:housenumber). В их варианте запись выглядит следующим образом: обозначается:
addr:city=Москва + addr:quarter="городок имени Баумана" + addr:housenumber=3

Сторонники точки зрения, что указание объекта адресации является полезным и необходимом (такой логики придерживаются, в частности, некоторые валидаторы - например, этот валидатор понимает наличие тега addr:place как указание на то, что не следует выдавать ошибку "Улица не задана" в случае отсутствия на доме тега addr:street) используют для указания объекта адресации тег addr:place. В их варианте запись выглядит следующим образом:
addr:city=Москва + addr:quarter="городок имени Баумана" + addr:place="городок имени Баумана" + addr:housenumber=3

3) дом адресуется по населённому пункту

пример: Зеленоград, к. 1001

вариант без addr:place: addr:city=Зеленоград + addr:housenumber=к1001
вариант с addr:place: addr:city=Зеленоград + addr:place=Зеленоград + addr:housenumber=к1001

addr:city при этом не обязателен, вместо него может использоваться полигон города.

Особые случаи

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

Было принято решение [4] использовать следующую схему:

1. Если номер корпуса без номера дома - номер корпуса записывается в addr:housenumber с буквой "к", например addr:housenumber=к360

2. Если улицы нет официально - addr:street не указывается

3. Запрещается создание псевдоулиц для группировки зданий (установка name=N-й микрорайон на мелком проезде и т.п.)

4. Для группировки зданий в Зеленограде ставятся тэги:

на зданиях:
addr:city=Зеленоград
is_in:neighbourhood=N-й микрорайон

на областях, задающих микрорайоны:
landuse = residential
place = neighbourhood
name = N-й микрорайон

Угловые дома

Вопрос тегирования угловых домов (которые имеют несколько адресов) широк и спорен. На русском форуме есть несколько тем, где он обсуждается: [5], [6], [7], [8]. Существуют разные варианты расстановки тегов, каждый из них имеет своих адептов и свои лучшие применения. Также, в некоторых городах уже могла сложиться предпочтительная практика тегирования: проконсультируйтесь с местными мапперами.

Для примера, пусть дом имеет номер 6 по Большой улице и 9 по улице Ленина.

на полигоне здания:
building=yes
addr:housenumber=6/9
addr:street=Большая улица
addr:street2=улица Ленина

Запись через дробь чаще всего используется, когда на доме висит табличка с номером в виде дроби. На карте такой номер отображается так же, но тег addr:street2 мало кем обрабатывается и криво выглядит. Кроме того, возникает неоднозначность, какой из номеров писать первым, если на доме несколько разных табличек, и проблема несоответствия номера, отображаемого на карте, адресным табличкам (на адресных табличках отсутствуют дроби, присутствующие на карте). Следует отличать дома, имеющие несколько адресов по разным улицам, от домов, которым присвоено несколько номеров по одной и той же улице - случается, что на адресных табличках в таких ситуациях тоже пишут дробь (вместо тире). Недостатком данной схемы является неоднозначность, возникающая тогда, когда дробь уже содержится в одном из номеров. Так, дом, имеющий номер 4/7 по Маленькой улице и номер 7 по улице Петра Великого будет тегироваться на полигоне здания:building=yes+addr:housenumber=4/7/7+addr:street=Маленькая улица+addr:street2=улица Петра Великого. Из данной записи нельзя определить, имеет ли место номер 4/7 по Маленькой улице и номер 7 по улице Петра Великого или номер 4 по Маленькой улице и номер 7/7 по улице Петра Великого.

на полигоне здания:
building=yes
addr:housenumber=6
addr:street=Большая улица
addr:housenumber2=9
addr:street2=улица Ленина

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

на полигоне здания:
building=yes
addr:housenumber=6
addr:street=Большая улица

на отдельной точке внутри контура дома:
addr:housenumber=9
addr:street=улица Ленина

Когда два адреса расположены на разных объектах, для всех применений это мало отличимо от двух разных домов, поэтому у программ не будет проблем с нахождением адресов. Однако если в доме есть POI, то определить их адреса становится очень нетривиально: по сути, второй адрес просто теряется. Но недавно выдвинуто предложение по устранению этой проблемы. Есть вариант не ставить на дом адрес вообще, а делать несколько адресных точек. Пожалуй, это единственная схема, не вызывающая WTF у людей из стран, где двойная адресация не встречается.

на полигоне здания:
building=yes
addr:housenumber=6
addr:street=Большая улица
addr2:housenumber=9
addr2:street=улица Ленина

В этой записи адреса по разным улицам равнозначны. Запись более чем двух адресов не приводит к странным вереницам чисел, как в варианте с дробями. Dkiselev написал подробное описание схемы. Минусы: пока не поддерживается ни одной программой, на всех картах будет только один адрес. Не сохраняется запись через дробь, если она использована на табличке.

Распилить дом на куски по количеству адресов, на каждый кусок поставить отдельный адрес.

Также известен как способ Яндекса. Недостатком данной схемы является несоответствие введённых в OSM данных действительности - затегированными оказываются два дома, а не один. А в паспортах жителей и адресах находящихся внутри заведений адрес один, только сдвоенный. Поэтому таким решением можно озадачить две группы людей: кто ожидал увидеть распиленный дом, а нашёл один, и кто искал двойной адрес и не нашёл.

Белорусская схема адресации

Позволяет задавать адреса любой сложности в любом количестве. Но абсолютно неочевидна для новичка, особенно не программиста. Требует создания отношения на каждый угловой дом. Поддерживается OsmAnd... и, вроде, больше ничем. Придумана в Беларуси и не употребляется вне её.

Ввиду малой популярности и "протухания" данных была упразнена в пользу addr. Дальнейшее использование данной схемы не рекомендуется.

Украинская схема адресации

Позволяет задавать адреса на любом языке (русском/украинском и др.) с нормально работающим адресным поиском. Настоятельно рекомендуется к использованию на территории Украины. Не противоречит остальным правилам wiki. Нормально обрабатывается конвертером osm2mp (но есть нюансы).

Отличительные особенности:
 - Отказ от использования тегов addr:*** , кроме addr:housenumber (чтобы не спорить: на каком языке их писать)
 - Привязка населённых пунктов к областям и районам только по факту нахождения в границах района и области
 - Привязка улиц к населённым пунктам только по факту нахождения в границах населённого пункта
 - Привязка домиков к улицам (или микрорайонам) с помощью отношений associatedStreet

Описание и обсуждение на форуме

Использование интерполяции

HouseNumbersInterpolation.png

Если вдоль улицы, обозначенной линией не пронумерованы дома, можно пронумеровать их, воспользовавшись автоматической интерполяцией. Для этого, соедините дома ломаной линией в направлении увеличения нумерации и отметьте эту линию тегом, как указано на рисунке выше. Дополнительные теги, такие как addr:street=* и addr:housenumber=* можно не удалять, всё равно будет использоваться только тег addr:interpolation=*, (если номера домов — целые числа).

Если какие-то дома необходимо пропустить (например, пропущенный номер дома "13"), то надо начертить две линии (одну для домов "1-11" и другию для домов "15-25"). Если же присутствует регулярная структура где пропускаются номера домов через одинаковый шаг, (пример для нечётной стороны: 3401, 3405, 3409, и т.д.), используйте тег с цифровым значением addr:interpolation=* этого шага — здесь addr:interpolation=4. (Заметьте: addr:interpolation=odd и addr:interpolation=even это частные случаи addr:interpolation=Число, где Число это 2, а начальная точка нечётная или чётная, соответственно.)

Тегом интерполяции можно помечать также и единственный дом.

Как можно увидеть на иллюстрации выше, можно пометить отдельный дом с нецелым значением номера дома, и тегом addr:housenumber в любой из интерполяций odd/even/all (например, "12b"). В интерполяции это значение будет проигнорировано. Однако, конечные точки в интерполяции всегда будут подчиняться правилам!

Также вы можете использовать интерполяционный метод "alphabetic" чтобы интерполировать алфавитные символы в буквенной нумерации (буквизации :)) домов. Таким образом, если вам надо отметить дома вдоль от 7a до 7f, вы можете соединить их линией, помеченой тегом addr:interpolation=alphabetic. Вы не можете смешивать алфавитную интерполяцию с другими интерполяционными методами. Есть только специальный случай, где первый дом может быть чисто цифровым, а остальные пронумерованы буквами латинского алфавита, начиная с A. Например, последовательность 25-25F означает, что дома пронумерованы так: 25 — 25A — 25B .. 25F.

Примеры

Использование интерполяции адресов при частичном обследовании

Создание адресной интерполяции может также быть полезно для отображения нумерации домов, если при этом недостает каких-либо данных:

1. Описываются улицы новой постройки, у которых известны все конечные точки, но пока еще присутствуют не все дома.

2. Описываются улицы новой постройки, у которых не известны все конечные точки, но можно оценить вероятный диапазон номеров.

3. Описываются существующие жилые комплексы, в которых некоторые номера домов отсутствуют или повреждены до неузнаваемости.

Дополнительный тег addr:inclusion определят точность данных.

  • addr:inclusion=actual — Означает, что было произведено тщательное обследование, и каждому номеру дома из адресной интерполяции был сопоставлен реально существующий дом. То же самое значение принимается при отсутствии этого тега.
  • addr:inclusion=estimate — В адресной интерполяции могут присутствовать номера, которые физически не существуют по приведенным выше причинам. Расчеты геолокации во время обследования сделаны с учетом пространства, которое могут занять реальные дома.
  • addr:inclusion=potential — Задан полный диапазон всех возможных номеров в комплексе, хотя в самом комплексе домов в сравнении с количеством номеров может недоставать.

Вспомогательные инструменты

Отображение адреса и другой информации о зданиях доступно на слое ITO Map и в одном из представлений OSM Inspector от Geofabrik. При этом отслеживаются присвоенные зданиям теги, и по ним выводится информация, есть ли у этого здания адрес или название. OSM Inspector также производит проверку линий интерполяции адресов. OSM Inspector имеет ограничения в Европе.

OpenLinkMap – удобная карта, которая содержит множество POI, нажав на которые, можно увидеть присвоенные объектам теги.

См. также