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.***

#1 2009-11-03 09:04:00

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

pgsql2osm

Начал ваять скриптик для экспорта из базы PostgreSQL+PostGIS в osm xml. Думаю, все должно получиться. Скорость радует - выборка всех нодов в пределах границы Москвы и выборка всех тэгов для них занимает меньше 5 минут на моем не самом быстром сервачке. По сравнению со скачиванием из ксапи - небо и земля. А если еще немного помутить с индексами то, думаю, будет еще быстрее.

Это первый шаг.

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

С радостью заслушаю критику, предлоожения, любые идеи на тему.

Offline

#2 2009-11-03 21:28:00

Calibrator
Member
From: Интернет
Registered: 2009-08-19
Posts: 893

Re: pgsql2osm

Мне думается, что приложение может быстро завоевать популярность, если его выпускать и обновлять от версии к версии и в .exe - варианте. (а на каком языке скриптик?)

Offline

#3 2009-11-05 07:09:55

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

Re: pgsql2osm

Как вы собираетесь его распространять???? Он будет работать с локальной копией базы ОСМ. Я планирую сделать это онлайн-приложением (если удастся добиться высокой скорости работы) либо сделать схему работы такой, что пользователь вводит параметры запроса (изначально - только ббокс) и через некоторое время (после отработки его запроса, помещаемого в очередь на обработку) получает ссылочку на скачивание результата.

Технической возможности распространять скрипт не вижу - доступ извне к базе я, естественно, открывать не собираюсь. А база весит за 200 Гб. С дополнительными индексами - за 300.

Скрипт пишется на пхп.

Offline

#4 2009-11-05 12:58:57

Fortress
Member
From: Russia, Saint-Petersburg
Registered: 2009-07-09
Posts: 1,109

Re: pgsql2osm

А может кто-нибудь на пальцах объяснить несведующему зачем он вообще нужен

Offline

#5 2009-11-05 13:43:01

Dmitry Terentiev
Member
From: Мурманск
Registered: 2008-09-05
Posts: 366

Re: pgsql2osm

Fortress wrote:

А может кто-нибудь на пальцах объяснить несведующему зачем он вообще нужен

+1


www.MurmanskOSM.ru - валидатор адресов Мурманской области по данным  http://www.cikrf.ru

Offline

#6 2009-11-05 13:53:05

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

Re: pgsql2osm

Чтобы иметь возможность оперативно выкачать интересующую вас область произвольной конфигурации, не слишком напрягая "основной" osm-сервер (за излишнюю активность, говорят, даже могут забанить).

Offline

#7 2009-11-06 12:29:06

Fortress
Member
From: Russia, Saint-Petersburg
Registered: 2009-07-09
Posts: 1,109

Re: pgsql2osm

Понятно, т.е. вы хотите сделать альтернативный сервер osm api? Использовать планируете planet.osm? А накколько такие данные будут актуальными? Если я не ошибаюсь planet.osm обновляется раз в неделю...

Offline

#8 2009-11-06 13:10:26

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

Re: pgsql2osm

Из чего сделан вывод об использовании palnet.osm???

Offline

#9 2009-11-06 23:19:06

Komяpa
Member
From: Minsk
Registered: 2009-04-14
Posts: 1,323
Website

Re: pgsql2osm

а как обходится тот факт, что в постгрес грузятся данные лишь выборочно?
или используется собственный метод импорта / схема базы, отличная от мапниковской? smile


world processing is what we do.
[OSMF BY Team] [http://komzpa.net/] [jabber: komzpa@gmail.com] [mobile/SMS: +375257407159]

Offline

#10 2009-11-07 01:22:23

Aleksandr Dezhin
Member
From: Msk
Registered: 2008-05-25
Posts: 2,109
Website

Re: pgsql2osm

Я так понимаю речь идет не об мапниковской схеме, а о схеме аналогичной осмосисовской или из rails port. Судя по размеру базы грузить ее себе хотят всю.
Вобщем ждем и надеемся. Хотелось бы еще поддержку целостности релейшнов, в т.ч. и вложенных, то есть релейшн в релейшн)
Еще хочется, чтобы можно было скрипт попросить поставить тег какой-то, который говорил бы как относится объект к выбранной области - целиком внутри, частично внутри, за пределами.


[ Проверка границ и НП | Дампы | Валидатор рек | Кое-что ещё ]
- Нет! Не надо пытаться. Делай. Или не делай. Не надо пытаться. (c) Йода

Offline

#11 2009-11-08 21:04:47

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

Re: pgsql2osm

База полная, то есть тот из двух вариантов постгрешной базы базы, который осомсис создает под связку постгре+постгис. Вся планета. Грузить я ее не хочу, а уже загрузил и она уже работает. Актуальность максимально возможная, то есть 4 часа отставания от ОСМ, вызванные четырехчасовой задержкой публикации часовых дифов. (На минутные дифы переходить не планирую - там слишком часто ошибки.)

Контроль целостности релейшенов планируется, в том числе и вложеных. Надеюсь что на этой неделе будет время заняться скриптом вплотную, пока только начал делать первые скрипты запросов, выборка элементов в пределах ббокса. Это работает, работает шустро. Насколько шустро будет работать выборка по полигону с большим числом вершин - пока не знаю, очень надеюсь на мощь постгиса и пространственных индексов.

Насчет дополнительных тэгов для объектов - не совсем понял... Имеется в виду, что если объект попал на границу, то дополнительно пометить, что его часть ушла за границу? Я думал работать по схеме захвата целиком объекта, даже если он за границу вышел. То есть не обрезать.

Offline

#12 2009-11-08 22:28:28

Aleksandr Dezhin
Member
From: Msk
Registered: 2008-05-25
Posts: 2,109
Website

Re: pgsql2osm

Ezhick wrote:

Насчет дополнительных тэгов для объектов - не совсем понял... Имеется в виду, что если объект попал на границу, то дополнительно пометить, что его часть ушла за границу? Я думал работать по схеме захвата целиком объекта, даже если он за границу вышел. То есть не обрезать.

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


[ Проверка границ и НП | Дампы | Валидатор рек | Кое-что ещё ]
- Нет! Не надо пытаться. Делай. Или не делай. Не надо пытаться. (c) Йода

Offline

#13 2009-11-08 23:02:24

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

Re: pgsql2osm

Уф... Ну это следующим этапом. Сначала надо освоить просто экспорт и контроль целостности.

Offline

#14 2009-11-09 09:46:43

Fortress
Member
From: Russia, Saint-Petersburg
Registered: 2009-07-09
Posts: 1,109

Re: pgsql2osm

Ezhick wrote:

Из чего сделан вывод об использовании palnet.osm???

Ну не через api же грузить 6Гб.

Ezhick wrote:

Актуальность максимально возможная, то есть 4 часа отставания от ОСМ, вызванные четырехчасовой задержкой публикации часовых дифов.

Ну вот, planet + дифы. Хотя я дилетант в этом вопросе, извините если что-то не так понял.

Last edited by Fortress (2009-11-09 09:46:55)

Offline

#15 2009-11-09 14:25:58

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

Re: pgsql2osm

Первоначальным источником для локальной БАЗЫ является planet.osm, но обновляться это будет уже в базе, соответственно не раз в неделю, а раз в час.

Offline

Board footer

Powered by FluxBB