名称

ST_MakeEmptyRaster — 返回一个空栅格(没有波段),具有给定的尺寸(宽度和高度)、左上角 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);

说明

返回一个空栅格(没有波段),具有给定的尺寸(宽度和高度),并且在地理(或世界)坐标中进行地理配准,具有左上角 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) );

--use an existing raster as template for new raster
INSERT INTO dummy_rast(rid,rast)
SELECT 4, ST_MakeEmptyRaster(rast)
FROM dummy_rast WHERE rid = 3;

-- output meta data of rasters we just added
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_AddBandST_MetaDataST_ScaleXST_ScaleYST_SetValueST_SkewXST_SkewY