名前

ST_MakeEmptyRaster — 与えられたピクセル範囲(width, height)、左上のX,Y、ピクセルサイズ、回転(scalex, scaley, skewx, skewy)と空間参照系(SRID)が指定された空ラスタ(バンドを持たないラスタ)を返します。ラスタが渡されると、新しいラスタは渡されたラスタと同じサイズ、アラインメント、SRIDになります。SRIDが指定されていない場合には、空間参照系は不明(0)とされます。

概要

raster ST_MakeEmptyRaster(raster rast);

raster ST_MakeEmptyRaster(integer width, integer height, float8 upperleftx, float8 upperlefty, float8 scalex, float8 scaley, float8 skewx, float8 skewy, integer srid=unknown);

raster ST_MakeEmptyRaster(integer width, integer height, float8 upperleftx, float8 upperlefty, float8 pixelsize);

説明

与えられたピクセル範囲(width, height)と、左上のX,Y、ピクセルサイズ、回転(scalex, scaley, skewx, skewy)と空間参照系(SRID)を持つ、空間(または世界)内の地理参照が取られた座標系とを持つ空ラスタが返ります。

最後の形式では、ピクセルサイズを1つの引数(pixelsize)で指定しています。scalexはこの引数に、scaleyは引数の正負逆の数に、それぞれ設定され、skewxとskewyは0に設定されます。

既存のラスタを渡すと、同じメタデータ設定(バンド以外)を持つ新しいラスタが返ります。

SRIDが設定されていない場合には、デフォルトは0です。空ラスタを生成した後に、バンドを追加や編集を行うことになります。ST_AddBandでバンドを定義し、ST_SetValueで初期ピクセル値を設定します。

INSERT INTO dummy_rast(rid,rast)
VALUES(3, ST_MakeEmptyRaster( 100, 100, 0.0005, 0.0005, 1, 1, 0, 0, 4326) );

-- 既存のラスタをテンプレートに使って新しいラスタを生成
INSERT INTO dummy_rast(rid,rast)
SELECT 4, ST_MakeEmptyRaster(rast)
FROM dummy_rast WHERE rid = 3;

-- 既存ラスタと生成したラスタのメタデータを出力
SELECT rid, (md).*
FROM (SELECT rid, ST_MetaData(rast) As md 
	FROM dummy_rast
	WHERE rid IN(3,4)) As foo;
	
-- output --
 rid | upperleftx | upperlefty | width | height | scalex | scaley | skewx | skewy | srid | numbands
-----+------------+------------+-------+--------+------------+------------+-------+-------+------+----------
   3 |     0.0005 |     0.0005 |   100 |    100 |          1 |          1 |    0  |     0 | 4326 |        0
   4 |     0.0005 |     0.0005 |   100 |    100 |          1 |          1 |    0  |     0 | 4326 |        0
				

関連情報

ST_AddBand, ST_MetaData, ST_ScaleX, ST_ScaleY, ST_SetValue, ST_SkewX, , ST_SkewY