PostGIS Raster—PostGIS栅格驱动程序

司机简称

PostGISRaster

生成依赖项

PostgreSQL库

PostGIS Raster(以前称为WKT Raster)是在PostGIS上提供栅格支持的项目。自2010年9月26日起,它是PostGIS 2.0+的官方部分。

这个驱动程序是在2009年谷歌代码之夏启动的,从那时起得到了显著的改进。

目前,驱动程序为PostGIS栅格数据源提供只读支持。

驱动程序功能

Supports CreateCopy()

This driver supports the GDALDriver::CreateCopy() operation

Supports Georeferencing

This driver supports georeferencing

连接到数据库

若要连接到PostGIS栅格数据源,请使用指定数据库名称的连接字符串,并根据需要使用其他参数

PG:"[host=''] [port:''] dbname='' [user=''] [password=''] [schema=''] [table=''] [column=''] [where=''] [mode=''] [outdb_resolution='']"

请注意,字符串(直到以“table=”开头的部分)是一个libpq样式的连接字符串。这意味着您可以省去不必要的字段(例如密码,在某些情况下)。

  • 图式 -存储请求的栅格表的PostgreSQL架构的名称。

  • 桌子 -PostGIS栅格表的名称。该表是由栅格加载器(例如raster2pgsql实用程序)创建的。

  • -栅格表中栅格列的名称

  • 在哪里? -选项用于筛选栅格表的结果。任何SQL-WHERE表达式都是有效的。

  • mode -选项用于了解栅格表的预期排列。有两个可能的值

    • mode=1 -每行一个栅格模式。在这种情况下,栅格表被视为一组不同的栅格文件。此模式适用于存储不同栅格文件的栅格表。如果不在连接字符串中提供此字段,则为默认模式。

    • mode=2 -一个栅格表模式。在这种情况下,栅格表被视为唯一的栅格文件,即使该表有多行。此模式用于从数据库中读取平铺栅格。

  • outdb_resolution -(GDAL>=2.3.1)选项指定如何解析数据库栅格。默认为服务器端。

    • server_side :PostgreSQL服务器将获取outDB栅格。这意味着服务器上启用了outdb raster。

    • client_side :outDB栅格文件名将返回到GDAL PostGISRaster客户端,后者将在客户端打开它。这意味着客户端可以访问存储在te服务器上的文件名。

    • client_side_if_possible :outDB栅格文件名将返回到GDAL PostGISRaster客户端,后者将检查是否可以访问它们。如果可以,那就相当于客户端。否则就相当于服务器端。请注意,此模式涉及到对服务器的额外查询。

附加说明

如果表存储平铺栅格,并且您使用mode=1执行驱动程序,则每个图像平铺将被视为不同的图像,并将报告为子数据集。有些用例驱动程序仍然无法使用。例如:不规则的阻塞栅格。检测到案例并引发错误。不管怎样,正如我所说,驱动程序正在开发中,将尽快使用更多的栅格安排。

还有一个额外的工作模式。如果不提供表名,驱动程序将在所有允许的数据库架构中查找现有栅格表,并将每个表作为子数据集报告。

必须在所有gdal工具中使用此连接字符串的格式,如gdalinfo、gdal_translate、gdalwarp等。

性能提示

要从驱动程序中获得最大性能,最好在PostGIS栅格中加载具有以下特性的栅格:

  • 平铺:raster2pgsql的-t开关

  • 概述:-L2,4,8,。。。raster2pgsql开关

  • 使用栅格列上的GIST空间索引:raster2pgsql的-I开关

  • 注册了约束的情况下:raster2pgsql的-C开关

实例

要通过GDAL获取栅格的摘要,请使用gdalinfo:

gdalinfo  "PG:host=localhost port=5432 dbname='mydb' user='postgres' password='secret' schema='public' table=mytable"

有关更多示例,请查看PostGIS栅格常见问题解答部分: Can I export my PostGIS Raster data to other raster formats?

信用

驱动程序开发人员

  • Jorge Arévalo(jorgeraevalo,libregis.org)

  • David Zwarg(azavea.com上的dzwarg)

  • 甚至鲁奥特(spatialysi.com上的Even.Rouault)

也见