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 (upperleftx) と Y (upperlefty)、ピクセルサイズと回転 (scalex, scaley, skewx, skewy)、空間参照系 (srid) によって空間 (またはワールド) 座標上で地理参照された空ラスター (バンドを持たないラスター) を返します。
最後の形式では、ピクセルサイズを一つの引数 (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).width,
(md).height,
(md).scalex,
(md).scaley,
(md).srid
FROM (
SELECT rid, ST_MetaData(rast) AS md
FROM dummy_rast
WHERE rid IN (3, 4)
) AS foo
ORDER BY rid;
rid | width | height | scalex | scaley | srid -----+-------+--------+--------+--------+------ 3 | 100 | 100 | 1 | 1 | 4326 4 | 100 | 100 | 1 | 1 | 4326
ST_AddBand, ST_MetaData, ST_ScaleX, ST_ScaleY, ST_SetValue, ST_SkewX, , ST_SkewY