ST_Tile — Restituisce un insieme di raster risultanti dalla suddivisione del raster di input in base alle dimensioni desiderate dei raster di output.
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)
;
Restituisce un insieme di raster risultanti dalla suddivisione del raster di input in base alle dimensioni desiderate dei raster di output.
Se padwithnodata
= FALSE, le tessere dei bordi sui lati destro e inferiore del raster possono avere dimensioni diverse dal resto delle tessere. Se padwithnodata
= TRUE, tutte le tessere avranno le stesse dimensioni, con la possibilità che le tessere dei bordi vengano imbottite con valori NODATA. Se le bande del raster non hanno valori NODATA specificati, è possibile specificarne uno impostando nodataval
.
Se una banda specificata del raster di input è fuori-db, anche la banda corrispondente nei raster di output sarà fuori-db. |
Disponibilità: 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)