名称

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_ScaleXST_ScaleYBox3D