You are not logged in.
- Topics: Active | Unanswered
Announcement
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***
#26 2010-02-26 08:17:24
- Komяpa
- Member
- From: Minsk
- Registered: 2009-04-14
- Posts: 1,323
- Website
Re: Обсуждаем способы задать адресацию
Адресация с помощью релейшенов - это имхо утопия.
Во всяком случае, пока.
Слишком уж ненадёжная это штука.
В чём именно проявляется их ненадёжность?
world processing is what we do.
[OSMF BY Team] [http://komzpa.net/] [jabber: komzpa@gmail.com] [mobile/SMS: +375257407159]
Offline
#27 2010-02-26 08:25:58
- liosha
- Member
- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Обсуждаем способы задать адресацию
В том, что рушатся от любого чиха.
И чем больше их будет, тем чаще будут рушиться.
Offline
#28 2010-02-26 08:27:43
- ikz
- Member
- From: Тартария, Набережные Челны
- Registered: 2009-09-18
- Posts: 942
Re: Обсуждаем способы задать адресацию
Вопрос то в том, что cladr:code еще более ненадёжен и неустойчив. И решение вопросов адресации с помощью средств для этого не предназначенных еще большая утопия.
Offline
#29 2010-02-26 08:30:37
- liosha
- Member
- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Обсуждаем способы задать адресацию
Ну это ты зря, cladr:code гораздо надёжнее релейшенов.
Хотя проблем у него полно: неуниверсально и привязано к внешней базе
Offline
#30 2010-02-26 08:45:13
- ikz
- Member
- From: Тартария, Набережные Челны
- Registered: 2009-09-18
- Posts: 942
Re: Обсуждаем способы задать адресацию
Хм.
При отрисовке зданий я часто копирую теги или дублирую все здание целиком. Представим, что скопировали теги со здания, привязанного по кладр-коду к соседней улице. Отвлеклись, а потом забыли поправить адресную информацию. Первая проблема - здание оказалось привязано к соседней улице и эта ситуация не валидируется! Только ручная проверка соответствия кладр-кода!
Вариант второй - в аналогичной ситуации (копирование тегов) исправили addr:street и addr:housenumber, но забыли исправить cladr:code. И это опять ничем не валидируется! Опять вручную проверять код.
В случае релейшенов такой фигни не будет. При копировании тегов или дублировании здание не попадет ни в один релейшен улицы и при простом клике на нем уже будет видно, включено ли оно в какой-либо адресный релейшен. А при выборе релейшена подсветятся здания включенные в него и будут прекрасно видны пропущенные и посторонние полигоны.
Offline
#31 2010-02-26 12:25:06
- coolkaas
- Member
- From: RU, Penza
- Registered: 2009-05-28
- Posts: 2,391
Re: Обсуждаем способы задать адресацию
Моя мечта -- это отношение street с названием улицы и прочими кладрами (на отношении), сборка безымянных ways в нём с ролью street, и сборка всех домов с ролью address. А на доме только номер.
И главная получается улица, уровень А6. Я даже выше сейчас не смотрю (по белорусской схеме), нам тут бы к согласию прийти!
На самом деле такая схема нижнего уровня достаточно вандало-устойчива. Да и поправить какие вновь-прибывшие дома -- не большая проблема.
Довести логику до конечных исполнителей очень просто: есть ящик, спереди написано: "ул. Мира", выдвигаешь его, там лежат дома (точнее, бумажки со ссылкой на реальный дом), берёшь дом, там его номер. И да, is_in тут пригодится, если не считать обратной связью вверх само участие дома в отношении. (хотя мне не очень нравиться и is_in, как вручную проставляемый тег и дублирующий участие в отношении -- потенциальны коллизии вида: дом в отношении, is_in'а нет; и наоборот). И всё.
Если сообщество придёт к некоему соглашению, то навязывать эту схему всем.))
У меня хоть и мало домов нарисовано (зато свои, родные, гпсом все собранные), дак никакого желания особого объединять их во что-то нет -- не мотивируется как-то из-за как раз раздрая с "единственным и неповторимым" способом их объединения. А еще есть collection для улиц и для многих он лучший и почти все им пользуются. А у меня вот street -- ну куда это годится? Разнообразие это всё.. И на каждом отрезке название улицы.. и ОНО же! на доме еще до кучи. Что бы не забыть, если что))))
Так что, это хорошо, что старая проблема в очередной раз вскрылась. Давайте продолжать?))
Offline
#32 2010-02-26 12:35:05
- liosha
- Member
- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Обсуждаем способы задать адресацию
Лично мне белорусская схема не понравилась - слишком уж заумно и неестественно. a3, a6...
Если уж браться за адресацию, надо сначала вообще с уровнями определиться, а потом пытаться привязывать эти уровни друг к другу.
Offline
#33 2010-02-26 13:09:20
- ikz
- Member
- From: Тартария, Набережные Челны
- Registered: 2009-09-18
- Posts: 942
Re: Обсуждаем способы задать адресацию
В почтовом адресе шесть уровней: страна, регион, район, НП, улица, дом+квартира. Индекс не рассматриваю, поскольку у одной улицы может быть несколько индексов и у нескольких улиц может быть один индекс. Индекс это, фактически, код почтового отделения.
На начальном этапе достаточно определиться с уровнем объединяющим улицы с домами. Следующие этапы проще.
Offline
#34 2010-02-26 13:10:16
- shadowjack
- Member
- Registered: 2008-05-05
- Posts: 439
Re: Обсуждаем способы задать адресацию
Я тоже за адресацию с помощью отношений. Предлагаю обсудить схему им. Котяры (вернее, им. Michael_D).
Last edited by shadowjack (2010-02-26 17:08:48)
Offline
#35 2010-02-26 13:21:27
- liosha
- Member
- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Обсуждаем способы задать адресацию
Ну, для начала, я не согласен, что уровней шесть - на мой взгляд их три
Кроме того, объединить дома в релейшен улицы - это самое простое, что можно придумать.
Релейшены такие уже есть:
http://wiki.openstreetmap.org/wiki/Rela … sed/Street
http://wiki.openstreetmap.org/wiki/Rela … ptional.29
Так что тут особо и обсуждать нечего. А вот дальше-то что?
Offline
#36 2010-02-26 13:25:27
- dkiselev
- Member
- Registered: 2010-02-09
- Posts: 3,364
Re: Обсуждаем способы задать адресацию
Я хоть за какую-то единую схему адресации.
mail: dkiselev@osm.me skype: dmitry.v.kiselev
Open Street Maps are supreme! Exterminate all map forms! Exterminate! Exterminate!
Offline
#37 2010-02-26 13:36:07
- ikz
- Member
- From: Тартария, Набережные Челны
- Registered: 2009-09-18
- Posts: 942
Re: Обсуждаем способы задать адресацию
Релейшен не решает только одну проблему - двойную-тройную адресацию.
И хотя с челнинским вариантом адресации особых проблем нет (я могу создать два релейшена - для улицы и для комплекса), есть проблемы с угловыми домами, где дому надо указывать два разных номера для разных улиц.
liosha, а какие три уровня? IMHO, даже если исключить страну, останется еще 5...
associatedStreet может включать только один вей в роли street, что не есть хорошо.
Offline
#38 2010-02-26 13:40:32
- liosha
- Member
- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Обсуждаем способы задать адресацию
Основных уровня три:
1. Страна
2. Адрес населённого пункта внутри страны
3. Адрес владения/дома внутри населённого пункта.
можно добавить 4. Адрес внутри владения/дома, но это вроде уже не наш вопрос.
Все остальные "уровни" - это скорее группировки, их может и не быть, или у них может быть слишком много вариаций, чтобы их все учитывать в общей схеме.
Offline
#39 2010-02-26 14:04:11
- ikz
- Member
- From: Тартария, Набережные Челны
- Registered: 2009-09-18
- Posts: 942
Re: Обсуждаем способы задать адресацию
релейшен address никем пока не забит, так что можно взять street за основу и расписать свои пожелания.
liosha, в принципе согласен. Можно обойтись и тремя уровнями. Хотя пять выглядело бы более естественно.
По пункту 4 я думал вписывать на точки подъездов тег rooms=xx-xxx. И если бы какой из конвертеров смог бы это использовать - указывал бы путь до подъезда. Но включать это в адресацию смысла нет никакого.
Мои пожелания к релейшену (дополнительно к тому, что есть в street):
- возможность указать, в каком теге хранится адрес дома;
- возможность указать, что тег name не должен использоваться для адресации.
Offline
#40 2010-02-26 14:13:40
- liosha
- Member
- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Обсуждаем способы задать адресацию
Ну так я и призываю сначала определиться с уровнями и объектами адресации.
И только потом можно будет придумывать, как описывать и определять, например, принадлежность дома к нас. пункту и адрес дома внутри этого нас. пункта.
Offline
#41 2010-02-26 15:00:51
- Aleksandr Dezhin
- Member
- From: Msk
- Registered: 2008-05-25
- Posts: 2,109
- Website
Re: Обсуждаем способы задать адресацию
Мне кажется нет никакого смысла собирать прям все в релейшны а-ля РБ. Для площадных объектов вполне можно использовать попадание в этот площадной объект, нежели дублировать это попадание в бесполезных релейшнах. Ну а улицы, конечно надо собирать.
[ Проверка границ и НП | Дампы | Валидатор рек | Кое-что ещё ]
- Нет! Не надо пытаться. Делай. Или не делай. Не надо пытаться. (c) Йода
Offline
#42 2010-02-26 15:55:10
- ikz
- Member
- From: Тартария, Набережные Челны
- Registered: 2009-09-18
- Posts: 942
Re: Обсуждаем способы задать адресацию
IMHO тремя уровнями иерархии не обойтись. Ведь надо, чтобы было все по человечески и легко проверяемо.
Возникают вопросы к "адрес НП внутри страны" - сколько НП будет в таком релейшене? Как его проверять? Как его поддерживать?
Аналогично и по "адрес владения/дома внутри НП" - сколько там домов внутри той же Москвы? Размер такого релейшена трудно представить...
Таки 5 уровней более приемлемо и контролируемо.
Дома собираются в улицы, улицы в НП, НП в районы/ГО, районы/ГО в регионы, регионы в страну. Объем одного релейшена на каждом уровне не сильно большой и вполне поддается проверке и модификации.
Разберу на своем доме (Челны - ГО, поэтому отнес к уровню 3):
(1) дом 2 по бульвару 60 лет Октября, (3) в г.Наб.Челны, (4) в РТ, (5) в России.
или
(1) дом 7/09 [в 7ом комплексе], (2) в Новом городе, (3) в г.Наб.Челны, (4) в РТ, (5) в России.
Такая схема позволит получать полный адрес объекта последовательным соединением полей name (кроме дома, где вместо name берется addr:housenumber/addr:streetnumber или еще какой number).
Offline
#43 2010-02-26 16:13:24
- liosha
- Member
- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Обсуждаем способы задать адресацию
Во-первых, три уровня - это _базовые_ уровни. Они есть всегда и без них не обойтись.
Иногда их достаточно трёх: Россия, г. Зеленоград, к100.
Иногда гораздо больше: в адрес _могут_ при необходимости включаться и регион, и муниципальный район, и сельсовет, и городской район, и улицы, и микрорайоны, и ещё фиг знает что. Но всегда половина адреса будет описывать НП внутри страны, а другая половина - дом внутри НП.
Во-вторых, не надо смешивать адресацию (НП) с административным делением (ГО). Это совершенно разные и слабо связанные вещи.
И не надо упираться в релейшены, на них свет клином не сошёлся. Первична задача, а не средства.
Offline
#44 2010-02-26 17:15:42
- ImmortAlex
- Member
- From: Novosibirsk, Russia
- Registered: 2010-01-08
- Posts: 194
Re: Обсуждаем способы задать адресацию
Ну вот вы сразу круто спорить взялись, с количеством уровней... Щас все испортите Давайте сперва про улицы с домами договоримся?
Взять тот же street, добавить (хотя бы по варианту ikz) возможность включить один дом в два отношения...
Offline
#45 2010-02-26 17:45:54
- Hind
- Member
- From: Moscow
- Registered: 2009-05-25
- Posts: 3,950
Re: Обсуждаем способы задать адресацию
возможность включить один дом в два отношения...
А номера как указывать?
Offline
#46 2010-02-26 18:05:14
- physiocrat
- Member
- Registered: 2009-12-23
- Posts: 49
Re: Обсуждаем способы задать адресацию
Я сначала хотел настроить бота на релейшены, но, во-первых, это сложнее, а во-вторых создает конфликт человек - робот.
Робот не совершенен, и поэтому позволять ему править за человеком рискованно. Настроить его на внесение/исправление техничесокй информации - вполне нормально.
В случае клад-кода на доме остается огромное кол-во ручного, человеческого труда по поддержанию подобной адресации в актуальном состоянии.
Предполагается, что кладр-код периодически проверяется ботом на соответствие тэгу addr:street.
Сквозная нумерация домов по городу с объединением домов в комплекса. Например 2/09 (2ой комплекс), 56/14 (56ой комплекс).
С тем же самым "Московский проспект, 159" 95% людей разведут руками, но на 30/18 укажут, если уж не сам дом, то направление на него однозначно.
По правде говоря, не уловил, в чем принципиальная особенность. И в Москве таких домов предостаточно. Да хотя бы взять те же угловые здания.
Во всех этих случаях вариант адресации по кладр-коду реализуем. Можно н/р указывать
addr:street=Московский проспект
addr:housenumber=159
addr:street2=56-й комплекс
addr:housenumber2=14
addr:street3=Набережные Челны
addr:housenumber3=56/14
...
Это, конечно, пока только предложение.
2-й вариант предложил ViVish на форуме Покетгиса: обводить в таких случаях контуры зданий несколько раз и указывать для каждого контура свой адрес. ИМХО, довольно топорный вариант, но зато работает уже сейчас без переделки конвертеров.
Offline
#47 2010-02-26 18:13:42
- Hind
- Member
- From: Moscow
- Registered: 2009-05-25
- Posts: 3,950
Re: Обсуждаем способы задать адресацию
addr:street3
addr:housenumber3
Не хотеть такого. Это то же самое, что жестко захардкодить элементы массива в отдельные переменные. Думаю, многие программисты со мной согласятся. :3
Offline
#48 2010-02-26 18:24:30
- ikz
- Member
- From: Тартария, Набережные Челны
- Registered: 2009-09-18
- Posts: 942
Re: Обсуждаем способы задать адресацию
liosha, ну я то взял за основу почтовый адрес, в котором идет (почти) именно такое разделение.
Еще один интересный момент. Кол-во уровней нужно только в том случае, если делать единственный, универсальный релейшен для любого уровня иерархии. Минус в том, что такой релейшен будет перегруженным, сложным для составления и валидации.
Есть предложение сделать несколько различных релейшенов для разных целей:
streetaddress для сбора домов в улицы; districtaddress для сбора в районы; settlementaddress для сбора в НП; regionaddress для региона. Момент в том, что disctrictaddress и settlementaddress можно включать друг в друга в любой последовательности, что дает любой уровень иерархии.
Фактически же, у нас есть уже несколько используемых релейшенов, которые легко можно приспособить под адресацию для уровней начиная с районов. Достаточно вспомнить, что вся Россия собрана в collection "Административное деление России", в котором есть ссылки на все регионы. Такие же collection с районами есть по многим регионам, осталось в районах собрать collection с НП, а в НП - с улицами. Промежуточных collection можно собрать сколько угодно. Так что достаточно решить во что и как собирать улицы с домами
ПыСы. А в collection можно добавить необязательный тег postal_name и при разворачивании цепочки у нас выстроится полный адрес.
Offline
#49 2010-02-26 18:55:07
- Komяpa
- Member
- From: Minsk
- Registered: 2009-04-14
- Posts: 1,323
- Website
Re: Обсуждаем способы задать адресацию
ImmortAlex wrote:возможность включить один дом в два отношения...
А номера как указывать?
В случае нашей схемы - на контуре дома оставляется только информация для рендерера (типа address:housenumber=107/38)
На отдельные адреса делаются релейшены, в которых пишется адрес и в который включается контур.
Дальше каждый из этих релейшенов идёт своим путём, как отдельный объект.
world processing is what we do.
[OSMF BY Team] [http://komzpa.net/] [jabber: komzpa@gmail.com] [mobile/SMS: +375257407159]
Offline
#50 2010-02-26 19:08:01
- coolkaas
- Member
- From: RU, Penza
- Registered: 2009-05-28
- Posts: 2,391
Re: Обсуждаем способы задать адресацию
(про нижнюю часть иерархии: улица-дом)
Да, единственная накладка -- это двойные адреса. На вскидку хочется тогда вытащить с дома номер *как-то* в само отношение street, а на доме оставить только buildig=yes. Но это слишком нереально))
"addr:street3, addr:housenumber3" -- тоже весьма пугает..
Остаётся не очень прочувствованная мной Котярная схема с отношениями И на адреса, в которые (как-то?) включается контур дома. Котяра, с какой ролью сам билдинг включается в отношение адреса?
Offline