You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being retired. Please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators.
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.***

#251 2009-06-15 19:16:31

zgremlin
Member
Registered: 2008-07-31
Posts: 332

Re: КЛАДР

Ilis wrote:

Задача поиска к чему сводится? По названию города, улице и номеру дома найти дом. Сначала ищем города, потом внутри полигона или окрестности точки (города) ищем точки или полигоны с тегом билдинг и отбираем там по тегам улица и номер. Математический аппарат для поиска точек в полигоне и пересечения полигонов достаточно развит, и есть интерфейсы к БД, где этот поиск делается одним запросом.

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

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

А теперь то же самое поподробнее:

Задача 1.
Пусть у нас есть точка или полилиния.
1. По номеру запрашиваем ее из OSM:
  http://www.informationfreeway.org/api/0.6/node[id=###] или http://www.informationfreeway.org/api/0.6/way[id=###]
2...


Задача 2.
У нас есть left,top,rigth,botton.osm
Надо проиндексировать все населенные пункты, улицы и дома. Да, да, и возле прямоугольника области тоже. Нет, граница государства в прямоугольник не попала, в какой мы стране неизвестно. Нет, интернета у нас нет, просто на флешке файлик принеслии.

Last edited by zgremlin (2009-06-15 19:19:58)

Offline

#252 2009-06-15 19:19:35

Yuri Nazarov
Member
Registered: 2008-04-12
Posts: 237

Re: КЛАДР

liosha wrote:

у каждой страны своя адресная иерархия, так что по любому придётся свои теги, специфичные для России, вводить.

Есть относительно стандартная/универсальная схема, см. RFC 4119 и http://wiki.openstreetmap.org/wiki/Rela … _Addresses

Last edited by Yuri Nazarov (2009-06-15 19:25:03)

Offline

#253 2009-06-15 19:23:06

Yuri Nazarov
Member
Registered: 2008-04-12
Posts: 237

Re: КЛАДР

