PostGIS:函数 ST_AsRaster 不存在。甚至使用文档中的示例

PostGIS: function ST_AsRaster does not exist. Even using examples from the docs

我正在尝试将几何图形转换为图像,但似乎不存在这样做的函数。

下面的例子来自ST_AsRaster Docs,其中指定的要求是Availability: 2.0.0 - requires GDAL >= 1.6.0.

SELECT ST_AsPNG(ST_AsRaster(ST_Buffer(ST_Point(1,5),10),150, 150));

这导致:

ERROR: function st_asraster(geometry, integer, integer) does not exist

LINE 1: SELECT ST_AsPNG(ST_AsRaster(ST_Buffer(ST_Point(1,5),10),150,...

我发现了一些指向需要 GDAL 驱动程序的信息,但是,当我尝试时:

SELECT short_name, long_name FROM ST_GdalDrivers();

我得到:

ERROR: function st_gdaldrivers() does not exist

LINE 1: SELECT short_name, long_name FROM ST_GdalDrivers();


我什至不知道去哪里尝试解决这个问题,为什么函数不存在,是否有一些我需要添加的配置,一些我没有读过的文档?

甚至 https://postgis.net/docs/RT_reference.html 似乎也暗示它应该“正常工作”?


这是从 Ubuntu 20.0.4.

上的包管理器安装的

版本信息SELECT PostGIS_Full_Version();:

POSTGIS="3.0.0 r17983" [EXTENSION] 
PGSQL="120" 
GEOS="3.8.0-CAPI-1.13.1 " 
PROJ="6.3.1" 
LIBXML="2.9.4" 
LIBJSON="0.13.1" 
LIBPROTOBUF="1.3.3" 
WAGYU="0.4.3 (Internal)"

您一定是忘记安装 postgis_raster 扩展:

CREATE EXTENSION postgis_raster;

此扩展是 PostGIS 3.0 中的新增功能;在此之前,它的对象是 postgis 扩展的一部分。

The documentation 提到:

Once postgis is installed, it needs to be enabled in each individual database you want to use it in.

psql -d yourdatabase -c "CREATE EXTENSION postgis;"

-- if you built with raster support and want to install it --
psql -d yourdatabase -c "CREATE EXTENSION postgis_raster;"