Загрузка растров в postgis.

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Nariman
Завсегдатай
Сообщения: 284
Зарегистрирован: 08 фев 2013, 21:55
Репутация: 9
Откуда: Махачкала
Контактная информация:

Загрузка растров в postgis.

Сообщение Nariman » 19 сен 2013, 08:56

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

В версии QGIS 1.8 помнится был плагин wktraster который как раз для этого и предназначался. К сожалению испробовать его так и не удалось. В версии QGIS 2.0.1 этот плагин пока не поддерживается.
Почитал мануал, правда не осилил пока.. Непонятно сначала следует создать отдельную таблицу для растров? Создавать ли каждую таблицу отдельно для каждого растра? Как включить поддержку растров для БД? (я выполнил скрипт rtpostgis.sql) Ну и конечно же сам синтаксис sql запросов.

Подскажите при помощи модуля wktraster кто нибудь загружал растры в POSTGIS??

Русскоязычной инфы по загрузке растров увы не нашел.

Nariman
Завсегдатай
Сообщения: 284
Зарегистрирован: 08 фев 2013, 21:55
Репутация: 9
Откуда: Махачкала
Контактная информация:

Re: Загрузка растров в postgis.

Сообщение Nariman » 19 сен 2013, 10:52

Nariman писал(а):Почитал мануал, правда не осилил пока..
Вроде осилил немного..
Даже такой запрос сформировал:

Код: Выделить всё

raster2pgsql -s  -C '/media/2AA4CDFCA4CDCA91/ГИС/Космоснимок/102-178-Г.rsw' public.rasters >out.sql
Выходной sql файл сфорировался, выполнил его в БД. Таблица rasters в БД сформировалась.
Однако при подключении к БД из QGIS выдается предупреждение

Код: Выделить всё

Соединение с базой данных установлено, но доступные таблицы не были найдены.
.
Хотя в PGADMIN я вижу что таблица есть.

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Статьи: 3
Проекты: 5/1
Репутация: 786
Ваше звание: званий не имею
Откуда: Москва

Re: Загрузка растров в postgis.

Сообщение Александр Мурый » 19 сен 2013, 11:36

Может быть, проблемы из-за формата RSW? А если вначале перегнать в нормальный TIF/GeoTIFF и попробовать с ним? PostGIS и QGIS обе собраны с GDAL, который поддерживает "панорамный" формат RMF? Они используют одну и ту же версию GDAL?
Редактор материалов, модератор форума

Nariman
Завсегдатай
Сообщения: 284
Зарегистрирован: 08 фев 2013, 21:55
Репутация: 9
Откуда: Махачкала
Контактная информация:

Re: Загрузка растров в postgis.

Сообщение Nariman » 19 сен 2013, 13:28

Для тестирования скачал файл имеющий формат .tif.

Выполнил запрос

Код: Выделить всё

raster2pgsql -s  -C '/home/nariman/GIS/uzukol.tif' public.rasters >out2.sql
.
Результат тот же.. создается таблица следующего содержания..

Код: Выделить всё

CREATE TABLE rasters
(
  rid serial NOT NULL,
  rast raster,
  CONSTRAINT rasters_pkey PRIMARY KEY (rid )
)
WITH (
  OIDS=FALSE
);
ALTER TABLE rasters
  OWNER TO postgres;
Я так понимаю что то делаю я не так. уж не флаги ли неверно выставил?
Так как если я при добавлении слоев PostGis поставлю галочку "ПОКАЗАТЬ СЛОИ БЕЗ ГЕОМЕТРИИ" загруженный растровый слой становится виден.

Nariman
Завсегдатай
Сообщения: 284
Зарегистрирован: 08 фев 2013, 21:55
Репутация: 9
Откуда: Махачкала
Контактная информация:

Re: Загрузка растров в postgis.

Сообщение Nariman » 19 сен 2013, 14:41

Александр Мурый писал(а):Может быть, проблемы из-за формата RSW? А если вначале перегнать в нормальный TIF/GeoTIFF и попробовать с ним? PostGIS и QGIS обе собраны с GDAL, который поддерживает "панорамный" формат RMF? Они используют одну и ту же версию GDAL?
Для QGIS 1.9 ----------> Текущая версия GDAL/OGR 1.9.2
Для PostGis 2.0 ---------------> GEOS 3.4.2, GDAL 1.10.0, Proj 4.8.0


Посоветуете откатиться до QGIS 1.8 ?

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Статьи: 3
Проекты: 5/1
Репутация: 786
Ваше звание: званий не имею
Откуда: Москва

Re: Загрузка растров в postgis.

Сообщение Александр Мурый » 19 сен 2013, 14:49

Nariman писал(а): Посоветуете откатиться до QGIS 1.8 ?
Пока ничего не посоветую, просто не надо исключать проблемы из-за разных версий GDAL.
Редактор материалов, модератор форума

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Статьи: 7
Проекты: 2
Репутация: 261
Откуда: Москва

Re: Загрузка растров в postgis.

Сообщение Дмитрий Барышников » 19 сен 2013, 21:52

Please, use GDAL 1.10. The driver packed with previous GDAL versions was buggy and unstable, and it won't work with the last versions of PostGIS Raster (since it was included in PostGIS trunk).
Цитирование от сюда: http://trac.osgeo.org/gdal/wiki/frmts_wtkraster.html

Nariman
Завсегдатай
Сообщения: 284
Зарегистрирован: 08 фев 2013, 21:55
Репутация: 9
Откуда: Махачкала
Контактная информация:

Re: Загрузка растров в postgis.

Сообщение Nariman » 20 сен 2013, 08:29

откатился до актуальной версии GDAL 1.10.
формирую запрос типа

Код: Выделить всё