У меня вопрос -- под какой лицензией распространяется КЛАДР (искал, не нашел), и совместима ли она с Creative Commons Attribution-Share Alike 2.0 Generic License (http://creativecommons.org/licenses/by-sa/2.0/legalcode) и Open Database License (http://wiki.openstreetmap.org/wiki/Open … se_License) ?

Offline

#254 2009-06-15 19:35:48

Bedouin
Member
From: Novgorod
Registered: 2009-05-27
Posts: 167

Re: КЛАДР

Yuri Nazarov wrote:

У меня вопрос -- под какой лицензией распространяется КЛАДР

Ща и Кладр окажется нелицензированным, кому-то придётся откатывать lol

Offline

#255 2009-06-15 19:41:09

Ilis
Member
From: Екатеринбург
Registered: 2009-05-24
Posts: 5,970

Re: КЛАДР

KekcuHa wrote:
Ilis wrote:

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

Мда. Рекомендую попробовать на практике написание поиска в ОСМ по любому из предложенных  алгоритмов lol

Ха-ха, как смешно. Если бы мне это было надо, я бы думал именно в этом направлении, а не плодил бы теги. Планета=Земля, Система=Солнечная, Галактика=Млечный_путь ещё впишите тогда, а то вдруг напейсатель программы алгоритмов работы с точками не знает где подглядеть, и

Нет, интернета у нас нет, просто на флешке файлик принеслии.

Offline

#256 2009-06-15 20:19:35

zgremlin
Member
Registered: 2008-07-31
Posts: 332

Re: КЛАДР

Bedouin wrote:
Yuri Nazarov wrote:

У меня вопрос -- под какой лицензией распространяется КЛАДР

Ща и Кладр окажется нелицензированным, кому-то придётся откатывать lol

1. Что интересно, КЛАДР "откатывается" совершенно безпроблемно - просто удаляюся все cladr:*.
2. Лицензия КЛАДР очень интересна, и не менее интересна лицензия данных КАДАСТР.
    Определенная надежду дает то, что эти данные фактически являются "первоисточником" и с точки зрения лицензии должны иметь тот же статус, что и закон. Т.е. это должен быть набор фактов (которые, как известно, не могут быть предметов авторского права), причем не несущий в себе элементов творчества (от силы некоторые тонкости структуры БД). Кроме того заказчиком выступало государство, т.е. налогоплательщики и данные не содержат какой-либо тайны (иначе не были бы выложены в свободном доступе).
3. В OSM попал не КЛАДР, а некоторые данные из него, что тоже может иметь отличия по ограничения.

Offline

#257 2009-06-15 21:30:42

zgremlin
Member
Registered: 2008-07-31
Posts: 332

Re: КЛАДР

Yuri Nazarov wrote:
liosha wrote:

у каждой страны своя адресная иерархия, так что по любому придётся свои теги, специфичные для России, вводить.

Есть относительно стандартная/универсальная схема, см. RFC 4119 и http://wiki.openstreetmap.org/wiki/Rela … _Addresses

На нее тоже в свое время посмотрели и увидели следующие недостатки:
1. Число членов в отношении не может быть больше 2000 (по крайней мере не рекомендуется) - в Москве 3656 улиц (по КЛАДР)
2. У отношений нет географической привязки, т.е. получить отношение можно только зная его id. И при этом не в объекте указана ссылка на отношение, а наоборот. Т.е. проблемы как в том чтобы по объекту найти адрес (имея id объекта не узнаешь id его адреса - впрочем как-то же JOSM выдерживает запреты поворотов...так что может и здесь небезнадежно), так и в том, чтобы по стране определить ее области и т.д. (аналогично)
3. Работа с отношениями во всех программах сделана довольно... в общем не до конца проработана.
4. Нормальная работа с этой системо без поддержки со стороны программных средств невозможна.

Offline

#258 2009-06-15 23:58:44

wildMan
Member
From: Minsk
Registered: 2008-03-05
Posts: 509

Re: КЛАДР

zgremlin wrote:

1. Число членов в отношении не может быть больше 2000 (по крайней мере не рекомендуется)

устарело. в апи 0.6 ситуация изменилась. это раз.
во вторых вы невнимательно читали про Postal_Addresses
там восходящая схема. т.е. не город хранит "у меня стотыщпицот улиц", а улица хранит "я отношусь к городу ХХХХ"

zgremlin wrote:

2. У отношений нет географической привязки, т.е. получить отношение можно только зная его id. И при этом не в объекте указана ссылка на отношение, а наоборот. Т.е. проблемы как в том чтобы по объекту найти адрес (имея id объекта не узнаешь id его адреса - впрочем как-то же JOSM выдерживает запреты поворотов...так что может и здесь небезнадежно), так и в том, чтобы по стране определить ее области и т.д. (аналогично)

читать http://wiki.openstreetmap.org/wiki/OSM_ … ersion_0.6 в части касающейся "Relations for Element"

zgremlin wrote:

3. Работа с отношениями во всех программах сделана довольно... в общем не до конца проработана.

вот с этим полностью согласен. тут к сожалению пока всё не очень радостно. хотя в josm уже можно работать не сильно через анус.

zgremlin wrote:

4. Нормальная работа с этой системо без поддержки со стороны программных средств невозможна.

непонял фразы. а с какой системой можно работать без поддержки программных средств?

как бы то нибыло нормальную поддержку адесации без релейшенов не реализовать. все другие схемы гораздо хуже.
не есть пару проблем которые вы почему то не назвали:
1. поддержание системы в валидном состоянии. нужны боты типа кладровского которые будут отслеживать и поддерживать целостность структуры релейшенов т.к. в отличие от физических объектов тут нарушения визуально не заметны
2. в текущей схеме предполагается что в релейшене будет вся адресная информация + что релейшен будет создан для каждого элемента адресной сети. т.е. для каждого здания. а это значит что общий объём данных будет солидно больше. в минске по скромным подсчетам от 20000 домов. соответственно добавление адресной привязки только для одной столицы беларуси увеличит количество релейшенов в базе осм на треть минимум (сейчас текущий номер релейшена помоему в пределах 80000)
оптимальным было бы слегка доработать схему. например до уровня иерархии выше дома оставить без изменений, но все дома одной улицы хранить в одном релейшене улицы. это сильно разгрузит базу и немного упростит работу по созданию и контролю целостности. но это ещё надо обдумывать...

Last edited by wildMan (2009-06-15 23:59:11)


--
OSMF BY Team

Offline

#259 2009-06-16 07:22:39

Ezhick
Member
From: Moscow
Registered: 2008-10-08
Posts: 2,508
Website

Re: КЛАДР

Подождите, почему для каждого дома отдельный релейшен? Создается общий релейшен для улицы, дома нумеруются через addr:housenumber и записываются в него как член со статусом house

Вот как тут ,например:
http://www.openstreetmap.org/edit?lat=5 … 19&zoom=15

Offline

#260 2009-06-16 07:44:40

KekcuHa
Member
From: Moscow
Registered: 2008-05-26
Posts: 607
Website

Re: КЛАДР

Ezhick wrote:

Подождите, почему для каждого дома отдельный релейшен? Создается общий релейшен для улицы, дома нумеруются через addr:housenumber и записываются в него как член со статусом house

Вот как тут ,например:
http://www.openstreetmap.org/edit?lat=5 … 19&zoom=15

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

Прошу модераторов почистить тему - вопросы адресации выделить в отдельную ветку.

Offline

#261 2009-06-16 08:15:58

Ezhick
Member
From: Moscow
Registered: 2008-10-08
Posts: 2,508
Website

Re: КЛАДР

KekcuHa wrote:
Ilis wrote:

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

Мда. Рекомендую попробовать на практике написание поиска в ОСМ по любому из предложенных  алгоритмов lol

Плюсмильён.

И буду благодарен за научение как сделать один запрос к базе mysql, который позволит отобрать все точки внутри полигона из, хотя бы, 4 линий. Ну или хотя бы выяснить, внутри полигона точка или вне его.

Offline

#262 2009-06-16 08:49:35

Ivan Komarov
Member
Registered: 2008-10-02
Posts: 1,050

Re: КЛАДР

Ezhick wrote:

буду благодарен за научение как сделать один запрос к базе mysql, который позволит отобрать все точки внутри полигона из, хотя бы, 4 линий. Ну или хотя бы выяснить, внутри полигона точка или вне его.

Хранимую процедуру забабахать smile

Offline

#263 2009-06-16 09:22:52

Ilis
Member
From: Екатеринбург
Registered: 2009-05-24
Posts: 5,970

Re: КЛАДР

Ezhick wrote:

И буду благодарен за научение как сделать один запрос к базе mysql, который позволит отобрать все точки внутри полигона из, хотя бы, 4 линий. Ну или хотя бы выяснить, внутри полигона точка или вне его.

Для mysql был предложен второй вариант: отобрать все улицы или дома по названию-номеру, потом посчитать от каждого расстояние до заданного города и выбрать минимальное.

Offline

#264 2009-06-16 09:35:18

coolkaas
Member
From: RU, Penza
Registered: 2009-05-28
Posts: 2,391

Re: КЛАДР

Вот как тут ,например:

Тыкаю в дом, addr:street=Авангардная Улица, у дома релейшн associatedStreet. Его name=Флотская ул.
%)
Чё-т я не понял..

