名称

ST_SetScale — 设置像素在坐标参考系统单位中的 X 和 Y 大小。单位数量/像素宽度/高度。

概要

raster ST_SetScale(raster rast, float8 xy);

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

描述

设置像素在坐标参考系统单位中的 X 和 Y 大小。单位数量/像素宽度/高度。如果只传入一个单位,则假定 X 和 Y 是相同的数值。

[Note]

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