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

PostgreSQL/PostGIS работа с растрами

Добавлено: 23 май 2015, 23:11
Студент0
Доброго времени суток, уважаемые пользователи!
Я являюсь студентом и пишу диплом, собственно, в связи с этим и прошу вашей помощи!
Если в общем: Надо в PostgreSQL/PostGIS (как понимаю при помощи PgAdmin III) создать базу данных (разобрался) и загружать в неё растровые данные. Начитался очень много информации из мануалов (PostGIS in Action, postgis 2.2.0, CookBook PostGIS) и получил огромную кучу информации с которой не в силах разобраться самостоятельно.
Конкретика: требуется загрузка в ST_Raster и последующая работа с ним (фильтрация, анализ).
Проблема в том, что я не понял как именно создать подходящую базу для ST_Raster, как именно и с какими параметрами загружать растры. Какая сама структура должна быть базы и как её визуализировать (на форуме писалось, что в QGis можно).

И огромная особенность в том, что мне надо это всё делать с помощью SQL команд. и создавать базу, и работать с растрами.....

Прошу вашей помощи, т.к. времени осталось не много, а своими силами разобраться так и не получается.

Re: PostgreSQL/PostGIS работа с растрами

Добавлено: 23 май 2015, 23:58
Студент0
Позвольте построить список вопросов, что б быстрей накопить требуемую информацию:
1. Создание БД с использованием SQL
2. Создание таблиц для ST_Raster (что в них нужно)
3. Загрузка растров
4. Работа с ними (SQL запросами).

Имею вот такую информацию:
1. CREATE TABLE (name varchar2(255), sde.st_raster raster); - создает каталог. это тоже самое?
2. CREATE TABLE urban_area (raster st_raster, name varchar(255)); - как её использовать? что тут где?
3. raster2pgsql - найдена функция, которая загружает растровые данные. подходит ли она?
4. Имею такой вот пример (как пример SQL запросов):
SELECT ST_AddBand(ST_Clip(rast, 1,
ST_Buffer(ST_Centroid(ST_Envelope(rast)),20),false
), ARRAY[ST_Band(rast,2),ST_Band(rast,3)] ) from aerials.name
WHERE rid = 6;
Возможно ли обьяснить его???

Благодарю за ЛЮБУЮ информацию. Наверняка мои знания намного меньше ваших...

Re: PostgreSQL/PostGIS работа с растрами

Добавлено: 24 май 2015, 10:03
rhot
Студент0 писал(а):Проблема в том, что я не понял как именно создать подходящую базу для ST_Raster, как именно и с какими параметрами загружать растры.
Вот же чёрным по белому написано, что растры грузятся с помощью raster2pgsql.


1. С исходниками идут несколько SQL скриптов, которые и создают базу данных по умолчанию, если хотите с поддержкой растров и комметариями к функциям.
2. Что есть ST_Raster?
3. raster2pgsql
4. ??!

Re: PostgreSQL/PostGIS работа с растрами

Добавлено: 24 май 2015, 10:33
ericsson
Ну и http://postgis.net/docs/manual-2.1/RT_reference.html тоже.
Никакого "ST_Raster" в PostGIS нет, вообще, совсем.
Есть кое-что с похожими названиями, например, ST_AsRaster, но убейте меня, я не пойму, какое оно имеет отношение к вопросу (2).
Я бы прежде чем задавать встречные вопросы, которые задал rhot, спросил бы: а вы вообще SQL владеете, и если да, то на каком уровне?

Re: PostgreSQL/PostGIS работа с растрами

Добавлено: 24 май 2015, 13:35
Ariki
Приведённые обрывки запросов SQL относятся к растрам ArcSDE.

Re: PostgreSQL/PostGIS работа с растрами

Добавлено: 24 май 2015, 17:54
Студент0
Большое спасибо за ответы!
rhot - спасибо за ссылки! в них и есть процедуры обработки ST_Raster (растров).
Ответ на "что такое ST_Raster - http://help.arcgis.com/en/arcgisdesktop ... 006r000000 - это и есть растр.
raster2pgsql raster_options_go_here raster_file someschema.sometable > out.sql - отличный пример! только понять что в нем не могу, т.к. ericsson, ответ не владею SQL языком. надеялся что он схож с Delphi т.к. его знаю не плохо, однако это далеко не так.
могли б вы объяснить синтаксис команд?
Я создал базу в пгАдмине, просто вставить туда код примера с заменой имени растра? и все? а куда он сохранится? и какие данные добавятся в таблицу?


СПАСИБО ОГРОМНОЕ за помощь!

Re: PostgreSQL/PostGIS работа с растрами

