ST_Rescale — スケール(ピクセルサイズ)だけを調整するリサンプリングを行います。新しいピクセル値は、最近傍補間('NearestNeighbor')、双線形補間('Bilinear')、3次補完('Cubic')、3次スプライン補完('CubicSpline')、ランツォシュ補完('Lanczos')、のいずれかのアルゴリズムを使います。デフォルトは最近傍補完です。
raster ST_Rescale(
raster rast, double precision scalexy, text algorithm=NearestNeighbour, double precision maxerr=0.125)
;
raster ST_Rescale(
raster rast, double precision scalex, double precision scaley, text algorithm=NearestNeighbour, double precision maxerr=0.125)
;
スケール(ピクセルサイズ)だけを調整するリサンプリングを行います。新しいピクセル値は、最近傍補間('NearestNeighbor')、双線形補間('Bilinear')、3次補完('Cubic')、3次スプライン補完('CubicSpline')、ランツォシュ補完('Lanczos')、のいずれかのアルゴリズムを使います。デフォルトは最近傍補完で、最も早いですが最も悪い内挿を行います。
scalex
とscaley
で、新しいピクセルサイズを定義します。ラスタを正しい方向にするには、scaleyは負数でなければなりません。
新しいscalexまたはscaleyがラスタのwidthまたはheightの除数でない時、結果ラスタの範囲は元のラスタの範囲を含むために拡大されます。
maxerr
が指定されていない場合には0.125とします。
詳細についてはGDAL Warp resampling methodsを参照して下さい。 |
ラスタが既知の空間参照系(SRID)にある場合に限って動作します。 |
ST_RescaleはST_SetScaleと異なります。ST_SetScaleはラスタの範囲をあわせるためのリサンプリングをしません。根本的に誤った設定を行ったのを訂正するためにラスタのメタデータ(地理参照)を変更するだけです。ST_Rescaleは、入力ラスタの地理範囲に合わせて計算された幅、高さを持つラスタを返します。ST_SetScaleはラスタの幅も高さも変更しません。 |
初出: 2.0.0 GDAL 1.6.1以上が必要です。
ラスタのピクセルサイズを0.001度から0.0015度にリサンプリングする例です。
-- 元のラスタのピクセルサイズ SELECT ST_PixelWidth(ST_AddBand(ST_MakeEmptyRaster(100, 100, 0, 0, 0.001, -0.001, 0, 0, 4269), '8BUI'::text, 1, 0)) width width ---------- 0.001 -- スケール再設定したラスタのピクセルサイズ SELECT ST_PixelWidth(ST_Rescale(ST_AddBand(ST_MakeEmptyRaster(100, 100, 0, 0, 0.001, -0.001, 0, 0, 4269), '8BUI'::text, 1, 0), 0.0015)) width width ---------- 0.0015