PostGIS安装遇到rt_raster_to_gdal Could not load the output GDAL driver的问题

rt_raster_to_gdal: Could not load the output GDAL driver

问题记录:
postgis 安装后不能执行以下语句,查询入库的 tif 文件

SELECT ST_AsGDALRaster(rast, 'GTiff') As rastjpg FROM radar_data_xx WHERE rid=1;

解决办法:

1. 确认是否安装 GDAL ,否则安装GDAL详细步骤

  1. 添加PPA

    add-apt-repository ppa:ubuntugis/ppa 
    

    输入后会提示按 enter 键继续

    img

  2. 更新

    apt-get update
    
  3. 安装 gdal-bin

    apt-get install gdal-bin
    
    安装完成后使用下述命令验证是否安装成功
    
    ogrinfo --version
    
  4. 安装 libgdal-dev

apt-get install libgdal-dev
安装完成后使用下述命令验证是否安装成功
gdal-config --version
获取到的版本号需要记住,接下来安装 python gdal 时会使用到 ,要不然接下来会报错
  1. 配置环境变量
export CPLUS_INCLUDE_PATH=/usr/include/gdal
export C_INCLUDE_PATH=/usr/include/gdal
  1. 安装  GDAL
    
    pip install GDAL==version #(pip install GDAL==2.2.2)
    
    这里的 version 为(4)中查看版本获取到的 version 我这里是 2.2.2
    
    至此,gdal 就安装完成了。可以在python 中使用 import gdal 验证。
    

2.配置栅格支持

如果您启用了栅格支持,您可能希望阅读下面的如何正确配置它。

从PostGIS 2.1.3开始,默认情况下禁用数据库外栅格和所有栅格驱动程序。要重新启用这些环境变量,您需要设置以下环境变量 POSTGIS_GDAL_ENABLED_DRIVERSPOSTGIS_ENABLE_OUTDB_RASTERS 在服务器环境中。对于PostGIS 2.2,您可以使用更具跨平台的方法来设置相应的 Section 8.23, “大统一自定义变量(GUC)”

如果要启用脱机栅格,请执行以下操作:

POSTGIS_ENABLE_OUTDB_RASTERS=1

任何其他设置或根本没有设置都将禁用数据库栅格。

要启用GDAL安装中可用的所有GDAL驱动程序,请按如下方式设置此环境变量

POSTGIS_GDAL_ENABLED_DRIVERS=ENABLE_ALL

如果只想启用特定驱动程序,请按如下方式设置环境变量:

POSTGIS_GDAL_ENABLED_DRIVERS="GTiff PNG JPEG GIF XYZ"
如果您使用的是Windows,请不要引用驱动程序列表

环境变量的设置因操作系统而异。对于通过apt-postgreSQL安装在Ubuntu或Debian上的PostgreSQL,首选方式是编辑 /etc/postgresql/*10*/*main*/environment 其中,10表示PostgreSQL的版本,main表示集群。

在Windows上,如果你是作为一项服务运行的,你可以通过系统变量来设置在Windows 7中,你可以通过右击Computer- > 属性高级系统设置或在资源管理器中导航到 Control Panel\All Control Panel Items\System 。然后点击 高级系统设置- > 高级->环境变量 以及添加新的系统变量。

设置环境变量后,需要重新启动PostgreSQL服务才能使更改生效。javascript:void(0)😉

配置栅格支持
如果您启用了栅格支持,您可能希望阅读下面的如何正确配置它。

从PostGIS 2.1.3开始,默认情况下禁用数据库外栅格和所有栅格驱动程序。要重新启用这些环境变量,您需要设置以下环境变量 POSTGIS_GDAL_ENABLED_DRIVERS 和 POSTGIS_ENABLE_OUTDB_RASTERS 在服务器环境中。对于PostGIS 2.2,您可以使用更具跨平台的方法来设置相应的 Section 8.23, “大统一自定义变量(GUC)” 。

如果要启用脱机栅格,请执行以下操作:

POSTGIS_ENABLE_OUTDB_RASTERS=1

任何其他设置或根本没有设置都将禁用数据库栅格。

要启用GDAL安装中可用的所有GDAL驱动程序,请按如下方式设置此环境变量

POSTGIS_GDAL_ENABLED_DRIVERS=ENABLE_ALL

如果只想启用特定驱动程序,请按如下方式设置环境变量:

POSTGIS_GDAL_ENABLED_DRIVERS="GTiff PNG JPEG GIF XYZ"

如果您使用的是Windows,请不要引用驱动程序列表

环境变量的设置因操作系统而异。对于通过apt-postgreSQL安装在Ubuntu或Debian上的PostgreSQL,首选方式是编辑 /etc/postgresql/10/main/environment 其中,10表示PostgreSQL的版本,main表示集群。

在Windows上,如果你是作为一项服务运行的,你可以通过系统变量来设置在Windows 7中,你可以通过右击Computer- > 属性高级系统设置或在资源管理器中导航到 Control Panel\All Control Panel Items\System 。然后点击 高级系统设置- > 高级->环境变量 以及添加新的系统变量。

设置环境变量后,需要重新启动PostgreSQL服务才能使更改生效。

3.如还是不行,重新启动容器,在命令上添加环境变量

docker run -t --name postgisxx --restart always -e POSTGIS_GDAL_ENABLED_DRIVERS='ENABLE_ALL' -e  POSTGIS_ENABLE_OUTDB_RASTERS=1 -e GDAL_DATA='/usr/share/gdal' -e POSTGRES_USER='nb_db' -e POSTGRES_PASSWORD='htht@2022' -e ALLOW_IP_RANGE=0.0.0.0/0 -p 8431:5432 -v /home/postgisxx:/var/lib/postgresql/data -d postgisxx1:latest

RES_USER=‘nb_db’ -e POSTGRES_PASSWORD=‘htht@2022’ -e ALLOW_IP_RANGE=0.0.0.0/0 -p 8431:5432 -v /home/postgisxx:/var/lib/postgresql/data -d postgisxx1:latest


 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值