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.***
#276 2009-06-16 12:45:27
- Ezhick
- Member

- From: Moscow
- Registered: 2008-10-08
- Posts: 2,508
- Website
Re: КЛАДР
Я сомневаюсь что такую процедуру (определение в полигоне точка или нет) можно выполнить на mySQL.
Хотя с мускулом я знаком очень поверхностно.
Я тоже сомниваюсь. Но раз человек спрашивает о потенциальной пользе, значит он считает это возможным.
Offline
#277 2009-06-16 13:18:45
- Ezhick
- Member

- From: Moscow
- Registered: 2008-10-08
- Posts: 2,508
- Website
Re: КЛАДР
Слишком уж неформализованная задача. Мне, прежде всего, неясны условия участия в вашем проекте, да и не совсем понятно, что он и себя представляет в принципе и каковы его цели(может, есть описание? мне оно на глаза не попалось).
По конкретной задачке. Каков нынешний алгоритм обработки? Точки по одной выкачиваются и проверяются на принадлежность полигону? Сколько точек требуется обработать? Какова, в конце концов, конечная цель этих проверок?
Проект - ОСМ. Я делаю инструмент для работы с релейшенами, возможность пакетного объединения путей в релейшены, контроль нахождения в релейшене всех частей улицы и так далее. Но быстрая процедура проверкуи точки пригодится, как я уже писал .и в кладр-боте Кексины.
Алгоритм прост - берутся первая и последняя точка всех путей типа highway и проверяются на нахождение в полигоне. Если первая в нем - проверяется вторая, если обе в полигоне - записываем данные пути. Цель проверок проста - убедиться, что путь находится внутри полигона и, сответственно, на территории города (области).
Проверить требуется несколько сот тысяч точек.
Offline
#278 2009-06-16 13:35:04
- Ivan Komarov
- Member

- Registered: 2008-10-02
- Posts: 1,050
Re: КЛАДР
Пытаюсь понять специфику... 10^6 точек прекрасно помещаются в оперативке. Что мешает выгрузить все точки из базы и провести проверку?
Added: И точки и полигоны лежат в базе, к ним можно обращаться по id-шникам. Так?
Last edited by Ivan Komarov (2009-06-16 13:36:17)
Offline
#279 2009-06-16 13:39:50
- Ezhick
- Member

- From: Moscow
- Registered: 2008-10-08
- Posts: 2,508
- Website
Re: КЛАДР
все в базе.
таблица 1 - ид_точки лат лон
таблица 2 - ид_пути ид_точки порядковый_номер_точки_в_пути
таблица 3 ид_пути тип_тега значение_тэга
Все помещается, все выгружаем, только все это требует много времени. Во всяком случае у меня...
Upd. Проверяем 136 000 путей (272 000 точек).
Полигон лежит в базе в виде обычного пути с тегом boundary.
Last edited by Ezhick (2009-06-16 13:53:20)
Offline
#280 2009-06-16 13:57:11
- coolkaas
- Member

- From: RU, Penza
- Registered: 2009-05-28
- Posts: 2,391
Re: КЛАДР
подразумевается, что way прям как палка, и серединкой выпасть за проверяемый полигон не может? или это допущение для скорости?
(придираюсь).
upd: Блин, мы точно хотим кладро-тему закакать? мож в отдельный топ рванём, пока не поздно?
upd2: а если сделать полигоны выпуклыми, это как-то не ускорит поиск принадлежности полигону? (надо математику подсмотреть будет на досуге, всё забыл..)
Last edited by coolkaas (2009-06-16 14:01:09)
Offline
#281 2009-06-16 14:02:16
- Ivan Komarov
- Member

