postgresql rt_raster_to_gdal:无法加载输出GDAL驱动程序

np8igboo  于 2023-04-20  发布在  PostgreSQL
关注(0)|答案(1)|浏览(304)

我有一个postgresql远程数据库,其中所有postgis和光栅功能都已启用。
我正在尝试对方案中的栅格表执行查询,但系统返回以下错误

rt_raster_to_gdal: Could not load the output GDAL driver

通过使用以下代码

import psycopg2
from rasterio.io import MemoryFile
import rioxarray as riox
    
# DB Configuration
dbname = "Database"
dbuser = "user"
dbpass = "pass"
dbhost = "host.com"
dbport = "8080"

try:
    conn = psycopg2.connect(database=dbname, user=dbuser, password=dbpass, host=dbhost, port=dbport)
    curs = conn.cursor()
    print("Database connected successfully")
except:
    print("Database not connected successfully")
curs.execute("select ST_AsGDALRaster(st_union(rast), 'GTIFF') from schema.table;")
result = curs.fetchone()

我也尝试添加以下代码到previouse脚本,但没有什么变化

curs.execute("SET postgis.gdal_enabled_drivers = 'ENABLE_ALL';")

如何解决这个问题?

7d7tgy0s

7d7tgy0s1#

对于GTiff输出,必须启用对out-db光栅波段的访问。您可以在此处阅读有关此配置选项的更多信息:https://postgis.net/docs/postgis_enable_outdb_rasters.html
为当前会话启用

SET postgis.enable_outdb_rasters = True;

请注意,要使此选项生效,您仍然需要在PostGIS环境中启用必要的GDAL驱动程序。即,GTiff的驱动程序。

相关问题