ST_SetGeoReference — Georeferenziert einen Raster über 6 Parameter in einem einzigen Aufruf. Die Zahlen müssen durch Leerzeichen getrennt sein. Die Funktion akzeptiert die Eingabe im Format von 'GDAL' und von 'ESRI'. Der Standardwert ist 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);
Georeferenziert einen Raster über 6 Parameter in einem einzigen Aufruf. Die Funktion akzeptiert die Eingabe im Format von 'GDAL' und von 'ESRI'. Der Standardwert ist GDAL. Wenn die 6 Parameter nicht angegeben sind, wird NULL zurückgegeben.
Die Formate unterscheiden sich wie folgt:
GDAL uses the value order shown below.
scalex skewy skewx scaley upperleftx upperlefty
ESRI uses the value order shown below.
scalex skewy skewx scaley upperleftx + scalex*0.5 upperlefty + scaley*0.5
|
|
|
Wenn der Raster out-db Bänder aufweist, dann kann eine Änderung der Georeferenzierung zu einem unkorrekten Zugriff auf die extern gespeicherten Daten des Bandes führen. |
Erweiterung: 2.1.0 ST_SetGeoReference(raster, double precision, ...) Variante hinzugefügt
WITH source AS (
SELECT ST_MakeEmptyRaster(5, 5, 0, 0, 1, -1, 0, 0, 0) AS rast
), variants AS (
SELECT 0 AS rid, rast FROM source
UNION ALL
SELECT 1, ST_SetGeoReference(rast, '10 0 0 -10 0.1 0.1', 'GDAL')
FROM source
UNION ALL
SELECT 2, ST_SetGeoReference(rast, '10 0 0 -10 5.1 -4.9', 'ESRI')
FROM source
UNION ALL
SELECT 3, ST_SetGeoReference(rast, 1, 1, 10, -10, 0.001, 0.001)
FROM source
)
SELECT
rid,
round(ST_UpperLeftX(rast)::numeric, 3) AS upperleftx,
round(ST_UpperLeftY(rast)::numeric, 3) AS upperlefty,
ST_ScaleX(rast) AS scalex,
ST_ScaleY(rast) AS scaley,
ST_SkewX(rast) AS skewx,
ST_SkewY(rast) AS skewy
FROM variants
ORDER BY rid;
rid | upperleftx | upperlefty | scalex | scaley | skewx | skewy -----+------------+------------+--------+--------+-------+------- 0 | 0.000 | 0.000 | 1 | -1 | 0 | 0 1 | 0.100 | 0.100 | 10 | -10 | 0 | 0 2 | 0.100 | 0.100 | 10 | -10 | 0 | 0 3 | 1.000 | 1.000 | 10 | -10 | 0.001 | 0.001 (4 rows)
ST_GeoReference, ST_ScaleX, ST_ScaleY, ST_UpperLeftX, ST_UpperLeftY