Offline

#265 2009-06-16 09:38:48

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,447
Website

Re: КЛАДР

ага, и полмосквы в химках окажется

Offline

#266 2009-06-16 09:48:40

Ezhick
Member
From: Moscow
Registered: 2008-10-08
Posts: 2,508
Website

Re: КЛАДР

Ivan Komarov wrote:
Ezhick wrote:

буду благодарен за научение как сделать один запрос к базе mysql, который позволит отобрать все точки внутри полигона из, хотя бы, 4 линий. Ну или хотя бы выяснить, внутри полигона точка или вне его.

Хранимую процедуру забабахать smile

Текст запроса в студию.

Offline

#267 2009-06-16 09:49:40

Ezhick
Member
From: Moscow
Registered: 2008-10-08
Posts: 2,508
Website

Re: КЛАДР

coolkaas wrote:

Вот как тут ,например:

Тыкаю в дом, addr:street=Авангардная Улица, у дома релейшн associatedStreet. Его name=Флотская ул.
%)
Чё-т я не понял..

Видать ошибка, посмотрю потом.

Offline

#268 2009-06-16 09:51:56

Ezhick
Member
From: Moscow
Registered: 2008-10-08
Posts: 2,508
Website

Re: КЛАДР

Ilis wrote:

Для mysql был предложен второй вариант: отобрать все улицы или дома по названию-номеру, потом посчитать от каждого расстояние до заданного города и выбрать минимальное.

