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_AddBand, ST_MetaData, ST_ScaleX, ST_ScaleY, ST_SetValue, ST_SkewX, , ST_SkewY