- Registered: 2008-10-02
- Posts: 1,050
Re: КЛАДР
2Ezhick: Предлагаю либо переместиться в новый топ, либо общаться offline, в связи с чем намылил.
upd2: а если сделать полигоны выпуклыми, это как-то не ускорит поиск принадлежности полигону? (надо математику подсмотреть будет на досуге, всё забыл..)
Если найдешь - кинь ссылкой, интересно.
Last edited by Ivan Komarov (2009-06-16 14:03:23)
Offline
#282 2009-06-16 16:24:49
- zgremlin
- Member
- Registered: 2008-07-31
- Posts: 332
Re: КЛАДР
не город хранит "у меня стотыщпицот улиц", а улица хранит "я отношусь к городу ХХХХ"
Действительно, не очень внимательно. А вот новых ограничений на число членов отношения найти не удалось (а для линии все еще 2000).
2. У отношений нет географической привязки, т.е. получить отношение можно только зная его id. И при этом не в объекте указана ссылка на отношение, а наоборот. Т.е. проблемы как в том чтобы по объекту найти адрес (имея id объекта не узнаешь id его адреса - впрочем как-то же JOSM выдерживает запреты поворотов...так что может и здесь небезнадежно), так и в том, чтобы по стране определить ее области и т.д. (аналогично)
читать http://wiki.openstreetmap.org/wiki/OSM_ … ersion_0.6 в части касающейся "Relations for Element"
Да уж получить по одному звену всю цепочку можно в любую сторону.
Но все равно отсутствие привязки некоторых из отношений в этой цепочке сильно портит картину:
по запросу на прямоугольник будут вытянуты все точки и линии, а отношения только те, которые имеют в членах эти точки или линии.
4. Нормальная работа с этой системо без поддержки со стороны программных средств невозможна.
непонял фразы. а с какой системой можно работать без поддержки программных средств?
Я имел в виду, что "addr:*" в свойствах объекта позволяет без дополнительных надстроек (а то и через текстовый редактор) понять его полный адрес. А ссылка на то, что он член отношения 1234567 (в josm, в текстовом редакторе и этого не будет), заставит искать в списке из нескольких (десятков) тысяч отношений 1234567, и так несколько раз.
как бы то нибыло нормальную поддержку адесации без релейшенов не реализовать. все другие схемы гораздо хуже.
Похоже, что так.
не есть пару проблем которые вы почему то не назвали:
1. поддержание системы в валидном состоянии. нужны боты типа кладровского которые будут отслеживать и поддерживать целостность структуры релейшенов т.к. в отличие от физических объектов тут нарушения визуально не заметны
То ли подразумевал, что сказал об этом неявно в другом пункте... то ли просто подзабыл.
2. в текущей схеме предполагается что в релейшене будет вся адресная информация + что релейшен будет создан для каждого элемента адресной сети. т.е. для каждого здания. а это значит что общий объём данных будет солидно больше. в минске по скромным подсчетам от 20000 домов. соответственно добавление адресной привязки только для одной столицы беларуси увеличит количество релейшенов в базе осм на треть минимум (сейчас текущий номер релейшена помоему в пределах 80000)
оптимальным было бы слегка доработать схему. например до уровня иерархии выше дома оставить без изменений, но все дома одной улицы хранить в одном релейшене улицы. это сильно разгрузит базу и немного упростит работу по созданию и контролю целостности. но это ещё надо обдумывать...
Вот именно, что система в описанном виде, ужасна количеством требуемых отношений, дублирующих имеющуюся структуру объектов.
Надо бы упразднить дома. А заодно и деление на "чистый" номер дома и суффикс (корп, стр, ...).
Кроме того несколько смущают отношения, не связанные напрямую с координатами, может в очередном api к релейшенам привяжут bbox'ы и станут их вытягивать вместе с областью?
Offline
#283 2009-06-16 18:13:03
- Aleksandr Dezhin
- Member

