GISarabia.org
PostGIS › الدليل الرسمي › 11. مرجع الرستر › 11.7. دوال تحرير الرستر
PostGIS 3.6 · Official Manual · ترجمة عربية

ST_SetScale

الصفحة الأصلية بالإنجليزية postgis.net ↗

الاسم

ST_SetScale — تضبط حجم البكسلات في الاتجاهين X وY بوحدات النظام المرجعي للإحداثيات. عدد الوحدات لكل بكسل عرضًا/ارتفاعًا.

المختصر

raster ST_SetScale(raster rast, float8 xy);

raster ST_SetScale(raster rast, float8 x, float8 y);

الوصف

تضبط حجم البكسلات في الاتجاهين X وY بوحدات النظام المرجعي للإحداثيات. عدد الوحدات لكل بكسل عرضًا/ارتفاعًا. إذا مُرّرت وحدة واحدة فقط، يُفترض أن X وY لهما العدد نفسه.

[ملاحظة]

تختلف ST_SetScale عن ST_Rescale في أن ST_SetScale لا تُعيد تشكيل الرستر ليطابق امتداده، بل تغيّر فقط البيانات الوصفية (أو الإسناد الجغرافي) للرستر لتصحيح مقياس حُدّد خطأً في الأصل. أما ST_Rescale فينتج عنها رستر بعرض وارتفاع مختلفين محسوبين ليلائما الامتداد الجغرافي للرستر المُدخَل. لا تعدّل ST_SetScale عرض الرستر ولا ارتفاعه.

تغيّرت في: 2.0.0 في إصدارات WKTRaster كانت تُسمّى ST_SetPixelSize. وقد تغيّر ذلك في 2.0.0.

أمثلة

UPDATE dummy_rast
    SET rast = ST_SetScale(rast, 1.5)
WHERE rid = 2;

SELECT ST_ScaleX(rast) As pixx, ST_ScaleY(rast) As pixy, Box3D(rast) As newbox
FROM dummy_rast
WHERE rid = 2;

 pixx | pixy |                    newbox
------+------+----------------------------------------------
  1.5 |  1.5 | BOX(3427927.75 5793244 0, 3427935.25 5793251.5 0)
                
UPDATE dummy_rast
    SET rast = ST_SetScale(rast, 1.5, 0.55)
WHERE rid = 2;

SELECT ST_ScaleX(rast) As pixx, ST_ScaleY(rast) As pixy, Box3D(rast) As newbox
FROM dummy_rast
WHERE rid = 2;

 pixx | pixy |                   newbox
------+------+--------------------------------------------
  1.5 | 0.55 | BOX(3427927.75 5793244 0,3427935.25 5793247 0)
                

انظر أيضًا

ST_ScaleX، ST_ScaleY، Box3D