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

Растры в PostGIS

Добавлено: 27 ноя 2017, 05:58
Филиппов Владислав
Доброго всем дня!
Есть задача (не спрашивайте зачем, так надо) хранить привязанные растры в PostgreSQL9.6/PostGIS2.4 Windows Server 2012
Растры в TIF с привязкой tfw.
Создал в таблице spatial_ref_sys пользовательскую МСК с id 100001 через INSERT
Выделение_014.png
Выделение_014.png (59.92 КБ) 13240 просмотров
Загрузил сами растры:

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

for %%f in (*.tif) do raster2pgsql -I -C -M -s 100001 -F -t 100x100 %%f %%~nf > %%~nf.sql
for %%f in (*.sql) do psql -U vfilippov -d geodb -f %%f
Они все видны в raster_columns
Выделение_015.png
Выделение_015.png (123.93 КБ) 13240 просмотров
В QGIS (Менеджер БД) они видны, но не добавляются в проект QGIS
Выделение_016.png
Выделение_016.png (139.26 КБ) 13240 просмотров
Сообщение об ошибке - Слой PG: dbname=geodb host=localhost user=vfilippov port=5432 mode=2 schema=public column=rast table=0-0-14 недействителен — не загружен

Re: Растры в PostGIS

Добавлено: 27 ноя 2017, 07:51
ericsson
Первое что приходит в голову - а у вас СК так и называется кириллицей, СК-61?

Re: Растры в PostGIS

Добавлено: 27 ноя 2017, 07:56
Филиппов Владислав
да, это текст в UTF-8
PostgreSQL в логе пишет вот такое:

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

2017-11-27 13:07:05 MSK ОШИБКА:  ошибка синтаксиса (примерное положение: ".0") (символ 111)
2017-11-27 13:07:05 MSK ОПЕРАТОР:  select st_bandmetadata(rast, band) from (select rast, generate_series(1, 1) band from (select rast from public.0-1-11 where (true) AND st_numbands(rast)=1 limit 1) bar) foo

Re: Растры в PostGIS

Добавлено: 27 ноя 2017, 08:29
Эдуард Казаков
У меня когда-то с хранением растров были проблемы не только из-за того, что название набора начиналось с цифры, но и даже если оно с заглавной буквы начиналось

Re: Растры в PostGIS

Добавлено: 27 ноя 2017, 13:14
Филиппов Владислав
помогло удаление из имени растровых файлов знака минус "-" и добавление в начало имени буквенного символа

Re: Растры в PostGIS

Добавлено: 27 ноя 2017, 14:14
Филиппов Владислав
один чёрт, не работает.
при добавлении таблицы в QGIS либо висит, либо падает QGIS
в логе БД вот что :?
2017-11-27 19:07:49 MSK ОПЕРАТОР: SELECT ST_Band(rast, 1), ST_Metadata(rast), rid FROM public.r005
2017-11-27 19:07:49 MSK ВАЖНО: подключение к клиенту потеряно
2017-11-27 19:07:49 MSK ОПЕРАТОР: SELECT ST_Band(rast, 1), ST_Metadata(rast), rid FROM public.r005
2017-11-27 19:07:58 MSK СООБЩЕНИЕ: не удалось получить данные от клиента: An existing connection was forcibly closed by the remote host.

Re: Растры в PostGIS

Добавлено: 27 ноя 2017, 14:17
trir
del

Re: Растры в PostGIS

Добавлено: 27 ноя 2017, 14:19
Филиппов Владислав
del

Re: Растры в PostGIS

Добавлено: 27 ноя 2017, 14:24
freeExec
2017-11-27 19:07:49 MSK ОПЕΠАТОΠ: SELECT ST_Band(rast, 1), ST_Metadata(rast), rid FROM public.r005
2017-11-27 19:07:49 MSK ВАЖНО: подключение к клиенту потеряно
2017-11-27 19:07:49 MSK ОПЕΠАТОΠ: SELECT ST_Band(rast, 1), ST_Metadata(rast), rid FROM public.r005
2017-11-27 19:07:58 MSK СООБЩЕНИЕ: не удалось получить данные от клиента: An existing connection was forcibly closed by the remote host.
Таймаут слишком короткий?

Re: Растры в PostGIS

Добавлено: 27 ноя 2017, 16:59
Филиппов Владислав
нашёл в postgres.config это:
statement_timeout был закомменчен, т.е. отключён.
установил его 10000 мсек. не помогло. QGIS падает, но один раз я увидел растры :D
установил его 100000 мсек. не помогло.

Re: Растры в PostGIS

Добавлено: 27 ноя 2017, 18:46
Филиппов Владислав
а вот это уже в debian и postgresql 10/ PostGIS 2.4
2017-11-27 22:32:39.247 +07 [19229] filippov@postgres СООБЩЕНИЕ: не удалось послать данные клиенту: Соединение разорвано другой стороной
2017-11-27 22:32:39.247 +07 [19229] filippov@postgres ОПЕРАТОР: SELECT ST_Band(rast, 1), ST_Metadata(rast), rid FROM public.r177065
2017-11-27 22:32:39.528 +07 [19229] filippov@postgres ВАЖНО: подключение к клиенту потеряно
2017-11-27 22:32:39.528 +07 [19229] filippov@postgres ОПЕРАТОР: SELECT ST_Band(rast, 1), ST_Metadata(rast), rid FROM public.r177065
2017-11-27 22:37:35.786 +07 [19338] filippov@geodb ОШИБКА: таблица "r177064" не существует
2017-11-27 22:37:35.786 +07 [19338] filippov@geodb ОПЕРАТОР: drop table public.r177064 cascade
2017-11-27 22:40:17.219 +07 [19893] filippov@postgres СООБЩЕНИЕ: не удалось послать данные клиенту: Соединение разорвано другой стороной
2017-11-27 22:40:17.219 +07 [19893] filippov@postgres ОПЕРАТОР: SELECT ST_Band(rast, 1), ST_Metadata(rast), rid FROM public.r177065
2017-11-27 22:40:17.332 +07 [19893] filippov@postgres ВАЖНО: подключение к клиенту потеряно
2017-11-27 22:40:17.332 +07 [19893] filippov@postgres ОПЕРАТОР: SELECT ST_Band(rast, 1), ST_Metadata(rast), rid FROM public.r177065