Страница 1 из 1

Вопросы по геоданным

Добавлено: 24 фев 2012, 18:22
jmine
Есть такая задача: имеется БД географических объектов в нестандартном формате. Цель - отрендерить эти данные с помощью Mapnik'a. Подскажите к какому формату будет проще привести исходные данные, чтобы потом их удалось легко отрендерить Mapnik'ом? Пока что смотрю в сторону PostGIS на PostGRE, но непонятно какова должна быть структура таблиц в базе PostGRE, чтобы потом стандартными средствами Mapnik мог получить оттуда данные и отрендерить их. Правильный ли выбор - postGIS? может есть другой вариант? Если все-таки PostGIS, то где можно посмотреть структуру таблиц, которая бы подошла для Mapnik'a?

Заранее извиняюсь за глупые вопросы, в теме не силен, но задачу нужно решить.

Re: Вопросы по геоданным

Добавлено: 24 фев 2012, 20:29
Voltron
Mapnik умеет работать с данным PostGIS.

Re: Вопросы по геоданным

Добавлено: 24 фев 2012, 21:32
jmine
Я понимаю, что умеет, вопрос в том, в каком формате сохранять данные в postGRE (Какие таблицы, какие поля? в какой проекции координаты?), чтобы потом Mapnik при помощи PostGIS смог забрать эти данные к себе на рендер?

Не могу найти документацию по этому поводу. http://wiki.openstreetmap.org/wiki/RU:Mapnik - здесь прекрасно описано как импортнуть данные из .osm в postGIS, но использовать .osm в качестве посредника не хочется. Кто нибудь ткните носом где почитать, гугл мне уже не помогает.

Re: Вопросы по геоданным

Добавлено: 24 фев 2012, 21:37
Voltron
Поля те, которые вам нужны. Можете вообще только два поля создать id и the_geom. СК выбирайте ту, в которой ваши данные.

Re: Вопросы по геоданным

Добавлено: 24 фев 2012, 21:49
jmine
Если я сделаю свой произвольный набор полей, то как потом при рендеринге Mapnik узнает в каком поле у меня координаты, в каком тип объекта, а в каком название, которое нужно вывести в рендер? Я так понимаю должна быть какая-то стандартная структура или возможность указать Mapnik'у в каком поле какую информацию искать.

Re: Вопросы по геоданным

Добавлено: 24 фев 2012, 22:03
Voltron
В документации это очень даже расписано.

Mapnik находит нужные поля обращаясь к таблице geometry_columns. Если у вас несколько полей с геометрией, то используйте параметр geometry_field

Re: Вопросы по геоданным

Добавлено: 24 фев 2012, 22:26
jmine
По ссылке расписано как обращаться к БД, но неясно какая у нее должна быть структура. Понятно, что обращаться будет к таблице geometry_columns, но какие поля ему нужны не понял (например, имя объекта, тип и прочие). Возможно где-то это подробнее расписано?

Re: Вопросы по геоданным

Добавлено: 24 фев 2012, 22:48
Voltron
Это служебная таблица и создавать ее не нужно. И редактировать, если нет четкого понимая что и зачем, тоже.
P.S.: Вы бы почитали про то, как устроена PostGIS

Re: Вопросы по геоданным

Добавлено: 27 фев 2012, 18:19
jmine
Спасибо за ответ!
Почитал мануалы, почти все прояснилось. Остался один вопрос: Возможно ли поместить в одну таблицу колонку с геометрией, в которую можно было бы записывать различные произвольные геометрические типы? Если да, то будет ли такая колонка корректно обрабатываться Мапник'ом?

В качестве пояснения: допустим у нас есть 3 объекта: город (геометрический тип: POINT), дорога (геометрический тип: LINESTRING) и лес (геометрический тип: MULTIPOLIGON). Могу ли я их всех разместить в одной таблице с одной GeometryColumn? как? или мне необходимо создавать несколько таблиц для каждого типа геометрии?

Re: Вопросы по геоданным

Добавлено: 27 фев 2012, 19:49
Voltron
Хранить разные типы объектов в одной таблице можно. Как такую таблицу будет обрабатывать Mapnik точно не скажу.

Но я бы не советовал смешивать разные объекты в одной таблице. Этим вы потенциально усложните себе жизнь в дальнейшем, когда потребуется выполнять анализ

Re: Вопросы по геоданным

Добавлено: 27 фев 2012, 21:05
jmine
Необходимости в анализе геоданных в последствие не будет. Я так понимаю нужно использовать тип 'GEOMETRY' для того чтобы была возможность хранить разные типа объектов?

Re: Вопросы по геоданным

Добавлено: 27 фев 2012, 21:15
Voltron
Да, тип Geometry