ST_Tile — Retorna um conjunto de rasters resultante de uma divisão do raster de entrada baseado nas dimensões desejadas nos rasters de saída.
setof raster ST_Tile(
raster rast, int[] nband, integer width, integer height, boolean padwithnodata=FALSE, double precision nodataval=NULL)
;
setof raster ST_Tile(
raster rast, integer nband, integer width, integer height, boolean padwithnodata=FALSE, double precision nodataval=NULL)
;
setof raster ST_Tile(
raster rast, integer width, integer height, boolean padwithnodata=FALSE, double precision nodataval=NULL)
;
Retorna um conjunto de rasters resultante de uma divisão do raster de entrada baseado nas dimensões desejadas nos rasters de saída.
Se padwithnodata
= FALSO, tiles limite no lado direito e inferior do raster podem ter dimensões diferentes do resto das tiles. Se padwithnodata
= VERDADEIRO, todas as tiles terão a mesma dimensão com a possibilidade das tiles limites serem preenchidas com valores NODATA. Se a banda(s) não possui valor(es) NODATA especificado, pode ser especificado por nodataval
.
Se uma banda especificada do raster de entrada estiver out-of-db, a banda correspondente nos rasters de saída também estará. |
Disponibilidade: 2.1.0
WITH foo AS ( SELECT ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(3, 3, 0, 0, 1, -1, 0, 0, 0), 1, '8BUI', 1, 0), 2, '8BUI', 10, 0) AS rast UNION ALL SELECT ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(3, 3, 3, 0, 1, -1, 0, 0, 0), 1, '8BUI', 2, 0), 2, '8BUI', 20, 0) AS rast UNION ALL SELECT ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(3, 3, 6, 0, 1, -1, 0, 0, 0), 1, '8BUI', 3, 0), 2, '8BUI', 30, 0) AS rast UNION ALL SELECT ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(3, 3, 0, -3, 1, -1, 0, 0, 0), 1, '8BUI', 4, 0), 2, '8BUI', 40, 0) AS rast UNION ALL SELECT ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(3, 3, 3, -3, 1, -1, 0, 0, 0), 1, '8BUI', 5, 0), 2, '8BUI', 50, 0) AS rast UNION ALL SELECT ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(3, 3, 6, -3, 1, -1, 0, 0, 0), 1, '8BUI', 6, 0), 2, '8BUI', 60, 0) AS rast UNION ALL SELECT ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(3, 3, 0, -6, 1, -1, 0, 0, 0), 1, '8BUI', 7, 0), 2, '8BUI', 70, 0) AS rast UNION ALL SELECT ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(3, 3, 3, -6, 1, -1, 0, 0, 0), 1, '8BUI', 8, 0), 2, '8BUI', 80, 0) AS rast UNION ALL SELECT ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(3, 3, 6, -6, 1, -1, 0, 0, 0), 1, '8BUI', 9, 0), 2, '8BUI', 90, 0) AS rast ), bar AS ( SELECT ST_Union(rast) AS rast FROM foo ), baz AS ( SELECT ST_Tile(rast, 3, 3, TRUE) AS rast FROM bar ) SELECT ST_DumpValues(rast) FROM baz; st_dumpvalues ------------------------------------------ (1,"{{1,1,1},{1,1,1},{1,1,1}}") (2,"{{10,10,10},{10,10,10},{10,10,10}}") (1,"{{2,2,2},{2,2,2},{2,2,2}}") (2,"{{20,20,20},{20,20,20},{20,20,20}}") (1,"{{3,3,3},{3,3,3},{3,3,3}}") (2,"{{30,30,30},{30,30,30},{30,30,30}}") (1,"{{4,4,4},{4,4,4},{4,4,4}}") (2,"{{40,40,40},{40,40,40},{40,40,40}}") (1,"{{5,5,5},{5,5,5},{5,5,5}}") (2,"{{50,50,50},{50,50,50},{50,50,50}}") (1,"{{6,6,6},{6,6,6},{6,6,6}}") (2,"{{60,60,60},{60,60,60},{60,60,60}}") (1,"{{7,7,7},{7,7,7},{7,7,7}}") (2,"{{70,70,70},{70,70,70},{70,70,70}}") (1,"{{8,8,8},{8,8,8},{8,8,8}}") (2,"{{80,80,80},{80,80,80},{80,80,80}}") (1,"{{9,9,9},{9,9,9},{9,9,9}}") (2,"{{90,90,90},{90,90,90},{90,90,90}}") (18 rows)
WITH foo AS ( SELECT ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(3, 3, 0, 0, 1, -1, 0, 0, 0), 1, '8BUI', 1, 0), 2, '8BUI', 10, 0) AS rast UNION ALL SELECT ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(3, 3, 3, 0, 1, -1, 0, 0, 0), 1, '8BUI', 2, 0), 2, '8BUI', 20, 0) AS rast UNION ALL SELECT ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(3, 3, 6, 0, 1, -1, 0, 0, 0), 1, '8BUI', 3, 0), 2, '8BUI', 30, 0) AS rast UNION ALL SELECT ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(3, 3, 0, -3, 1, -1, 0, 0, 0), 1, '8BUI', 4, 0), 2, '8BUI', 40, 0) AS rast UNION ALL SELECT ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(3, 3, 3, -3, 1, -1, 0, 0, 0), 1, '8BUI', 5, 0), 2, '8BUI', 50, 0) AS rast UNION ALL SELECT ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(3, 3, 6, -3, 1, -1, 0, 0, 0), 1, '8BUI', 6, 0), 2, '8BUI', 60, 0) AS rast UNION ALL SELECT ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(3, 3, 0, -6, 1, -1, 0, 0, 0), 1, '8BUI', 7, 0), 2, '8BUI', 70, 0) AS rast UNION ALL SELECT ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(3, 3, 3, -6, 1, -1, 0, 0, 0), 1, '8BUI', 8, 0), 2, '8BUI', 80, 0) AS rast UNION ALL SELECT ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(3, 3, 6, -6, 1, -1, 0, 0, 0), 1, '8BUI', 9, 0), 2, '8BUI', 90, 0) AS rast ), bar AS ( SELECT ST_Union(rast) AS rast FROM foo ), baz AS ( SELECT ST_Tile(rast, 3, 3, 2) AS rast FROM bar ) SELECT ST_DumpValues(rast) FROM baz; st_dumpvalues ------------------------------------------ (1,"{{10,10,10},{10,10,10},{10,10,10}}") (1,"{{20,20,20},{20,20,20},{20,20,20}}") (1,"{{30,30,30},{30,30,30},{30,30,30}}") (1,"{{40,40,40},{40,40,40},{40,40,40}}") (1,"{{50,50,50},{50,50,50},{50,50,50}}") (1,"{{60,60,60},{60,60,60},{60,60,60}}") (1,"{{70,70,70},{70,70,70},{70,70,70}}") (1,"{{80,80,80},{80,80,80},{80,80,80}}") (1,"{{90,90,90},{90,90,90},{90,90,90}}") (9 rows)