Name

ST_SetGeoReference — 在单个调用中设置地理参考6个地理参考参数。数字之间应该用空格隔开。接受GDAL或ESRI格式的输入。默认值为GDAL。

Synopsis

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
[Note]

如果栅格具有Out-db波段,则更改地理参考可能会导致不正确地访问波段的外部存储数据。

增强版:2.1.0新增ST_SetGeoReference(栅格,双精度,...)变异

示例

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
                

另请参阅

ST_GeoReference , ST_ScaleX , ST_ScaleY , ST_UpperLeftX , ST_UpperLeftY