الاسم
ST_SetGeoReference — تضبط معاملات الإسناد الجغرافي الستة في استدعاء واحد. يجب فصل الأعداد بمسافات بيضاء. تقبل المُدخَلات بصيغة 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);
الوصف
تضبط معاملات الإسناد الجغرافي الستة في استدعاء واحد. تقبل المُدخَلات بصيغة '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
|
|
|
إذا كان للرستر نطاقات مخزّنة خارج قاعدة البيانات (out-db)، فقد يؤدي تغيير الإسناد الجغرافي إلى وصول غير صحيح إلى بيانات النطاق المخزّنة خارجيًا. |
حُسّنت في: 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
انظر أيضًا
ST_GeoReference، ST_ScaleX، ST_ScaleY، ST_UpperLeftX، ST_UpperLeftY