名前

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

概要

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に設定した場合には、近似は行われません。

[注記]

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

[注記]

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度にスケール再設定を行う例です。

この例では元のラスターのピクセルサイズを返します。

コード
SELECT ST_PixelWidth(ST_AddBand(ST_MakeEmptyRaster(100, 100, 0, 0, 0.001, -0.001, 0, 0, 4269), '8BUI'::text, 1, 0)) 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
出力
0.0015