Страница 1 из 1
Растры в PostGIS
Добавлено: 27 ноя 2017, 05:58
Филиппов Владислав
Доброго всем дня!
Есть задача (не спрашивайте зачем, так надо) хранить привязанные растры в PostgreSQL9.6/PostGIS2.4 Windows Server 2012
Растры в TIF с привязкой tfw.
Создал в таблице spatial_ref_sys пользовательскую МСК с id 100001 через INSERT
- Выделение_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 (123.93 КБ) 13240 просмотров
В QGIS (Менеджер БД) они видны, но не добавляются в проект QGIS
- Выделение_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 падает, но один раз я увидел растры
установил его 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