- From: Msk
- Registered: 2008-05-25
- Posts: 2,109
- Website
Re: КЛАДР
KekcuHa
Прошу учесть, что бывают районы внутри городов, и у них тоже boundary=administrative.
В качестве примера, границы районов ховрино и левобережный. Там не было правильного тега admin_level, но мне кажется это не повод удалять тег name.
В любом случае вашему скрипту нужно исключение на admin_level = 9 - насколько мне известно районов городов в КЛАДР нет.
http://www.openstreetmap.org/browse/way … 10/history
[ Проверка границ и НП | Дампы | Валидатор рек | Кое-что ещё ]
- Нет! Не надо пытаться. Делай. Или не делай. Не надо пытаться. (c) Йода
Offline
#284 2009-06-17 06:22:21
- KekcuHa
- Member

- From: Moscow
- Registered: 2008-05-26
- Posts: 607
- Website
Re: КЛАДР
KekcuHa
Прошу учесть, что бывают районы внутри городов, и у них тоже boundary=administrative.
Районы города (а так же районы области) лучше рисовать при помощи релейшенов. Игонорирование admin_level=9 добавляю.
Offline
#285 2009-06-17 08:33:10
- Ivan Komarov
- Member

- Registered: 2008-10-02
- Posts: 1,050
Re: КЛАДР
coolkaas wrote:upd2: а если сделать полигоны выпуклыми, это как-то не ускорит поиск принадлежности полигону? (надо математику подсмотреть будет на досуге, всё забыл..)
Если найдешь - кинь ссылкой, интересно.
Нашел тут. Искать Preparata.
Offline
#286 2009-06-17 08:53:28
- KekcuHa
- Member

- From: Moscow
- Registered: 2008-05-26
- Posts: 607
- Website
Re: КЛАДР
Ответил в теме про обработку
Last edited by KekcuHa (2009-06-17 08:58:14)
Offline
#287 2009-06-17 16:47:19
- vald
- Member
- Registered: 2009-05-17
- Posts: 11
Re: КЛАДР
3 недели назад добавил город Ворсма, как сказано в первом посте темы
http://www.openstreetmap.org/?mlat=55.9 … 67&zoom=12
Кладр ID ему в OSM присвоился, а в http://osm.tesoro-shop.ru он никак не появится.
Как этого добиться?
Offline
#288 2009-06-17 17:20:43
- coolkaas
- Member

- From: RU, Penza
- Registered: 2009-05-28
- Posts: 2,391
Re: КЛАДР
vald, мне кажется, границе place=town не хватает тега name=*. Просто допиши у полигона границы name=Ворсма. И жди ![]()
Кладробот сомневается -- точка с названием есть, а полигон вокруг без названия -- вдруг он ошибётся (полигонов вокруг же много может быть разных).
Улицу Ленина еще бы клацнуть на части, она транк. Я не уверен, что по ней как по транку можно носиться в черте города Ворсмы.
(в черте города перегнать её в праймари, к примеру).
Last edited by coolkaas (2009-06-17 17:25:07)
Offline
#289 2009-06-17 18:36:21
- Yuri Nazarov
- Member
- Registered: 2008-04-12
- Posts: 237
Re: КЛАДР
Улицу Ленина еще бы клацнуть на части, она транк. Я не уверен, что по ней как по транку можно носиться в черте города Ворсмы.
(в черте города перегнать её в праймари, к примеру).
Вроде бы в топике "Классификация дорог в городе" договорились что trunk остается trunk'ом.
Offline
#290 2009-06-17 18:40:58
- coolkaas
- Member

- From: RU, Penza
- Registered: 2009-05-28
- Posts: 2,391
Re: КЛАДР
А, ну ок. Значит делим только моторвеи.
Отбой тогда, сорри.
Offline
#291 2009-06-17 19:06:50
- zgremlin
- Member
- Registered: 2008-07-31
- Posts: 332
Re: КЛАДР
А, ну ок. Значит делим только моторвеи.
Отбой тогда, сорри.
А почему отбой?
Тип пусть будет trunk, но если трасса проходит через город то:
1. У нее другое скоросттое ограничение (не считаю других пунтктов ПДД).
2. Она скорее всего является одной из улиц города (в адресе указывается г. Город, ул. Улица, ...), ну и КЛАДР свой.
Т.е. ее нужно разделить по точкам границ города, и лучше если эти точки будут принадлежать заодно и границе города.
Offline
#292 2009-06-17 19:55:42
- Zkir
- Member