Супер. Точность - офигительная. Не подходит даже для круглых и квадратных городов, а уж для полигона с 1000+ вершин и нереальной формой - и говорить нечего. Вам не смешно это предлагать?


UPD. Сорри, подумал и понял, что для круглых таки подходит...

Last edited by Ezhick (2009-06-16 10:11:26)

Offline

#269 2009-06-16 10:25:09

AkMeR
Member
From: Samara
Registered: 2008-02-27
Posts: 1,158

Re: КЛАДР

KekcuHa wrote:

Прошу модераторов почистить тему - вопросы адресации выделить в отдельную ветку.

Нету здесь split`а. Выделить в отдельную тему нельзя. Только руками все переносить.

Offline

#270 2009-06-16 10:25:57

Ivan Komarov
Member
Registered: 2008-10-02
Posts: 1,050

Re: КЛАДР

Ezhick wrote:

Текст запроса в студию.

Только в ответ на предоставленную тестовую базу smile

Offline

#271 2009-06-16 11:04:27

Ezhick
Member
From: Moscow
Registered: 2008-10-08
Posts: 2,508
Website

Re: КЛАДР

Тестовой нет, целая весит слишком дофига... Могу сделать дамп структуры и некоторого количества записей...

Offline

#272 2009-06-16 11:46:33

Ivan Komarov
Member
Registered: 2008-10-02
Posts: 1,050

Re: КЛАДР

Какая польза будет от написания Х.П. для вашей базы сообществу Osm?

Offline

#273 2009-06-16 11:59:50

Ezhick
Member
From: Moscow
Registered: 2008-10-08
Posts: 2,508
Website

Re: КЛАДР

Если эта хп будет работать быстрее, чем используемый Кексиной и мною алгоритм проверки нахождения точки внутри полигона (алгоритм проверки по лучу из точки), то польза будет очень понятная - и кладр.бот будет работать быстрее, и разрабатываемый мною инструмент для релейшенов тоже будет работать быстрее. Сейчас на анализ всех точек РФ на принадлежность жалким 100 полигонам уходит уже много времени. С каждым новым узлом в полигоне, не говоря уж о новом полигоне, время обработки растет. Да, оптимизация позволила поднять мне скорость обработки до 700-800 точек в секунду, но точек и полигонов все больше и больше...

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

Offline

#274 2009-06-16 12:20:02

KekcuHa
Member
From: Moscow
Registered: 2008-05-26
Posts: 607
Website

Re: КЛАДР

Я сомневаюсь что такую процедуру (определение в полигоне точка или нет) можно выполнить на mySQL.
Хотя с мускулом я знаком очень поверхностно.

Offline

#275 2009-06-16 12:43:16

Ivan Komarov
Member
Registered: 2008-10-02
Posts: 1,050

Re: КЛАДР

Слишком уж неформализованная задача. Мне, прежде всего, неясны условия участия в вашем проекте, да и не совсем понятно, что он и себя представляет в принципе и каковы его цели(может, есть описание? мне оно на глаза не попалось).
По конкретной задачке. Каков нынешний алгоритм обработки? Точки по одной выкачиваются и проверяются на принадлежность полигону? Сколько точек требуется обработать? Какова, в конце концов, конечная цель этих проверок?

Last edited by Ivan Komarov (2009-06-16 12:43:48)

Offline

Board footer

Powered by FluxBB