ST_SetGeoReference — 通过一次调用设置 6 个地理参考参数。数字之间应使用空格分隔。接受 GDAL 或 ESRI 格式的输入。默认为 GDAL。
raster ST_SetGeoReference(
raster rast, text georefcoords, text format=GDAL)
;
raster ST_SetGeoReference(
raster rast, double precision upperleftx, double precision upperlefty, double precision scalex, double precision scaley, double precision skewx, double precision skewy)
;
通过一次调用设置 6 个地理参考参数。接受 'GDAL' 或 'ESRI' 格式的输入。默认为 GDAL。如果未提供 6 个坐标,则返回 null。
格式表示之间的区别如下
GDAL
:
scalex skewy skewx scaley upperleftx upperlefty
ESRI
:
scalex skewy skewx scaley upperleftx + scalex*0.5 upperlefty + scaley*0.5
如果栅格具有外部数据库的波段,更改地理参考可能会导致错误地访问波段的外部存储数据。 |
增强功能:2.1.0 添加 ST_SetGeoReference(raster, double precision, ...) 变体
WITH foo AS ( SELECT ST_MakeEmptyRaster(5, 5, 0, 0, 1, -1, 0, 0, 0) AS rast ) SELECT 0 AS rid, (ST_Metadata(rast)).* FROM foo UNION ALL SELECT 1, (ST_Metadata(ST_SetGeoReference(rast, '10 0 0 -10 0.1 0.1', 'GDAL'))).* FROM foo UNION ALL SELECT 2, (ST_Metadata(ST_SetGeoReference(rast, '10 0 0 -10 5.1 -4.9', 'ESRI'))).* FROM foo UNION ALL SELECT 3, (ST_Metadata(ST_SetGeoReference(rast, 1, 1, 10, -10, 0.001, 0.001))).* FROM foo rid | upperleftx | upperlefty | width | height | scalex | scaley | skewx | skewy | srid | numbands -----+--------------------+--------------------+-------+--------+--------+--------+-------+-------+------+---------- 0 | 0 | 0 | 5 | 5 | 1 | -1 | 0 | 0 | 0 | 0 1 | 0.1 | 0.1 | 5 | 5 | 10 | -10 | 0 | 0 | 0 | 0 2 | 0.0999999999999996 | 0.0999999999999996 | 5 | 5 | 10 | -10 | 0 | 0 | 0 | 0 3 | 1 | 1 | 5 | 5 | 10 | -10 | 0.001 | 0.001 | 0 | 0