Name

ST_SetScale — ピクセルサイズのX値とY値を空間参照系の単位で設定します。数値は単位/ピクセルの幅または高さです。

Synopsis

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_Rescaleは、入力ラスタの地理範囲に合わせて計算された幅、高さを持つラスタを返します。ST_SetScaleはラスタの幅も高さも変更しません。

Changed: 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