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 2011-02-14 15:11:18

AMDmi3
Member
From: Москва
Registered: 2009-08-12
Posts: 3,315

Схемы базы

Сколько вики не читал и Котяру не спрашивал, нормального понимания у меня так и не сложилось. Объясните, плиз.

Сначала что, собственно, нужно: возможность из реплицируемой базы (читай: того, что подняли на первом сервере Рамблера), быстро вытаскивать OSM объекты (точки с тэгами, веи и отношения) для заданного bbox.

Теперь что я (не)понял: osmosis'ом реплицируется OSM'овская схема, которая http://wiki.openstreetmap.org/wiki/Database/Model. Но там индексы только по ID. Есть также мапниковская схема, которая не реплицируется (?), а закачивается целиком (?) osm2pgsql - вот там rtree индексы по bbox'ам, но данные уже как-бы не осмовские (т.е. отношений уже нет, полигоны хранятся не списком id вершин, а списком координат точек, и, например, уже нельзя сказать что POI принадлежит полигону и т.д.). Тогда как работает API, которое и осмовские данные и, очевидно, индексы по bbox, и, соответственно, как решается исходная задача?

Offline

#2 2011-02-14 15:22:25

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

Re: Схемы базы

Рассказываю: есть два типа баз, создаваемых осмосисом на основе планеты
- база АПИ
- база постгис-симпл

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

На сервера рамблера поднята база номер раз. Выдергивание из нее ббокса делается жуткими джоинами на основе координат точек. Отсюда тормозность работы апи и ограничение по размеру ббокса.

Но! Сразу по окончании импорта данных в первую базу я намерен поднять там и вторую тоже. И вот в ней уже есть геометрии для точек и веев, индексы по ним. То есть запросы по ббоксу или точка-в-полигоне делаются средствами постгиса (GEOS если быть точнее), а не джоинами. Что в разы быстрее.

Вот как-то так...

Offline

#3 2011-02-14 15:23:49

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

Re: Схемы базы

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

Offline

#4 2011-02-17 16:21:19

AMDmi3
Member
From: Москва
Registered: 2009-08-12
Posts: 3,315

Re: Схемы базы

Ezhick wrote:

Но! Сразу по окончании импорта данных в первую базу я намерен поднять там и вторую тоже. И вот в ней уже есть геометрии для точек и веев, индексы по ним.

Во, спасибо. А есть где про эту схему почитать?

Offline

#5 2011-02-17 18:22:57

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

Re: Схемы базы

Так в дистрибутиве осмосиса лежит скрипт для ее созлания, в папке scripts. Там три - сама схема, геометрии типа linestring, геометрии типа bbox.

Offline

Board footer

Powered by FluxBB