Name

ST_Rescale — スケール (ピクセルサイズ)だけを調整するリサンプリングを行います。新しいピクセル値のリサンプリングアルゴリズムとして最近傍補間 ('NearestNeighbor' (英語または米式綴り方))、双線形補間 ('Bilinear')、3次補間 ('Cubic')、3次スプライン補間 ('CubicSpline')、ランチョス補間 ('Lanczos')を用います。デフォルトは最近傍補間です。

Synopsis

raster ST_Rescale(raster rast, double precision scalexy, text algorithm=NearestNeighbor, double precision maxerr=0.125);

raster ST_Rescale(raster rast, double precision scalex, double precision scaley, text algorithm=NearestNeighbor, double precision maxerr=0.125);

説明

スケール (またはピクセルサイズ)だけを調整するリサンプリングを行います。新しいピクセル値は次のリサンプリングアルゴリズム使って計算されます:

  • NearestNeighbor (最近傍補間、英語又は米式綴り方)

  • Bilinear (双線形補間)

  • Cubic (3次補完)

  • CubicSpline (3次スプライン補完)

  • Lanczos (ランチョス補間)

  • Max (最大)

  • Min (最小)

デフォルトはNearestNeighbor (最近傍補間)です。最も実行速度が速いですが、結果の補間が最も悪くなります。

scalexscaleyで、新しいピクセルサイズを定義します。ラスタを正しい方向にするには、scaleyは負数でなければならないことがしばしばあります。

新しいscalexまたはscaleyがラスタのwidthまたはheightの除数でない時、結果ラスタの範囲は元のラスタの範囲を含むために拡大されます。ST_Resizeをご覧ください。

maxerrは、リサンプリングアルゴリズムで変換を行う際に近似を行うかどうかを決めるしきい値です (ピクセル単位)。maxerrを設定しない場合には、デフォルトの0.125が使用され、この値はGDALのgdalwarpユーティリティで使われる値と同じです。0に設定した場合には、近似は行われません。

[Note]

詳細については GDAL Warp resampling methodsをご覧下さい。

[Note]

ST_Recalcは、ST_SetScaleはラスタ範囲に合わせるためのリサンプリングをしない点で、ST_SetScaleと異なります。ST_SetScaleは根本的に誤った設定を行ったのを訂正するためにラスタのメタデータ (地理参照)を変更するだけです。ST_Rescaleは、入力ラスタの地理範囲に合わせて計算された幅、高さを持つラスタを返します。ST_SetScaleはラスタの幅も高さも変更しません。

Availability: 2.0.0 GDAL 1.6.1以上が必要です。

Enhanced: 3.4.0 リサンプリング選択肢に最大と最小を追加

Changed: 2.1.0 SRIDなしのラスタで動作するようになりました。

ラスタのピクセルサイズを0.001度から0.0015度にスケール再設定を行う例です。

-- the original raster pixel size
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

-- the rescaled raster raster pixel size
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