raster2pgsql -  -s 4236 '/home/nariman/GIS/uzukol.tif' public.rasters >out7.sql
формируется sql файл весящий 20МБ и содержащий запрос о создании таблицы..

Код: Выделить всё

CREATE TABLE rasters
(
  rid serial NOT NULL,
  rast raster,
  CONSTRAINT rasters_pkey PRIMARY KEY (rid )
)
..

А если по серьезному, то лучше по порядку..
С чего начать. Создать таблицу? Загрузить потом в нее растр? Растр хранится в ячейке таблицы? Если да то в каком виде?

Аватара пользователя
dab
Гуру
Сообщения: 669
Зарегистрирован: 16 дек 2011, 20:02
Статьи: 2
Проекты: 1
Репутация: 169
Ваше звание: Гуру
Откуда: Москва
Контактная информация:

Re: Загрузка растров в postgis.

Сообщение dab » 22 сен 2013, 13:19

Nariman писал(а):А если по серьезному, то лучше по порядку..
Если по порядку, тогда хочу задать встречный вопрос - а в чём смысл хранения растров в СУБД? Почему не хотите использовать файловый сервер?

Nariman
Завсегдатай
Сообщения: 284
Зарегистрирован: 08 фев 2013, 21:55
Репутация: 9
Откуда: Махачкала
Контактная информация:

Re: Загрузка растров в postgis.

Сообщение Nariman » 23 сен 2013, 08:28

dab писал(а):
Nariman писал(а):А если по серьезному, то лучше по порядку..
Если по порядку, тогда хочу задать встречный вопрос - а в чём смысл хранения растров в СУБД? Почему не хотите использовать файловый сервер?
Если честно, ни того ни другого на деле не видел.. мне главное чтоб задача была решена, а каким образом не принципиально важно, будь то файловый сервер будь то СУБД. Прочитав документацию POSTGIS вариант загрузки в СУБД мне показался очевидным и правильным.

Аватара пользователя
dab
Гуру
Сообщения: 669
Зарегистрирован: 16 дек 2011, 20:02
Статьи: 2
Проекты: 1
Репутация: 169
Ваше звание: Гуру
Откуда: Москва
Контактная информация:

Re: Загрузка растров в postgis.

Сообщение dab » 23 сен 2013, 18:41

Почитал http://postgis.net/docs/manual-dev/usin ... ng_Rasters
Лично я не стал бы грузить реляционную СУБД растровыми данными. Костыль это, а не технология.
Сделайте общий ресурс на файловом сервере, создайте структуру каталогов (по масштабу, источнику, СК ...).
На каждый каталог создайте виртуальный растр через gdalbuildvrt или интерфейс QGIS.

PS
Nariman писал(а):...мне главное чтоб задача была решена...
И всё таки, если не секрет, какова формулировка Вашей задачи?

Nariman
Завсегдатай
Сообщения: 284
Зарегистрирован: 08 фев 2013, 21:55
Репутация: 9
Откуда: Махачкала
Контактная информация:

Re: Загрузка растров в postgis.

Сообщение Nariman » 25 сен 2013, 08:31

Nariman писал(а):...мне главное чтоб задача была решена...
И всё таки, если не секрет, какова формулировка Вашей задачи?[/quote]
:D :D :D
Скажу вам по секрету, нужно организовать работу некоего отдела. Необходимо, организовать доступ к векторным данным (шейпам) хранящихся в БД с нескольких рабочих мест. Эта задача собственно решена. Путем больших телодвижений ПОСТГИС кое как поднял.

Вторая задача организовать доступ к VMS слою (то есть к растрам), данная задача пока решается... :roll:

Аватара пользователя
dab
Гуру
Сообщения: 669
Зарегистрирован: 16 дек 2011, 20:02
Статьи: 2
Проекты: 1
Репутация: 169
Ваше звание: Гуру
Откуда: Москва
Контактная информация:

Re: Загрузка растров в postgis.

Сообщение dab » 25 сен 2013, 08:44

Nariman писал(а):...Вторая задача организовать доступ к VMS слою (то есть к растрам), данная задача пока решается... :roll:
"Всё смешалось в доме Облонских." (c) Толстой Л.Н. :)
WMS - это протокол предоставления данных, а в каком формате данные хранятся это совершенно другая тема.

Так исходя из задачи, чем Вас не устраивает хранение растров на файловом сервере, без задействования реляционной СУБД?

Nariman
Завсегдатай
Сообщения: 284
Зарегистрирован: 08 фев 2013, 21:55
Репутация: 9
Откуда: Махачкала
Контактная информация:

Re: Загрузка растров в postgis.

Сообщение Nariman » 25 сен 2013, 09:03

dab писал(а): Так исходя из задачи, чем Вас не устраивает хранение растров на файловом сервере, без задействования реляционной СУБД?
в этом случае пользователи будут загружать непосредственно растры?? то есть они будут иметь возможность их сохранять?

Аватара пользователя
dab
Гуру
Сообщения: 669
Зарегистрирован: 16 дек 2011, 20:02
Статьи: 2
Проекты: 1
Репутация: 169
Ваше звание: Гуру
Откуда: Москва
Контактная информация:

Re: Загрузка растров в postgis.

Сообщение dab » 25 сен 2013, 09:14

Nariman писал(а):в этом случае пользователи будут загружать непосредственно растры?? то есть они будут иметь возможность их сохранять?
Да, вернее сказать, пользователи будут иметь возможность не только загружать, но и непосредственно копировать файлы растров.
Возможность сохранять растры останется у пользователей по-любому, даже если вы будете использовать WMS.
В QGIS "Сохранить как изображение" присутствует. Пусть даже и фрагментами.

Ответить

Вернуться в «QGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость