Я полагаю, что если садоводство “Строитель” расположено обособлено, то на полигон садоводства и на точку внутри него нужно ставить name=СНТ “Строитель” + place=allotments, а улицы именовать по принципу highway=residential + name=Лесная улица, если садоводство расположено внутри населённого пункта (place=hamlet/village/town/city), то на улицы внутри садоводства нужно ставить highway=residential + name=Лесная улица + addr:suburb=СНТ “Строитель”, а на дома - building=yes + addr:housenumber=1 + addr:street=Лесная улица + addr:suburb=СНТ “Строитель”.
addr:place используется в тех случаях, когда дом нумеруется не по улице, то есть если мы будем иметь адрес “СНТ “Строитель”, дом 1”. Если дом нумеруется по улице, никакого addr:place быть не может.
Так и сделаю, вернее - буду продолжать так делать.
Немного не по теме, но по “горячим следам” спрошу, place=allotments на полигон обязательно? С ним ни один рендер не показывает название населённого пункта и карта в этом получается бесполезной.
Здесь есть сложность. В СНТ дома часто расположены на именованной улице, а номера порядковые, по СНТ. При этом на практике адрес могут назвать как по улице, так и по СНТ. Чем плохо указывать и addr:street и addr:place?
place=allotments указывает на то, что данный объект расположен вне пределов “обычного” населённого пункта (place=isolated_dwelling/hamlet/village/town/city), но при этом представляет собой самостоятельный объект, имеющий внутреннюю адресацию. Без простановки place=allotments адресация внутри этого объекта не будет работать корректно. Поэтому для работы адресации по таким объектам тег place=allotments обязателен.
Костыль: параллельно с полигоном name=Название+place=allotments рисовать полигон name=Название. Написал авторам Mapnik-а, чтобы исправили ошибку.
Для адресации не важно, рядом с какой улицей дом расположен, важно, какой он имеет адрес. Мне кажется, нередко можно встретить дома, расположенные на одной улице, а адресующиеся по другой. Естественно, в addr:street следует указывать улицу, по которой дом адресуется.
С адресацией по территориям то же самое. Неважно, на какой улице расположен дом, важно, как он адресуется. Если дом имеет адрес “садоводство Солнышко, дом 1”, следует указывать addr:place=садоводство Солнышко+addr:housenumber=1 или addr:place=садоводство Солнышко+addr:street=садоводство Солнышко+addr:housenumber=1, что и будет означать адрес “садоводство Солнышко, дом 1”. А если мы напишем addr:place=садоводство Солнышко+addr:street=Тенистая улица+addr:housenumber=1, то получим противоречивые данные, т. к. комбинация addr:place=садоводство Солнышко+addr:housenumber=1 говорит о том, что дом имеет адрес “садоводство Солнышко, дом 1”, а комбинация addr:street=Тенистая улица+addr:housenumber=1, что дом имеет адрес “садоводство Солнышко, дом 1”, при этом последнее не будет соответствовать действительности, т. к. дом нумеруется по садоводству, а не по улице. И addr:place, и addr:street означают одно и то же - “объект, по которому ведётся адресация”. Соответственно, на одном доме не могут стоять addr:place и addr:street с разными значениями. Тег addr:place используется только в тех случаях, когда дом адресуется не по улице.
А в пределах н. п.? place=suburb? Знаю, что есть тема, но там всё вообще запуталось, а тут Вы мне всё так понятно объясняете :).
(исправил описку)
ИМХО рендер должен в таком случае выдать два адреса. А пользующийся картой в поиске должен найти и “Тенистая 1”, и «СНТ “Солнышко” 1». Иначе нельзя, т. к. оба способа указания адреса используются.
Коттеджные посёлки и садоводства, расположенные в пределах населённого пункта - place=suburb, place=quarter или place=neighbourghood. По поводу того, в каких случаях какое из обозначений следует использовать, имеются определённые разногласия, но общая идеология такова: suburb - большАя часть населённого пункта, quarter - часть поменьше, neighbourhood - самая маленькая часть. В предложении по использованию place=quarter сказано, что если речь идёт о части деревни или небольшого города, то place=quarter может использоваться только в том случае, если существуют более мелкие части, обозначаемые place=neighbourhood. Если таких более мелких частей нет, используется обозначение place=quarter.
Я бы, в общем случае, обозначал полигоны коттеджных посёлков и садоводств, расположенных в пределах населённых пунктов так:
обычное небольшое садоводство (или коттеджный посёлок) - place=neighbourhood
садоводство (или КП), которое можно разбирать на более мелкие части, обозначаемые place=neighbourhood - это place=quarter
весьма крупное садоводство (или КП), внутри которого можно создать более мелкие части place=quarter и/или place=neighbourhood и которое расположено в крупном населённом пункте - place=suburb
Отмечу, что place=suburb рендерерами отображается, place=quarter и place=neighbourhood - нет. При этом, т. к. place=neighbourhood является принятым тегом, его неотображение является ошибкой - по поводу Mapnik-а уже писали.
Насколько я знаю, большинство рендереров и программ работаю с addr:street и не работают с addr:place (addr:place находится в начале пути к широкому признанию). Соответственно, ожидается, что в addr:street в случае заполнения этого поля будет указан правильный/официальный/корректный объект, по которому ведётся адресация. То есть по addr:street=садоводство Солнышко + addr:housenumber=1 или addr:place=садоводство Солнышко + addr:street=садоводство Солнышко + addr:housenumber=1 многие составят правильный адрес “садоводство Солнышко, дом 1” (мы ведь ведём речь именно об объектах, которые адресуются по территории), а вот по addr:place=садоводство Солнышко + addr:street=Тенистая улица + addr:housenumber=1 большинство рендереров и программ составят адрес “Тенистая улица, дом 1” и не составят адрес “садоводство Солнышко, дом 1”, что неправильно. В первую очередь должен восстанавливаться правильный/официальный/корректный адрес.
Поэтому мне кажется, что лучше было бы поступать так: если мы имеем дом, имеющий адрес “садоводство Солнышко, дом 1”, но который часто адресуют как “Тенистая улица, дом 1”, то в качестве основного адреса указываем “садоводство Солнышко, дом 1”, а в качестве альтернативного - “Тенистая улица, дом 1”:
addr:place=садоводство Солнышко + addr:housenumber=1 (либо addr:place=садоводство Солнышко + addr:street=садоводство Солнышко + addr:housenumber=1) + addr:street2=Тенистая улица + addr:housenumber2=1. как указал AMDmi3, скорее должно быть addr2:street=Тенистая улица + addr2:housenumber=1 .
Конкретно как быть в этом случае?
Здесь есть и номера участков и оригинальные номера домов по улице Отрадной, которая проходит рядом с КП и есть в реестре.
Если я правильно понимаю “политику партии” :),
убирать с домов addr:place, т. к. принадлежность к КП “Рощинская Сказка” понятна по нахождению в полигоне, проставить где нет addr:street=Отрадная улица.
номера участков думаю отрисовать полигонами (схема висит на воротах КП) и обозначить boundary=lot, lot=“номер”.
Моё мнение:
а) на полигон КП “Рощинская Сказка” поставить place=suburb, place=quarter либо place=neighbourhood (как я указывал, здесь твёрдой общей позиции пока не сложилось, но я бы поставил, наверное, place=neighbourhood) + name=Рощинская Сказка (либо name=КП “Рощинская Сказка”, либо что-нибудь в этом духе)
б) addr:place на домах посёлка быть не должно, т. к. дома адресуются не по посёлку, а по Отрадной улице Рощина
в) раз дома адресуются по Отрадной улице, на домах должно быть проставлено addr:street=Отрадная улица
г) номера участков обозначаются полигонами boundary=lot,lot=<номер>; я как-то позволял себе ещё добавлять name=<участок номер>, но подозреваю, что за это могут и наругать:)
Так нельзя: получится, что дом адресуется не по улице “Отрадная улица”, а по другой - по “Отрадная улица (Рощинская Сказка)”. А в данном случае все дома адресуются по одной и то же Отрадной улице Рощина.
Как предлагаете иначе отличать дома, на которых забыли проставить addr:street, от домов, на которых улицу не указали, т. к. дома адресуются по территории?
ИМХО не только для валидатора, но и ОСМера, что бы по тегам было видно, по чему идёт адресация.
Кроме того бывает, что домовладение находится в границах одного полигона (СНТ, посёлка), а адресуется по другому, или полигона вообще нет, только точка - как тогда вообще понять, к чему относится номер дома?
Это не только для валидатора. Во-первых, это также и для недонавигаторов, которым нужна привязка домов к улицам - при наличии addr:place они могут действовать по другому алгоритму чтобы хоть как-то это обработать. Во-вторых, это логично с точки зрения схемы: если адресация не по улице, нельзя для неё использовать тэг, в который пишется улица.
это нелогично, потому что эти данные уже есть в полигоне place.
addr:place - гениальный тег, предназначенный исключительно для дублирования другого тега
Я о том и говорю, что единственный смысл этого тега - внесение “некоторой избыточности”. Больше он ни для чего не нужен.
Хотя, судя по советам в соседней теме, этот тег уже “протух” (вслед за route=ferry и hw=footway), даже не успев начаться. Так что использование его для валидации уже тоже вызывает сомнение