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

Добавление растра в существующую таблицу Postgis

Добавлено: 15 июл 2024, 10:32
Budjik
Добрый день.

Имеется таблица в Postgis, который добавлен файл .tif. Он корректно отображается в QGIs. Необходимо добавить в эту же таблицу еще один файл. Как я понимаю, необходимо указать флаг -a, для добавления нового. Пытаюсь это сделать, но вылезает ошибка.

Re: Добавление растра в существующую таблицу Postgis

Добавлено: 15 июл 2024, 10:46
AlexRomantsov
Добрый. А ваши растры, они в какой системе координат? Точно в WGS-84?

Re: Добавление растра в существующую таблицу Postgis

Добавлено: 15 июл 2024, 11:01
AlexRomantsov
Попробуйте опцию -x :
-x Disable setting the max extent constraint. Only applied if -C flag is also used.

Re: Добавление растра в существующую таблицу Postgis

Добавлено: 15 июл 2024, 12:07
Budjik
AlexRomantsov писал(а):
15 июл 2024, 11:01
Попробуйте опцию -x :
-x Disable setting the max extent constraint. Only applied if -C flag is also used.
К сожалению, тоже самое.

Re: Добавление растра в существующую таблицу Postgis

Добавлено: 15 июл 2024, 13:30
AlexRomantsov
Такая команда ошибок не вызвала, но QGIS отказался читать эти растры :(
raster2pgsql.exe -M -I -c -s 4326 -F -n nameorto -t 100x100 d:\map\2024\raster2\wgs\*.tif public.orto_3 | psql -U postgres -d temp -h localhost -p 5432

Re: Добавление растра в существующую таблицу Postgis

Добавлено: 15 июл 2024, 14:11
Budjik
AlexRomantsov писал(а):
15 июл 2024, 13:30
Такая команда ошибок не вызвала, но QGIS отказался читать эти растры :(
raster2pgsql.exe -M -I -c -s 4326 -F -n nameorto -t 100x100 d:\map\2024\raster2\wgs\*.tif public.orto_3 | psql -U postgres -d temp -h localhost -p 5432
И у меня

Re: Добавление растра в существующую таблицу Postgis

Добавлено: 16 июл 2024, 05:46
AlexRomantsov
Если исходные ортофото объединить в виртуальный растр (*.vrt), а потом загрузить в postgres такой объединенный растр - все корректно, ошибок нет, QGIS открывает.
Растры можно объединить в QGIS в Меню - Растр - Прочее - Создать виртуальный.
Потом не плохо бы проверить, открыть на карте, там могут быть неожиданности (если есть разница в системах координат, форматах, палитрах и т.п.).
После этого,
raster2pgsql.exe -M -I -c -s 4326 -C -t 100x100 d:\temp\wgs\orto_all.vrt public.orto_vrt | psql -U postgres -d temp -h localhost -p 5432

Re: Добавление растра в существующую таблицу Postgis

Добавлено: 16 июл 2024, 10:39
Budjik
AlexRomantsov писал(а):
16 июл 2024, 05:46
Если исходные ортофото объединить в виртуальный растр (*.vrt), а потом загрузить в postgres такой объединенный растр - все корректно, ошибок нет, QGIS открывает.
Растры можно объединить в QGIS в Меню - Растр - Прочее - Создать виртуальный.
Потом не плохо бы проверить, открыть на карте, там могут быть неожиданности (если есть разница в системах координат, форматах, палитрах и т.п.).
После этого,
raster2pgsql.exe -M -I -c -s 4326 -C -t 100x100 d:\temp\wgs\orto_all.vrt public.orto_vrt | psql -U postgres -d temp -h localhost -p 5432
Я уже пытался создать растровой слой. Но вылезают ошибки.
Screenshot_21.jpg
Screenshot_21.jpg (28.88 КБ) 2927 просмотров

И еще проблема в том, что у меня 13 тысяч таких файлов.

Re: Добавление растра в существующую таблицу Postgis

Добавлено: 16 июл 2024, 10:55
AlexRomantsov
Чудес не бывает, 13 тысяч тяжелых ортофото могут обрабатываться процессорными неделями. Надо делить на лоты (блоки), делать этапами. QGIS в варианте обычной офисной машины "поднимет" около 5 тыс. за раз (затыкается на оперативной памяти). Если нет задачи раздать ортофото сотне клиентских рабочих мест, я бы с postgres не заморачивался бы, либо отдельными проектами для каждого блока из примерно 5000 растров, либо создал бы XYZ тайлы. Еще есть вариант - поставить Geoserver, настроить в нем хранилище из таких ортофото, Geoserver сможет раздавать через wms сервис. Но, конечно, нужен сервер, нужна оперативная, нужны быстрые диски.

Re: Добавление растра в существующую таблицу Postgis

Добавлено: 16 июл 2024, 11:00
AlexRomantsov
Budjik писал(а):
16 июл 2024, 10:39
Я уже пытался создать растровой слой. Но вылезают ошибки.
Screenshot_21.jpg
В системе координат - какие то трансформации, которые gdal не может переварить.

Re: Добавление растра в существующую таблицу Postgis

Добавлено: 16 июл 2024, 12:28
Budjik
AlexRomantsov писал(а):
16 июл 2024, 10:55
Чудес не бывает, 13 тысяч тяжелых ортофото могут обрабатываться процессорными неделями. Надо делить на лоты (блоки), делать этапами. QGIS в варианте обычной офисной машины "поднимет" около 5 тыс. за раз (затыкается на оперативной памяти). Если нет задачи раздать ортофото сотне клиентских рабочих мест, я бы с postgres не заморачивался бы, либо отдельными проектами для каждого блока из примерно 5000 растров, либо создал бы XYZ тайлы. Еще есть вариант - поставить Geoserver, настроить в нем хранилище из таких ортофото, Geoserver сможет раздавать через wms сервис. Но, конечно, нужен сервер, нужна оперативная, нужны быстрые диски.
Дело в том, что в map info есть сетка, которая позволяет подргружать подложку(планшеты). И работает довольно быстро. Там просто указан путь к файлам. Я хотел бы что то подобное и тут. Но не понял, как это сделать. Единственный вариант только Postgis вычитал.