Добавлено: 24 май 2015, 18:28
rhot
Программа raster2pgsql работает извне.

Из руководства:

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

raster2pgsql -s 4236 -I -C -M *.tif -F -t 100x100 public.demelevation | psql -d gisdb
Дословно: используя систему координат EPSG:4236 импортировать растры *.tif тайлами по 100х100 в таблицу demelevation из схемы public, создать индекс GiST для быстрого доступа к растрам. Вторая часть команды запускает скрипт, созданный raster2pgsql в базе данных gisdb.

Re: PostgreSQL/PostGIS работа с растрами

Добавлено: 24 май 2015, 19:38
Студент0
не могу найти как подключить модуль. скачал gdal, phyton...

Re: PostgreSQL/PostGIS работа с растрами

Добавлено: 24 май 2015, 21:20
ericsson
ST_Raster - это определенный пользователем тип, специфичный для ArcGIS, вы собираетесь из ArcGIS работать с этим? Если нет, то забудьте про руководство к ArcGIS, оно вам не поможет.
И если Delphi - единственный язык, которым вы владеете, а SQL для вас - новость, то единственный способ закончить диплом - начать учиться прямо сейчас и заниматься этим круглые сутки. Судя по масштабам бедствия, вы к решению задачи дипломного проекта практически не готовы.

Re: PostgreSQL/PostGIS работа с растрами

Добавлено: 24 май 2015, 22:16
Студент0
ericsson писал(а):ST_Raster - это определенный пользователем тип, специфичный для ArcGIS, вы собираетесь из ArcGIS работать с этим? Если нет, то забудьте про руководство к ArcGIS, оно вам не поможет.
И если Delphi - единственный язык, которым вы владеете, а SQL для вас - новость, то единственный способ закончить диплом - начать учиться прямо сейчас и заниматься этим круглые сутки. Судя по масштабам бедствия, вы к решению задачи дипломного проекта практически не готовы.
критика обоснована, так оно всё и есть. и дабы у меня все получилось, мне требуется подключить raster2pgsql и загрузить один (больше не требуется) растр! их обработку я примерно понял как делать.
уверен, это не много. поэтому и прошу вашей помощи. должен успеть.
Спасибо!

P.S. Если требуется, могу скинуть любую информацию что имею! Диплом, книги, таблицы. не знаю, поможет это или нет, но вдруг...

Re: PostgreSQL/PostGIS работа с растрами

Добавлено: 24 май 2015, 22:38
Студент0
На Сайте инструкция: http://gis-lab.info/qa/postgis-install.html#03
не получается даже тут сделать.
нет шаблона template_postgis, при віборе других нет таблиц (spatial_ref_sys и geometry_columns), отсутствуют файлы "share\contrib\spatial_ref_sys.sql"... я не правильно что-то установил???? делал по инструкции!

Re: PostgreSQL/PostGIS работа с растрами

Добавлено: 24 май 2015, 22:48
Студент0
Нашел команду для SQL, которая должна так же загружать растры, но опять таки выдает ошибку:
psql -h localhost -U postgres -d your_database -f image.sql

правильно ли я всё понял: требуется отдельно установка gdal, geos, raster2pgsql?
Питон при попытке запуска модулей из папок (которые скачал) выдает ошибки. т.е. у меня ничего не получится, пока я их не установлю???

Re: PostgreSQL/PostGIS работа с растрами

Добавлено: 24 май 2015, 22:58
rhot
Студент0 писал(а):На Сайте инструкция: http://gis-lab.info/qa/postgis-install.html#03
не получается даже тут сделать.
нет шаблона template_postgis, при віборе других нет таблиц (spatial_ref_sys и geometry_columns), отсутствуют файлы "share\contrib\spatial_ref_sys.sql"... я не правильно что-то установил???? делал по инструкции!
Скачайте исходники с postgis.org - там эти скрипты/шаблон должны быть.

Re: PostgreSQL/PostGIS работа с растрами

Добавлено: 24 май 2015, 23:00
rhot
Студент0 писал(а):Нашел команду для SQL, которая должна так же загружать растры, но опять таки выдает ошибку:
psql -h localhost -U postgres -d your_database -f image.sql

правильно ли я всё понял: требуется отдельно установка gdal, geos, raster2pgsql?
Питон при попытке запуска модулей из папок (которые скачал) выдает ошибки. т.е. у меня ничего не получится, пока я их не установлю???
Что пишет после

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

SELECT PostGIS_Version();
?

Re: PostgreSQL/PostGIS работа с растрами

Добавлено: 24 май 2015, 23:22
Студент0
Разобрался!
выдает версию! 2.1 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
однако остальные вышеперечисленные запросы выдают ошибки.