- From: Хрустальная Москва
- Registered: 2009-02-21
- Posts: 6,110
Re: КЛАДР
Улицу Ленина еще бы клацнуть на части, она транк. Я не уверен, что по ней как по транку можно носиться в черте города Ворсмы. (в черте города перегнать её в праймари, к примеру).
trunk/primary никак на скоростной режим не влияет. Если объездной дороги нет, номерная трасса должна сохранять свой статус и в черте города.
А скорость движения надо выбирать глядя на знаки, а не на экранчик навигатора ![]()
Истинные слова не не приятны, приятные слова не истинны.
True words are unpleasant; pleasant words are untrue.
Offline
#293 2009-06-17 20:06:02
- Zkir
- Member

- From: Хрустальная Москва
- Registered: 2009-02-21
- Posts: 6,110
Re: КЛАДР
... Симпатичный городок эта Ворсма, треков загружено больше чем улиц ...
и что это за тропинка посреди озера?
Last edited by Zkir (2009-06-17 20:09:33)
Истинные слова не не приятны, приятные слова не истинны.
True words are unpleasant; pleasant words are untrue.
Offline
#294 2009-06-17 20:11:19
- Ivan Komarov
- Member

- Registered: 2008-10-02
- Posts: 1,050
Re: КЛАДР
А скорость движения надо выбирать глядя на знаки, а не на экранчик навигатора
Даешь в массы корректно проставленный тэг maxspeed! Режу M11 по табличкам НП ![]()
Offline
#295 2009-06-17 20:29:20
- KekcuHa
- Member

- From: Moscow
- Registered: 2008-05-26
- Posts: 607
- Website
Re: КЛАДР
3 недели назад добавил город Ворсма
Offline
#296 2009-06-17 20:34:18
- Zkir
- Member

- From: Хрустальная Москва
- Registered: 2009-02-21
- Posts: 6,110
Re: КЛАДР
Режу M11 по табличкам НП
Только в relation = route собирай ...
Истинные слова не не приятны, приятные слова не истинны.
True words are unpleasant; pleasant words are untrue.
Offline
#297 2009-06-17 20:51:15
- coolkaas
- Member

- From: RU, Penza
- Registered: 2009-05-28
- Posts: 2,391
Re: КЛАДР
В route? Не в street, и не в CombinedWay? (Или как он там правильно называется..)
Offline
#298 2009-06-17 21:15:28
- Zkir
- Member

- From: Хрустальная Москва
- Registered: 2009-02-21
- Posts: 6,110
Re: КЛАДР
Да, нумерованные дороги (M, Р, E) - именно в Relation:Route
Last edited by Zkir (2009-06-17 21:15:48)
Истинные слова не не приятны, приятные слова не истинны.
True words are unpleasant; pleasant words are untrue.
Offline
#299 2009-06-17 22:28:26
- loir
- Member

- From: Тверь
- Registered: 2009-05-27
- Posts: 403
Re: КЛАДР
Косяк какой-то с Тверью в таблицах. То Смоленск как Тверь обозначен, то Вышний Волочек
«Хоть один адекватный человек на форуме» ©dr&mx
Offline
#300 2009-06-18 08:34:29
- KekcuHa
- Member

- From: Moscow
- Registered: 2008-05-26
- Posts: 607
- Website
Re: КЛАДР
Косяк какой-то с Тверью в таблицах. То Смоленск как Тверь обозначен, то Вышний Волочек
То ли глюк с кодом был изначально, то ли у Твери КЛАДР-код поменялся, я еще не понял.
Для начала изменил его вручную, вечером буду смотреть более пристально.
Offline