栅格构造函数¶
ST_AddBand¶
ST_AddBand — 返回一个栅格,其中在给定的索引位置添加了给定类型的新带和给定的初始值。
参数¶
rast
raster 类型
addbandargset
addbandarg[] 类型
index
int 类型,默认值at_end或者没有默认值
pixeltype
text 类型
initialvalue
float8 类型,默认值0
nodataval
float8 类型,默认值NULL
torast
raster 类型
fromrast
raster 类型
fromband
int 类型,默认值0
torastindex
int 类型,默认值at_end
fromrasts
raster[] 类型
outdbfile
text 类型
outdbindex
int[] 类型
返回值¶
返回一个栅格,其中在给定的索引位置添加了给定类型的新带和给定的初始值。
示例¶
drop table dummy_rast;
CREATE TABLE dummy_rast(rid integer, rast raster);
INSERT INTO dummy_rast(rid, rast)
VALUES (1,
('01' -- little endian (uint8 ndr)
|| '0000' -- version (uint16 0)
|| '0000' -- nBands (uint16 0)
|| '0000000000000040' -- scaleX (float64 2)
|| '0000000000000840' -- scaleY (float64 3)
|| '000000000000E03F' -- ipX (float64 0.5)
|| '000000000000E03F' -- ipY (float64 0.5)
|| '0000000000000000' -- skewX (float64 0)
|| '0000000000000000' -- skewY (float64 0)
|| '00000000' -- SRID (int32 0)
|| '0A00' -- width (uint16 10)
|| '1400' -- height (uint16 20)
)::raster
),
-- Raster: 5 x 5 pixels, 3 bands, PT_8BUI pixel type, NODATA = 0
(2, ('01000003009A9999999999A93F9A9999999999A9BF000000E02B274A' ||
'41000000007719564100000000000000000000000000000000FFFFFFFF050005000400FDFEFDFEFEFDFEFEFDF9FAFEF' ||
'EFCF9FBFDFEFEFDFCFAFEFEFE04004E627AADD16076B4F9FE6370A9F5FE59637AB0E54F58617087040046566487A1506CA2E3FA5A6CAFFBFE4D566DA4CB3E454C5665')::raster);
SELECT st_astext(ST_AddBand(ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(2, 2, 0, 0, 0.1,-0.1, 0, 0, 4326), 1, '8BUI', 1, 0), 2, '8BUI', 2, 0), 3, '8BUI', 3, 0)::geometry);
ST_ASTEXT(text) |
---------------------
POLYGON((0 0,0.2 0,0.|
2 -0.2,0 -0.2,0 0)) |
总数目:1
SELECT st_astext(ST_AddBand(ST_MakeEmptyRaster(20, 20, 0, 0, 1, -1, 0, 0, 4326), '16BSI'::text, 1, 0)::geometry);
ST_ASTEXT(text) |
---------------------
POLYGON((0 0,20 0,20 |
-20,0 -20,0 0)) |
总数目:1
SELECT * FROM ST_BandMetadata(
ST_AddBand(
ST_AddBand(ST_MakeEmptyRaster(5, 5, 0, 0, 1, -1, 0, 0, 0), 1, '2BUI', 1, 0),
ARRAY[
ST_AddBand(ST_MakeEmptyRaster(5, 5, 0, 0, 1, -1, 0, 0, 0), 1, '4BUI', 1, 0),
ST_AddBand(ST_MakeEmptyRaster(5, 5, 0, 0, 1, -1, 0, 0, 0), 1, '8BUI', 1, 0),
ST_AddBand(ST_MakeEmptyRaster(5, 5, 0, 0, 1, -1, 0, 0, 0), 1, '16BUI', 1, 0),
ST_AddBand(ST_MakeEmptyRaster(5, 5, 0, 0, 1, -1, 0, 0, 0), 1, '32BUI', 1, 0),
ST_AddBand(ST_MakeEmptyRaster(5, 5, 0, 0, 1, -1, 0, 0, 0), 1, '64BF', 1, 0)
]::raster[]
), ARRAY[]::int[]
);
BANDNUM(int) |PIXELTYPE(text) |NODATAVALUE(double precision) |ISOUTDB(boolean) |PATH(text) |OUTDBBANDNUM(tinyint) |FILESIZE(bigint) |FILETIMESTAMP(bigint) |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1 |2BUI |0 |false |null |null |null |null |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2 |4BUI |0 |false |null |null |null |null |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
3 |8BUI |0 |false |null |null |null |null |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
4 |16BUI |0 |false |null |null |null |null |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
5 |32BUI |0 |false |null |null |null |null |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
6 |64BF |0 |false |null |null |null |null |
总数目:6
ST_AsRaster¶
ST_AsRaster — 返回一个栅格,其中在给定的索引位置添加了给定类型的新带和给定的初始值。
参数¶
geom
geometry 类型
ref
raster 类型
pixeltype
text 类型
value
float8 类型,默认值1
nodataval
float8 类型,默认值0
touched
boolean 类型,默认值 false
返回值¶
返回一个栅格,其中在给定的索引位置添加了给定类型的新带和给定的初始值。
示例¶
drop table funky_shapes;
drop table fun_shapes;
drop table raster_asraster_geom;
drop table raster_asraster_dst;
CREATE TABLE funky_shapes(rast raster);
CREATE TABLE raster_asraster_geom (
geom geometry
);
CREATE TABLE raster_asraster_dst (
rid varchar(2048),
rast raster
);
CREATE TABLE fun_shapes(rid serial PRIMARY KEY, fun_name text, rast raster);
INSERT INTO funky_shapes(rast)
WITH ref AS
(
SELECT ST_MakeEmptyRaster( 200, 200, 0, 200, 1, -1, 0, 0) AS rast
)
SELECT ST_Union(rast)
FROM
(
SELECT ST_AsRaster( ST_Rotate(ST_Buffer(ST_GeomFromText('LINESTRING(0 2,50 50,150 150,125 50)'),i*2),
pi() * i * 0.125, ST_Point(50,50)),ref.rast, '8BUI'::text, i * 5 ) AS rast
FROM ref CROSS JOIN generate_series(1, 10, 3) AS i
)
AS shapes;
SELECT st_astext(
ST_AsRaster(
ST_Buffer(
ST_GeomFromText('LINESTRING(50 50,150 150,150 50)'), 10,'join=bevel'),
200,200,ARRAY['8BUI', '8BUI', '8BUI'], ARRAY[118,154,118], ARRAY[0,0,0])::geometry);
ST_ASTEXT(text) |
---------------------
POLYGON((40 157.07106|
7811865,160 157.0710|
67811865,160 40,40 4|
0,40 157.07106781186|
5)) |
总数目:1
SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
0, 0,
ARRAY['16BUI'],
ARRAY[13],
ARRAY[0]
) FROM raster_asraster_geom;
ST_ASRASTER(RASTER) |
总数目:0
INSERT INTO fun_shapes(fun_name, rast)
VALUES ('ref', ST_AsRaster(ST_MakeEnvelope(235229, 899970, 237229, 901930,26986),200::int,200::int,'8BUI'::text,0.0,0.0));
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
2.7, (SELECT ST_AsRaster(
geom,
100, 100,
ARRAY['8BUI'],
ARRAY[255],
ARRAY[0],
-179000, 119000
) FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
3.6, (SELECT ST_AsRaster(
geom,
100, 100,
'8BUI',
255,
0,
NULL, NULL,
-5, 10
) FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
4.10, (SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
-100, 100,
ARRAY['16BUI'],
ARRAY[13],
ARRAY[0]
)
FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
4.11, (SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
-100, 100,
'16BUI',
13,
0
)
FROM raster_asraster_geom)
);
ST_AsRaster¶
ST_AsRaster — 返回一个栅格,其中在给定的索引位置添加了给定类型的新带和给定的初始值。
参数¶
geom
geometry 类型
ref
raster 类型
pixeltype
text[] 类型
value
float8[] 类型
nodataval
float8[] 类型
touched
boolean 类型,默认值 false
返回值¶
返回一个栅格,其中在给定的索引位置添加了给定类型的新带和给定的初始值。
示例¶
drop table funky_shapes;
drop table fun_shapes;
drop table raster_asraster_geom;
drop table raster_asraster_dst;
CREATE TABLE funky_shapes(rast raster);
CREATE TABLE raster_asraster_geom (
geom geometry
);
CREATE TABLE raster_asraster_dst (
rid varchar(2048),
rast raster
);
CREATE TABLE fun_shapes(rid serial PRIMARY KEY, fun_name text, rast raster);
INSERT INTO funky_shapes(rast)
WITH ref AS
(
SELECT ST_MakeEmptyRaster( 200, 200, 0, 200, 1, -1, 0, 0) AS rast
)
SELECT ST_Union(rast)
FROM
(
SELECT ST_AsRaster( ST_Rotate(ST_Buffer(ST_GeomFromText('LINESTRING(0 2,50 50,150 150,125 50)'),i*2),
pi() * i * 0.125, ST_Point(50,50)),ref.rast, '8BUI'::text, i * 5 ) AS rast
FROM ref CROSS JOIN generate_series(1, 10, 3) AS i
)
AS shapes;
SELECT st_astext(
ST_AsRaster(
ST_Buffer(
ST_GeomFromText('LINESTRING(50 50,150 150,150 50)'), 10,'join=bevel'),
200,200,ARRAY['8BUI', '8BUI', '8BUI'], ARRAY[118,154,118], ARRAY[0,0,0])::geometry);
ST_ASTEXT(text) |
---------------------
POLYGON((40 157.07106|
7811865,160 157.0710|
67811865,160 40,40 4|
0,40 157.07106781186|
5)) |
总数目:1
SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
0, 0,
ARRAY['16BUI'],
ARRAY[13],
ARRAY[0]
) FROM raster_asraster_geom;
ST_ASRASTER(RASTER) |
总数目:0
INSERT INTO fun_shapes(fun_name, rast)
VALUES ('ref', ST_AsRaster(ST_MakeEnvelope(235229, 899970, 237229, 901930,26986),200::int,200::int,'8BUI'::text,0.0,0.0));
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
2.7, (SELECT ST_AsRaster(
geom,
100, 100,
ARRAY['8BUI'],
ARRAY[255],
ARRAY[0],
-179000, 119000
) FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
3.6, (SELECT ST_AsRaster(
geom,
100, 100,
'8BUI',
255,
0,
NULL, NULL,
-5, 10
) FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
4.10, (SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
-100, 100,
ARRAY['16BUI'],
ARRAY[13],
ARRAY[0]
)
FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
4.11, (SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
-100, 100,
'16BUI',
13,
0
)
FROM raster_asraster_geom)
);
ST_AsRaster¶
ST_AsRaster — 返回一个栅格,其中在给定的索引位置添加了给定类型的新带和给定的初始值。
参数¶
geom
geometry 类型
scalex
float8 类型
scaley
float8 类型
gridx
float8 类型
gridy
float8 类型
pixeltype
text 类型
value
float8 类型,默认值1
nodataval
float8 类型,默认值0
skewx
float8 类型
skewy
float8 类型
touched
boolean 类型,默认值 false
返回值¶
返回一个栅格,其中在给定的索引位置添加了给定类型的新带和给定的初始值。
示例¶
drop table funky_shapes;
drop table fun_shapes;
drop table raster_asraster_geom;
drop table raster_asraster_dst;
CREATE TABLE funky_shapes(rast raster);
CREATE TABLE raster_asraster_geom (
geom geometry
);
CREATE TABLE raster_asraster_dst (
rid varchar(2048),
rast raster
);
CREATE TABLE fun_shapes(rid serial PRIMARY KEY, fun_name text, rast raster);
INSERT INTO funky_shapes(rast)
WITH ref AS
(
SELECT ST_MakeEmptyRaster( 200, 200, 0, 200, 1, -1, 0, 0) AS rast
)
SELECT ST_Union(rast)
FROM
(
SELECT ST_AsRaster( ST_Rotate(ST_Buffer(ST_GeomFromText('LINESTRING(0 2,50 50,150 150,125 50)'),i*2),
pi() * i * 0.125, ST_Point(50,50)),ref.rast, '8BUI'::text, i * 5 ) AS rast
FROM ref CROSS JOIN generate_series(1, 10, 3) AS i
)
AS shapes;
SELECT st_astext(
ST_AsRaster(
ST_Buffer(
ST_GeomFromText('LINESTRING(50 50,150 150,150 50)'), 10,'join=bevel'),
200,200,ARRAY['8BUI', '8BUI', '8BUI'], ARRAY[118,154,118], ARRAY[0,0,0])::geometry);
ST_ASTEXT(text) |
---------------------
POLYGON((40 157.07106|
7811865,160 157.0710|
67811865,160 40,40 4|
0,40 157.07106781186|
5)) |
总数目:1
SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
0, 0,
ARRAY['16BUI'],
ARRAY[13],
ARRAY[0]
) FROM raster_asraster_geom;
ST_ASRASTER(RASTER) |
总数目:0
INSERT INTO fun_shapes(fun_name, rast)
VALUES ('ref', ST_AsRaster(ST_MakeEnvelope(235229, 899970, 237229, 901930,26986),200::int,200::int,'8BUI'::text,0.0,0.0));
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
2.7, (SELECT ST_AsRaster(
geom,
100, 100,
ARRAY['8BUI'],
ARRAY[255],
ARRAY[0],
-179000, 119000
) FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
3.6, (SELECT ST_AsRaster(
geom,
100, 100,
'8BUI',
255,
0,
NULL, NULL,
-5, 10
) FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
4.10, (SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
-100, 100,
ARRAY['16BUI'],
ARRAY[13],
ARRAY[0]
)
FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
4.11, (SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
-100, 100,
'16BUI',
13,
0
)
FROM raster_asraster_geom)
);
ST_AsRaster¶
ST_AsRaster — 返回一个栅格,其中在给定的索引位置添加了给定类型的新带和给定的初始值。
参数¶
geom
geometry 类型
scalex
float8 类型
scaley
float8 类型
gridx
float8 类型
gridy
float8 类型
pixeltype
text[] 类型
value
float8[] 类型
nodataval
float8[] 类型
skewx
float8 类型
skewy
float8 类型
touched
boolean 类型,默认值 false
返回值¶
返回一个栅格,其中在给定的索引位置添加了给定类型的新带和给定的初始值。
示例¶
drop table funky_shapes;
drop table fun_shapes;
drop table raster_asraster_geom;
drop table raster_asraster_dst;
CREATE TABLE funky_shapes(rast raster);
CREATE TABLE raster_asraster_geom (
geom geometry
);
CREATE TABLE raster_asraster_dst (
rid varchar(2048),
rast raster
);
CREATE TABLE fun_shapes(rid serial PRIMARY KEY, fun_name text, rast raster);
INSERT INTO funky_shapes(rast)
WITH ref AS
(
SELECT ST_MakeEmptyRaster( 200, 200, 0, 200, 1, -1, 0, 0) AS rast
)
SELECT ST_Union(rast)
FROM
(
SELECT ST_AsRaster( ST_Rotate(ST_Buffer(ST_GeomFromText('LINESTRING(0 2,50 50,150 150,125 50)'),i*2),
pi() * i * 0.125, ST_Point(50,50)),ref.rast, '8BUI'::text, i * 5 ) AS rast
FROM ref CROSS JOIN generate_series(1, 10, 3) AS i
)
AS shapes;
SELECT st_astext(
ST_AsRaster(
ST_Buffer(
ST_GeomFromText('LINESTRING(50 50,150 150,150 50)'), 10,'join=bevel'),
200,200,ARRAY['8BUI', '8BUI', '8BUI'], ARRAY[118,154,118], ARRAY[0,0,0])::geometry);
ST_ASTEXT(text) |
---------------------
POLYGON((40 157.07106|
7811865,160 157.0710|
67811865,160 40,40 4|
0,40 157.07106781186|
5)) |
总数目:1
SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
0, 0,
ARRAY['16BUI'],
ARRAY[13],
ARRAY[0]
) FROM raster_asraster_geom;
ST_ASRASTER(RASTER) |
总数目:0
INSERT INTO fun_shapes(fun_name, rast)
VALUES ('ref', ST_AsRaster(ST_MakeEnvelope(235229, 899970, 237229, 901930,26986),200::int,200::int,'8BUI'::text,0.0,0.0));
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
2.7, (SELECT ST_AsRaster(
geom,
100, 100,
ARRAY['8BUI'],
ARRAY[255],
ARRAY[0],
-179000, 119000
) FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
3.6, (SELECT ST_AsRaster(
geom,
100, 100,
'8BUI',
255,
0,
NULL, NULL,
-5, 10
) FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
4.10, (SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
-100, 100,
ARRAY['16BUI'],
ARRAY[13],
ARRAY[0]
)
FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
4.11, (SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
-100, 100,
'16BUI',
13,
0
)
FROM raster_asraster_geom)
);
ST_AsRaster¶
ST_AsRaster — 返回一个栅格,其中在给定的索引位置添加了给定类型的新带和给定的初始值。
参数¶
geom
geometry 类型
scalex
float8 类型
scaley
float8 类型
pixeltype
text 类型
value
float8 类型,默认值1
nodataval
float8 类型,默认值0
upperleftx
float8 类型
upperlefty
float8 类型
skewx
float8 类型
skewy
float8 类型
touched
boolean 类型,默认值 false
返回值¶
返回一个栅格,其中在给定的索引位置添加了给定类型的新带和给定的初始值。
示例¶
drop table funky_shapes;
drop table fun_shapes;
drop table raster_asraster_geom;
drop table raster_asraster_dst;
CREATE TABLE funky_shapes(rast raster);
CREATE TABLE raster_asraster_geom (
geom geometry
);
CREATE TABLE raster_asraster_dst (
rid varchar(2048),
rast raster
);
CREATE TABLE fun_shapes(rid serial PRIMARY KEY, fun_name text, rast raster);
INSERT INTO funky_shapes(rast)
WITH ref AS
(
SELECT ST_MakeEmptyRaster( 200, 200, 0, 200, 1, -1, 0, 0) AS rast
)
SELECT ST_Union(rast)
FROM
(
SELECT ST_AsRaster( ST_Rotate(ST_Buffer(ST_GeomFromText('LINESTRING(0 2,50 50,150 150,125 50)'),i*2),
pi() * i * 0.125, ST_Point(50,50)),ref.rast, '8BUI'::text, i * 5 ) AS rast
FROM ref CROSS JOIN generate_series(1, 10, 3) AS i
)
AS shapes;
SELECT st_astext(
ST_AsRaster(
ST_Buffer(
ST_GeomFromText('LINESTRING(50 50,150 150,150 50)'), 10,'join=bevel'),
200,200,ARRAY['8BUI', '8BUI', '8BUI'], ARRAY[118,154,118], ARRAY[0,0,0])::geometry);
ST_ASTEXT(text) |
---------------------
POLYGON((40 157.07106|
7811865,160 157.0710|
67811865,160 40,40 4|
0,40 157.07106781186|
5)) |
总数目:1
SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
0, 0,
ARRAY['16BUI'],
ARRAY[13],
ARRAY[0]
) FROM raster_asraster_geom;
ST_ASRASTER(RASTER) |
总数目:0
INSERT INTO fun_shapes(fun_name, rast)
VALUES ('ref', ST_AsRaster(ST_MakeEnvelope(235229, 899970, 237229, 901930,26986),200::int,200::int,'8BUI'::text,0.0,0.0));
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
2.7, (SELECT ST_AsRaster(
geom,
100, 100,
ARRAY['8BUI'],
ARRAY[255],
ARRAY[0],
-179000, 119000
) FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
3.6, (SELECT ST_AsRaster(
geom,
100, 100,
'8BUI',
255,
0,
NULL, NULL,
-5, 10
) FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
4.10, (SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
-100, 100,
ARRAY['16BUI'],
ARRAY[13],
ARRAY[0]
)
FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
4.11, (SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
-100, 100,
'16BUI',
13,
0
)
FROM raster_asraster_geom)
);
ST_AsRaster¶
ST_AsRaster — 返回一个栅格,其中在给定的索引位置添加了给定类型的新带和给定的初始值。
参数¶
geom
geometry 类型
scalex
float8 类型
scaley
float8 类型
pixeltype
text[] 类型
value
float8[] 类型
nodataval
float8[] 类型
upperleftx
float8 类型
upperlefty
float8 类型
skewx
float8 类型
skewy
float8 类型
touched
boolean 类型,默认值 false
返回值¶
返回一个栅格,其中在给定的索引位置添加了给定类型的新带和给定的初始值。
示例¶
drop table funky_shapes;
drop table fun_shapes;
drop table raster_asraster_geom;
drop table raster_asraster_dst;
CREATE TABLE funky_shapes(rast raster);
CREATE TABLE raster_asraster_geom (
geom geometry
);
CREATE TABLE raster_asraster_dst (
rid varchar(2048),
rast raster
);
CREATE TABLE fun_shapes(rid serial PRIMARY KEY, fun_name text, rast raster);
INSERT INTO funky_shapes(rast)
WITH ref AS
(
SELECT ST_MakeEmptyRaster( 200, 200, 0, 200, 1, -1, 0, 0) AS rast
)
SELECT ST_Union(rast)
FROM
(
SELECT ST_AsRaster( ST_Rotate(ST_Buffer(ST_GeomFromText('LINESTRING(0 2,50 50,150 150,125 50)'),i*2),
pi() * i * 0.125, ST_Point(50,50)),ref.rast, '8BUI'::text, i * 5 ) AS rast
FROM ref CROSS JOIN generate_series(1, 10, 3) AS i
)
AS shapes;
SELECT st_astext(
ST_AsRaster(
ST_Buffer(
ST_GeomFromText('LINESTRING(50 50,150 150,150 50)'), 10,'join=bevel'),
200,200,ARRAY['8BUI', '8BUI', '8BUI'], ARRAY[118,154,118], ARRAY[0,0,0])::geometry);
ST_ASTEXT(text) |
---------------------
POLYGON((40 157.07106|
7811865,160 157.0710|
67811865,160 40,40 4|
0,40 157.07106781186|
5)) |
总数目:1
SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
0, 0,
ARRAY['16BUI'],
ARRAY[13],
ARRAY[0]
) FROM raster_asraster_geom;
ST_ASRASTER(RASTER) |
总数目:0
INSERT INTO fun_shapes(fun_name, rast)
VALUES ('ref', ST_AsRaster(ST_MakeEnvelope(235229, 899970, 237229, 901930,26986),200::int,200::int,'8BUI'::text,0.0,0.0));
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
2.7, (SELECT ST_AsRaster(
geom,
100, 100,
ARRAY['8BUI'],
ARRAY[255],
ARRAY[0],
-179000, 119000
) FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
3.6, (SELECT ST_AsRaster(
geom,
100, 100,
'8BUI',
255,
0,
NULL, NULL,
-5, 10
) FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
4.10, (SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
-100, 100,
ARRAY['16BUI'],
ARRAY[13],
ARRAY[0]
)
FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
4.11, (SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
-100, 100,
'16BUI',
13,
0
)
FROM raster_asraster_geom)
);
ST_AsRaster¶
ST_AsRaster — 返回一个栅格,其中在给定的索引位置添加了给定类型的新带和给定的初始值。
参数¶
geom
geometry 类型
width
int 类型
height
int 类型
gridx
float8 类型
gridy
float8 类型
pixeltype
text 类型
value
float8 类型,默认值1
nodataval
float8 类型,默认值0
skewx
float8 类型
skewy
float8 类型
touched
boolean 类型,默认值 false
返回值¶
返回一个栅格,其中在给定的索引位置添加了给定类型的新带和给定的初始值。
示例¶
drop table funky_shapes;
drop table fun_shapes;
drop table raster_asraster_geom;
drop table raster_asraster_dst;
CREATE TABLE funky_shapes(rast raster);
CREATE TABLE raster_asraster_geom (
geom geometry
);
CREATE TABLE raster_asraster_dst (
rid varchar(2048),
rast raster
);
CREATE TABLE fun_shapes(rid serial PRIMARY KEY, fun_name text, rast raster);
INSERT INTO funky_shapes(rast)
WITH ref AS
(
SELECT ST_MakeEmptyRaster( 200, 200, 0, 200, 1, -1, 0, 0) AS rast
)
SELECT ST_Union(rast)
FROM
(
SELECT ST_AsRaster( ST_Rotate(ST_Buffer(ST_GeomFromText('LINESTRING(0 2,50 50,150 150,125 50)'),i*2),
pi() * i * 0.125, ST_Point(50,50)),ref.rast, '8BUI'::text, i * 5 ) AS rast
FROM ref CROSS JOIN generate_series(1, 10, 3) AS i
)
AS shapes;
SELECT st_astext(
ST_AsRaster(
ST_Buffer(
ST_GeomFromText('LINESTRING(50 50,150 150,150 50)'), 10,'join=bevel'),
200,200,ARRAY['8BUI', '8BUI', '8BUI'], ARRAY[118,154,118], ARRAY[0,0,0])::geometry);
ST_ASTEXT(text) |
---------------------
POLYGON((40 157.07106|
7811865,160 157.0710|
67811865,160 40,40 4|
0,40 157.07106781186|
5)) |
总数目:1
SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
0, 0,
ARRAY['16BUI'],
ARRAY[13],
ARRAY[0]
) FROM raster_asraster_geom;
ST_ASRASTER(RASTER) |
总数目:0
INSERT INTO fun_shapes(fun_name, rast)
VALUES ('ref', ST_AsRaster(ST_MakeEnvelope(235229, 899970, 237229, 901930,26986),200::int,200::int,'8BUI'::text,0.0,0.0));
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
2.7, (SELECT ST_AsRaster(
geom,
100, 100,
ARRAY['8BUI'],
ARRAY[255],
ARRAY[0],
-179000, 119000
) FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
3.6, (SELECT ST_AsRaster(
geom,
100, 100,
'8BUI',
255,
0,
NULL, NULL,
-5, 10
) FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
4.10, (SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
-100, 100,
ARRAY['16BUI'],
ARRAY[13],
ARRAY[0]
)
FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
4.11, (SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
-100, 100,
'16BUI',
13,
0
)
FROM raster_asraster_geom)
);
ST_AsRaster¶
ST_AsRaster — 返回一个栅格,其中在给定的索引位置添加了给定类型的新带和给定的初始值。
参数¶
geom
geometry 类型
width
int 类型
height
int 类型
gridx
float8 类型
gridy
float8 类型
pixeltype
text[] 类型
value
float8[] 类型
nodataval
float8[] 类型
skewx
float8 类型
skewy
float8 类型
touched
boolean 类型,默认值 false
返回值¶
返回一个栅格,其中在给定的索引位置添加了给定类型的新带和给定的初始值。
示例¶
drop table funky_shapes;
drop table fun_shapes;
drop table raster_asraster_geom;
drop table raster_asraster_dst;
CREATE TABLE funky_shapes(rast raster);
CREATE TABLE raster_asraster_geom (
geom geometry
);
CREATE TABLE raster_asraster_dst (
rid varchar(2048),
rast raster
);
CREATE TABLE fun_shapes(rid serial PRIMARY KEY, fun_name text, rast raster);
INSERT INTO funky_shapes(rast)
WITH ref AS
(
SELECT ST_MakeEmptyRaster( 200, 200, 0, 200, 1, -1, 0, 0) AS rast
)
SELECT ST_Union(rast)
FROM
(
SELECT ST_AsRaster( ST_Rotate(ST_Buffer(ST_GeomFromText('LINESTRING(0 2,50 50,150 150,125 50)'),i*2),
pi() * i * 0.125, ST_Point(50,50)),ref.rast, '8BUI'::text, i * 5 ) AS rast
FROM ref CROSS JOIN generate_series(1, 10, 3) AS i
)
AS shapes;
SELECT st_astext(
ST_AsRaster(
ST_Buffer(
ST_GeomFromText('LINESTRING(50 50,150 150,150 50)'), 10,'join=bevel'),
200,200,ARRAY['8BUI', '8BUI', '8BUI'], ARRAY[118,154,118], ARRAY[0,0,0])::geometry);
ST_ASTEXT(text) |
---------------------
POLYGON((40 157.07106|
7811865,160 157.0710|
67811865,160 40,40 4|
0,40 157.07106781186|
5)) |
总数目:1
SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
0, 0,
ARRAY['16BUI'],
ARRAY[13],
ARRAY[0]
) FROM raster_asraster_geom;
ST_ASRASTER(RASTER) |
总数目:0
INSERT INTO fun_shapes(fun_name, rast)
VALUES ('ref', ST_AsRaster(ST_MakeEnvelope(235229, 899970, 237229, 901930,26986),200::int,200::int,'8BUI'::text,0.0,0.0));
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
2.7, (SELECT ST_AsRaster(
geom,
100, 100,
ARRAY['8BUI'],
ARRAY[255],
ARRAY[0],
-179000, 119000
) FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
3.6, (SELECT ST_AsRaster(
geom,
100, 100,
'8BUI',
255,
0,
NULL, NULL,
-5, 10
) FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
4.10, (SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
-100, 100,
ARRAY['16BUI'],
ARRAY[13],
ARRAY[0]
)
FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
4.11, (SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
-100, 100,
'16BUI',
13,
0
)
FROM raster_asraster_geom)
);
ST_AsRaster¶
ST_AsRaster — 返回一个栅格,其中在给定的索引位置添加了给定类型的新带和给定的初始值。
参数¶
geom
geometry 类型
width
int 类型
height
int 类型
pixeltype
text 类型
value
float8 类型,默认值1
nodataval
float8 类型,默认值0
upperleftx
float8 类型
upperlefty
float8 类型
skewx
float8 类型
skewy
float8 类型
touched
boolean 类型,默认值 false
返回值¶
返回一个栅格,其中在给定的索引位置添加了给定类型的新带和给定的初始值。
示例¶
drop table funky_shapes;
drop table fun_shapes;
drop table raster_asraster_geom;
drop table raster_asraster_dst;
CREATE TABLE funky_shapes(rast raster);
CREATE TABLE raster_asraster_geom (
geom geometry
);
CREATE TABLE raster_asraster_dst (
rid varchar(2048),
rast raster
);
CREATE TABLE fun_shapes(rid serial PRIMARY KEY, fun_name text, rast raster);
INSERT INTO funky_shapes(rast)
WITH ref AS
(
SELECT ST_MakeEmptyRaster( 200, 200, 0, 200, 1, -1, 0, 0) AS rast
)
SELECT ST_Union(rast)
FROM
(
SELECT ST_AsRaster( ST_Rotate(ST_Buffer(ST_GeomFromText('LINESTRING(0 2,50 50,150 150,125 50)'),i*2),
pi() * i * 0.125, ST_Point(50,50)),ref.rast, '8BUI'::text, i * 5 ) AS rast
FROM ref CROSS JOIN generate_series(1, 10, 3) AS i
)
AS shapes;
SELECT st_astext(
ST_AsRaster(
ST_Buffer(
ST_GeomFromText('LINESTRING(50 50,150 150,150 50)'), 10,'join=bevel'),
200,200,ARRAY['8BUI', '8BUI', '8BUI'], ARRAY[118,154,118], ARRAY[0,0,0])::geometry);
ST_ASTEXT(text) |
---------------------
POLYGON((40 157.07106|
7811865,160 157.0710|
67811865,160 40,40 4|
0,40 157.07106781186|
5)) |
总数目:1
SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
0, 0,
ARRAY['16BUI'],
ARRAY[13],
ARRAY[0]
) FROM raster_asraster_geom;
ST_ASRASTER(RASTER) |
总数目:0
INSERT INTO fun_shapes(fun_name, rast)
VALUES ('ref', ST_AsRaster(ST_MakeEnvelope(235229, 899970, 237229, 901930,26986),200::int,200::int,'8BUI'::text,0.0,0.0));
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
2.7, (SELECT ST_AsRaster(
geom,
100, 100,
ARRAY['8BUI'],
ARRAY[255],
ARRAY[0],
-179000, 119000
) FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
3.6, (SELECT ST_AsRaster(
geom,
100, 100,
'8BUI',
255,
0,
NULL, NULL,
-5, 10
) FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
4.10, (SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
-100, 100,
ARRAY['16BUI'],
ARRAY[13],
ARRAY[0]
)
FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
4.11, (SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
-100, 100,
'16BUI',
13,
0
)
FROM raster_asraster_geom)
);
ST_AsRaster¶
ST_AsRaster — 返回一个栅格,其中在给定的索引位置添加了给定类型的新带和给定的初始值。
参数¶
geom
geometry 类型
width
int 类型
height
int 类型
pixeltypearr
text[] 类型
valuearr
float8[] 类型
nodatavalarr
float8[] 类型
upperleftx
float8 类型
upperlefty
float8 类型
skewx
float8 类型
skewy
float8 类型
touched
boolean 类型,默认值 false
返回值¶
返回一个栅格,其中在给定的索引位置添加了给定类型的新带和给定的初始值。
示例¶
drop table funky_shapes;
drop table fun_shapes;
drop table raster_asraster_geom;
drop table raster_asraster_dst;
CREATE TABLE funky_shapes(rast raster);
CREATE TABLE raster_asraster_geom (
geom geometry
);
CREATE TABLE raster_asraster_dst (
rid varchar(2048),
rast raster
);
CREATE TABLE fun_shapes(rid serial PRIMARY KEY, fun_name text, rast raster);
INSERT INTO funky_shapes(rast)
WITH ref AS
(
SELECT ST_MakeEmptyRaster( 200, 200, 0, 200, 1, -1, 0, 0) AS rast
)
SELECT ST_Union(rast)
FROM
(
SELECT ST_AsRaster( ST_Rotate(ST_Buffer(ST_GeomFromText('LINESTRING(0 2,50 50,150 150,125 50)'),i*2),
pi() * i * 0.125, ST_Point(50,50)),ref.rast, '8BUI'::text, i * 5 ) AS rast
FROM ref CROSS JOIN generate_series(1, 10, 3) AS i
)
AS shapes;
SELECT st_astext(
ST_AsRaster(
ST_Buffer(
ST_GeomFromText('LINESTRING(50 50,150 150,150 50)'), 10,'join=bevel'),
200,200,ARRAY['8BUI', '8BUI', '8BUI'], ARRAY[118,154,118], ARRAY[0,0,0])::geometry);
ST_ASTEXT(text) |
---------------------
POLYGON((40 157.07106|
7811865,160 157.0710|
67811865,160 40,40 4|
0,40 157.07106781186|
5)) |
总数目:1
SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
0, 0,
ARRAY['16BUI'],
ARRAY[13],
ARRAY[0]
) FROM raster_asraster_geom;
ST_ASRASTER(RASTER) |
总数目:0
INSERT INTO fun_shapes(fun_name, rast)
VALUES ('ref', ST_AsRaster(ST_MakeEnvelope(235229, 899970, 237229, 901930,26986),200::int,200::int,'8BUI'::text,0.0,0.0));
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
2.7, (SELECT ST_AsRaster(
geom,
100, 100,
ARRAY['8BUI'],
ARRAY[255],
ARRAY[0],
-179000, 119000
) FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
3.6, (SELECT ST_AsRaster(
geom,
100, 100,
'8BUI',
255,
0,
NULL, NULL,
-5, 10
) FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
4.10, (SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
-100, 100,
ARRAY['16BUI'],
ARRAY[13],
ARRAY[0]
)
FROM raster_asraster_geom)
);
INSERT INTO raster_asraster_dst (rid, rast) VALUES (
4.11, (SELECT ST_AsRaster(
geom,
1000::float8, -1000::float8,
-100, 100,
'16BUI',
13,
0
)
FROM raster_asraster_geom)
);
ST_Band¶
ST_Band — 将现有栅格的一个或多个波段作为新栅格返回。
参数¶
rast
raster 类型
nbandsarr
int[] 类型,默认值:ARRAY[1]
nband
int 类型
nbands
text 类型
delimiter
char 类型,默认值','
返回值¶
返回一个栅格。
示例¶
SELECT ST_Value(ST_Band(ST_AddBand(ST_MakeEmptyRaster(200, 200, 10, 10, 2, 2, 0, 0, 0), 1, '64BF', 123.4567, NULL), ARRAY[1]), 3, 3);
ST_VALUE(double precision) |
--------------------------------
123.4567 |
总数目:1
SELECT ST_Value(ST_Band(ST_AddBand(ST_MakeEmptyRaster(200, 200, 10, 10, 2, 2, 0, 0, 0), 1, '64BF', 1234.567, NULL), 1), 3, 3);
ST_VALUE(double precision) |
--------------------------------
1234.567 |
总数目:1
SELECT ST_Value(
ST_Band(
ST_AddBand(
ST_AddBand(
ST_AddBand(
ST_MakeEmptyRaster(200, 200, 10, 10, 2, 2, 0, 0,0)
, 1, '64BF', 1234.5678, NULL
)
, '64BF', 987.654321, NULL
)
, '64BF', 9876.54321, NULL
),
'1.*.2', '.*.'
),
2, 3, 3);
ST_VALUE(double precision) |
--------------------------------
987.654321 |
总数目:1
ST_MakeEmptyCoverage¶
ST_MakeEmptyCoverage — 使用空栅格平铺网格覆盖地理参考区域。
参数¶
tilewidth
int 类型
tileheight
int 类型
width
int 类型
height
int 类型
upperleftx
float8 类型
upperlefty
float8 类型
scalex
float8 类型
scaley
float8 类型
skewx
float8 类型
skewy
float8 类型
srid
int 类型,默认值unknow
返回值¶
返回一个栅格。
示例¶
SELECT (ST_MetaData(tile)) FROM ST_MakeEmptyCoverage(1, 1, 4, 4, 22, 33, (55 - 22)/(4)::float, (33 - 77)/(4)::float, 0., 0., 4326) tile;
ST_METADATA(METADATA) |
---------------------------
(22,33,1,1,8.25,-11,0,0,432|
6,0) |
---------------------------
(30.25,33,1,1,8.25,-11,0,0,|
4326,0) |
---------------------------
(38.5,33,1,1,8.25,-11,0,0,4|
326,0) |
---------------------------
(46.75,33,1,1,8.25,-11,0,0,|
4326,0) |
---------------------------
(22,22,1,1,8.25,-11,0,0,432|
6,0) |
---------------------------
(30.25,22,1,1,8.25,-11,0,0,|
4326,0) |
---------------------------
(38.5,22,1,1,8.25,-11,0,0,4|
326,0) |
---------------------------
(46.75,22,1,1,8.25,-11,0,0,|
4326,0) |
---------------------------
(22,11,1,1,8.25,-11,0,0,432|
6,0) |
---------------------------
(30.25,11,1,1,8.25,-11,0,0,|
4326,0) |
---------------------------
(38.5,11,1,1,8.25,-11,0,0,4|
326,0) |
---------------------------
(46.75,11,1,1,8.25,-11,0,0,|
4326,0) |
---------------------------
(22,0,1,1,8.25,-11,0,0,4326|
,0) |
---------------------------
(30.25,0,1,1,8.25,-11,0,0,4|
326,0) |
---------------------------
(38.5,0,1,1,8.25,-11,0,0,43|
26,0) |
---------------------------
(46.75,0,1,1,8.25,-11,0,0,4|
326,0) |
总数目:16
ST_MakeEmptyRaster¶
ST_MakeEmptyRaster — 返回给定尺寸(宽度)的空栅格(没有波段 & 高度)、左上角X和Y、像素大小和旋转(scalex、scaleY、skewx & Skewy)和参考系(SRID)。如果传入栅格,则返回具有相同大小、对齐和SRID的新栅格。如果省略sRID,则空间参考设置为未知(0)。
参数¶
rast
raster 类型
width
int 类型
height
int 类型
upperleftx
float8 类型
upperlefty
float8 类型
pixelsize
float8 类型
返回值¶
返回一个栅格。
示例¶
SELECT 4, ST_MakeEmptyRaster(rast) FROM dummy_rast;
?COLUMN?(int) |ST_MAKEEMPTYRASTER(RASTER) |
---------------------------------------------------
4 |01000000000000000000000040000000|
|0000000840000000000000E03F00000|
|0000000E03F00000000000000000000|
|000000000000000000000A001400 |
---------------------------------------------------
4 |01000000009A9999999999A93F9A9999|
|999999A9BF000000E02B274A4100000|
|0007719564100000000000000000000|
|0000000000000000000005000500 |
总数目:2
select ST_MakeEmptyRaster( 100, 100, 0.0005, 0.0005, 1, 1, 0, 0, 4326);
ST_MAKEEMPTYRASTER(RASTER) |
--------------------------------
0100000000000000000000F03F000000|
000000F03FFCA9F1D24D62403FFCA9F|
1D24D62403F00000000000000000000|
000000000000E610000064006400 |
总数目:1
SELECT (ST_DumpValues(ST_AddBand(ST_MakeEmptyRaster(0, 0, 0, 0, 1), ARRAY[ROW(NULL, '8BUI', 255, 0),ROW(NULL, '16BUI', 1, 2)]::addbandarg[]))).*;
NBAND(int) |VALARRAY(_FLOAT8) |
---------------------------------------
1 |{} |
---------------------------------------
2 |{} |
总数目:2
ST_MakeEmptyRaster¶
ST_MakeEmptyRaster — 返回给定尺寸(宽度)的空栅格(没有波段 & 高度)、左上角X和Y、像素大小和旋转(scalex、scaleY、skewx & Skewy)和参考系(SRID)。如果传入栅格,则返回具有相同大小、对齐和SRID的新栅格。如果省略sRID,则空间参考设置为未知(0)。
参数¶
width
int 类型
height
int 类型
upperleftx
float8 类型
upperlefty
float8 类型
scalex
float8 类型
scaley
float8 类型
skewx
float8 类型
skewy
float8 类型
srid
int 类型,默认值unknow
返回值¶
返回一个栅格。
示例¶
SELECT 4, ST_MakeEmptyRaster(rast) FROM dummy_rast;
?COLUMN?(int) |ST_MAKEEMPTYRASTER(RASTER) |
---------------------------------------------------
4 |01000000000000000000000040000000|
|0000000840000000000000E03F00000|
|0000000E03F00000000000000000000|
|000000000000000000000A001400 |
---------------------------------------------------
4 |01000000009A9999999999A93F9A9999|
|999999A9BF000000E02B274A4100000|
|0007719564100000000000000000000|
|0000000000000000000005000500 |
总数目:2
select ST_MakeEmptyRaster( 100, 100, 0.0005, 0.0005, 1, 1, 0, 0, 4326);
ST_MAKEEMPTYRASTER(RASTER) |
--------------------------------
0100000000000000000000F03F000000|
000000F03FFCA9F1D24D62403FFCA9F|
1D24D62403F00000000000000000000|
000000000000E610000064006400 |
总数目:1
SELECT (ST_DumpValues(ST_AddBand(ST_MakeEmptyRaster(0, 0, 0, 0, 1), ARRAY[ROW(NULL, '8BUI', 255, 0),ROW(NULL, '16BUI', 1, 2)]::addbandarg[]))).*;
NBAND(int) |VALARRAY(_FLOAT8) |
---------------------------------------
1 |{} |
---------------------------------------
2 |{} |
总数目:2
ST_Tile¶
ST_Tile — 根据输出栅格的所需尺寸,返回通过拆分输入栅格产生的一组栅格。
参数¶
rast
raster 类型
nband
int[] 类型
width
int 类型
height
int 类型
padwithnodata
boolean 类型,默认值 FALSE
nodataval
float8 类型,默认值 NULL
返回值¶
返回一个栅格。
示例¶
DROP TABLE raster_tile;
CREATE TABLE raster_tile AS
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
)
SELECT ST_Union(rast) AS rast FROM foo;
WITH foo AS (
SELECT ST_Tile(rast, 3, 3, TRUE) AS rast FROM raster_tile
)
SELECT
1, ST_DumpValues(rast)
FROM foo;
?COLUMN?(int) |ST_DUMPVALUES(DUMPVALUES) |
--------------------------------------------------
1 |(1,"{{1,1,1},{1,1,1},{1,1,1}}")|
--------------------------------------------------
1 |(2,"{{10,10,10},{10,10,10},{10,|
|10,10}}") |
--------------------------------------------------
1 |(1,"{{2,2,2},{2,2,2},{2,2,2}}")|
--------------------------------------------------
1 |(2,"{{20,20,20},{20,20,20},{20,|
|20,20}}") |
--------------------------------------------------
1 |(1,"{{3,3,3},{3,3,3},{3,3,3}}")|
--------------------------------------------------
1 |(2,"{{30,30,30},{30,30,30},{30,|
|30,30}}") |
--------------------------------------------------
1 |(1,"{{4,4,4},{4,4,4},{4,4,4}}")|
--------------------------------------------------
1 |(2,"{{40,40,40},{40,40,40},{40,|
|40,40}}") |
--------------------------------------------------
1 |(1,"{{5,5,5},{5,5,5},{5,5,5}}")|
--------------------------------------------------
1 |(2,"{{50,50,50},{50,50,50},{50,|
|50,50}}") |
--------------------------------------------------
1 |(1,"{{6,6,6},{6,6,6},{6,6,6}}")|
--------------------------------------------------
1 |(2,"{{60,60,60},{60,60,60},{60,|
|60,60}}") |
--------------------------------------------------
1 |(1,"{{7,7,7},{7,7,7},{7,7,7}}")|
--------------------------------------------------
1 |(2,"{{70,70,70},{70,70,70},{70,|
|70,70}}") |
--------------------------------------------------
1 |(1,"{{8,8,8},{8,8,8},{8,8,8}}")|
--------------------------------------------------
1 |(2,"{{80,80,80},{80,80,80},{80,|
|80,80}}") |
--------------------------------------------------
1 |(1,"{{9,9,9},{9,9,9},{9,9,9}}")|
--------------------------------------------------
1 |(2,"{{90,90,90},{90,90,90},{90,|
|90,90}}") |
总数目:18
WITH foo AS (
SELECT ST_Tile(rast, ARRAY[1], 3, 3, TRUE) AS rast FROM raster_tile
)
SELECT
2, ST_DumpValues(rast)
FROM foo;
?COLUMN?(int) |ST_DUMPVALUES(DUMPVALUES) |
--------------------------------------------------
2 |(1,"{{1,1,1},{1,1,1},{1,1,1}}")|
--------------------------------------------------
2 |(1,"{{2,2,2},{2,2,2},{2,2,2}}")|
--------------------------------------------------
2 |(1,"{{3,3,3},{3,3,3},{3,3,3}}")|
--------------------------------------------------
2 |(1,"{{4,4,4},{4,4,4},{4,4,4}}")|
--------------------------------------------------
2 |(1,"{{5,5,5},{5,5,5},{5,5,5}}")|
--------------------------------------------------
2 |(1,"{{6,6,6},{6,6,6},{6,6,6}}")|
--------------------------------------------------
2 |(1,"{{7,7,7},{7,7,7},{7,7,7}}")|
--------------------------------------------------
2 |(1,"{{8,8,8},{8,8,8},{8,8,8}}")|
--------------------------------------------------
2 |(1,"{{9,9,9},{9,9,9},{9,9,9}}")|
总数目:9
WITH foo AS (
SELECT ST_Tile(rast, ARRAY[2, 1], 3, 3, TRUE) AS rast FROM raster_tile
)
SELECT
3, ST_DumpValues(rast)
FROM foo;
?COLUMN?(int) |ST_DUMPVALUES(DUMPVALUES) |
--------------------------------------------------
3 |(1,"{{10,10,10},{10,10,10},{10,|
|10,10}}") |
--------------------------------------------------
3 |(2,"{{1,1,1},{1,1,1},{1,1,1}}")|
--------------------------------------------------
3 |(1,"{{20,20,20},{20,20,20},{20,|
|20,20}}") |
--------------------------------------------------
3 |(2,"{{2,2,2},{2,2,2},{2,2,2}}")|
--------------------------------------------------
3 |(1,"{{30,30,30},{30,30,30},{30,|
|30,30}}") |
--------------------------------------------------
3 |(2,"{{3,3,3},{3,3,3},{3,3,3}}")|
--------------------------------------------------
3 |(1,"{{40,40,40},{40,40,40},{40,|
|40,40}}") |
--------------------------------------------------
3 |(2,"{{4,4,4},{4,4,4},{4,4,4}}")|
--------------------------------------------------
3 |(1,"{{50,50,50},{50,50,50},{50,|
|50,50}}") |
--------------------------------------------------
3 |(2,"{{5,5,5},{5,5,5},{5,5,5}}")|
--------------------------------------------------
3 |(1,"{{60,60,60},{60,60,60},{60,|
|60,60}}") |
--------------------------------------------------
3 |(2,"{{6,6,6},{6,6,6},{6,6,6}}")|
--------------------------------------------------
3 |(1,"{{70,70,70},{70,70,70},{70,|
|70,70}}") |
--------------------------------------------------
3 |(2,"{{7,7,7},{7,7,7},{7,7,7}}")|
--------------------------------------------------
3 |(1,"{{80,80,80},{80,80,80},{80,|
|80,80}}") |
--------------------------------------------------
3 |(2,"{{8,8,8},{8,8,8},{8,8,8}}")|
--------------------------------------------------
3 |(1,"{{90,90,90},{90,90,90},{90,|
|90,90}}") |
--------------------------------------------------
3 |(2,"{{9,9,9},{9,9,9},{9,9,9}}")|
总数目:18
ST_Tile¶
ST_Tile — 根据输出栅格的所需尺寸,返回通过拆分输入栅格产生的一组栅格。
参数¶
rast
raster 类型
nband
int 类型
width
int 类型
height
int 类型
padwithnodata
boolean 类型,默认值 FALSE
nodataval
float8 类型,默认值 NULL
返回值¶
返回一个栅格。
示例¶
DROP TABLE raster_tile;
CREATE TABLE raster_tile AS
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
)
SELECT ST_Union(rast) AS rast FROM foo;
WITH foo AS (
SELECT ST_Tile(rast, 3, 3, TRUE) AS rast FROM raster_tile
)
SELECT
1, ST_DumpValues(rast)
FROM foo;
?COLUMN?(int) |ST_DUMPVALUES(DUMPVALUES) |
--------------------------------------------------
1 |(1,"{{1,1,1},{1,1,1},{1,1,1}}")|
--------------------------------------------------
1 |(2,"{{10,10,10},{10,10,10},{10,|
|10,10}}") |
--------------------------------------------------
1 |(1,"{{2,2,2},{2,2,2},{2,2,2}}")|
--------------------------------------------------
1 |(2,"{{20,20,20},{20,20,20},{20,|
|20,20}}") |
--------------------------------------------------
1 |(1,"{{3,3,3},{3,3,3},{3,3,3}}")|
--------------------------------------------------
1 |(2,"{{30,30,30},{30,30,30},{30,|
|30,30}}") |
--------------------------------------------------
1 |(1,"{{4,4,4},{4,4,4},{4,4,4}}")|
--------------------------------------------------
1 |(2,"{{40,40,40},{40,40,40},{40,|
|40,40}}") |
--------------------------------------------------
1 |(1,"{{5,5,5},{5,5,5},{5,5,5}}")|
--------------------------------------------------
1 |(2,"{{50,50,50},{50,50,50},{50,|
|50,50}}") |
--------------------------------------------------
1 |(1,"{{6,6,6},{6,6,6},{6,6,6}}")|
--------------------------------------------------
1 |(2,"{{60,60,60},{60,60,60},{60,|
|60,60}}") |
--------------------------------------------------
1 |(1,"{{7,7,7},{7,7,7},{7,7,7}}")|
--------------------------------------------------
1 |(2,"{{70,70,70},{70,70,70},{70,|
|70,70}}") |
--------------------------------------------------
1 |(1,"{{8,8,8},{8,8,8},{8,8,8}}")|
--------------------------------------------------
1 |(2,"{{80,80,80},{80,80,80},{80,|
|80,80}}") |
--------------------------------------------------
1 |(1,"{{9,9,9},{9,9,9},{9,9,9}}")|
--------------------------------------------------
1 |(2,"{{90,90,90},{90,90,90},{90,|
|90,90}}") |
总数目:18
WITH foo AS (
SELECT ST_Tile(rast, ARRAY[1], 3, 3, TRUE) AS rast FROM raster_tile
)
SELECT
2, ST_DumpValues(rast)
FROM foo;
?COLUMN?(int) |ST_DUMPVALUES(DUMPVALUES) |
--------------------------------------------------
2 |(1,"{{1,1,1},{1,1,1},{1,1,1}}")|
--------------------------------------------------
2 |(1,"{{2,2,2},{2,2,2},{2,2,2}}")|
--------------------------------------------------
2 |(1,"{{3,3,3},{3,3,3},{3,3,3}}")|
--------------------------------------------------
2 |(1,"{{4,4,4},{4,4,4},{4,4,4}}")|
--------------------------------------------------
2 |(1,"{{5,5,5},{5,5,5},{5,5,5}}")|
--------------------------------------------------
2 |(1,"{{6,6,6},{6,6,6},{6,6,6}}")|
--------------------------------------------------
2 |(1,"{{7,7,7},{7,7,7},{7,7,7}}")|
--------------------------------------------------
2 |(1,"{{8,8,8},{8,8,8},{8,8,8}}")|
--------------------------------------------------
2 |(1,"{{9,9,9},{9,9,9},{9,9,9}}")|
总数目:9
WITH foo AS (
SELECT ST_Tile(rast, ARRAY[2, 1], 3, 3, TRUE) AS rast FROM raster_tile
)
SELECT
3, ST_DumpValues(rast)
FROM foo;
?COLUMN?(int) |ST_DUMPVALUES(DUMPVALUES) |
--------------------------------------------------
3 |(1,"{{10,10,10},{10,10,10},{10,|
|10,10}}") |
--------------------------------------------------
3 |(2,"{{1,1,1},{1,1,1},{1,1,1}}")|
--------------------------------------------------
3 |(1,"{{20,20,20},{20,20,20},{20,|
|20,20}}") |
--------------------------------------------------
3 |(2,"{{2,2,2},{2,2,2},{2,2,2}}")|
--------------------------------------------------
3 |(1,"{{30,30,30},{30,30,30},{30,|
|30,30}}") |
--------------------------------------------------
3 |(2,"{{3,3,3},{3,3,3},{3,3,3}}")|
--------------------------------------------------
3 |(1,"{{40,40,40},{40,40,40},{40,|
|40,40}}") |
--------------------------------------------------
3 |(2,"{{4,4,4},{4,4,4},{4,4,4}}")|
--------------------------------------------------
3 |(1,"{{50,50,50},{50,50,50},{50,|
|50,50}}") |
--------------------------------------------------
3 |(2,"{{5,5,5},{5,5,5},{5,5,5}}")|
--------------------------------------------------
3 |(1,"{{60,60,60},{60,60,60},{60,|
|60,60}}") |
--------------------------------------------------
3 |(2,"{{6,6,6},{6,6,6},{6,6,6}}")|
--------------------------------------------------
3 |(1,"{{70,70,70},{70,70,70},{70,|
|70,70}}") |
--------------------------------------------------
3 |(2,"{{7,7,7},{7,7,7},{7,7,7}}")|
--------------------------------------------------
3 |(1,"{{80,80,80},{80,80,80},{80,|
|80,80}}") |
--------------------------------------------------
3 |(2,"{{8,8,8},{8,8,8},{8,8,8}}")|
--------------------------------------------------
3 |(1,"{{90,90,90},{90,90,90},{90,|
|90,90}}") |
--------------------------------------------------
3 |(2,"{{9,9,9},{9,9,9},{9,9,9}}")|
总数目:18
ST_Tile¶
ST_Tile — 根据输出栅格的所需尺寸,返回通过拆分输入栅格产生的一组栅格。
参数¶
rast
raster 类型
width
int 类型
height
int 类型
padwithnodata
boolean 类型,默认值 FALSE
nodataval
float8 类型,默认值 NULL
返回值¶
返回一个栅格。
示例¶
DROP TABLE raster_tile;
CREATE TABLE raster_tile AS
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
)
SELECT ST_Union(rast) AS rast FROM foo;
WITH foo AS (
SELECT ST_Tile(rast, 3, 3, TRUE) AS rast FROM raster_tile
)
SELECT
1, ST_DumpValues(rast)
FROM foo;
?COLUMN?(int) |ST_DUMPVALUES(DUMPVALUES) |
--------------------------------------------------
1 |(1,"{{1,1,1},{1,1,1},{1,1,1}}")|
--------------------------------------------------
1 |(2,"{{10,10,10},{10,10,10},{10,|
|10,10}}") |
--------------------------------------------------
1 |(1,"{{2,2,2},{2,2,2},{2,2,2}}")|
--------------------------------------------------
1 |(2,"{{20,20,20},{20,20,20},{20,|
|20,20}}") |
--------------------------------------------------
1 |(1,"{{3,3,3},{3,3,3},{3,3,3}}")|
--------------------------------------------------
1 |(2,"{{30,30,30},{30,30,30},{30,|
|30,30}}") |
--------------------------------------------------
1 |(1,"{{4,4,4},{4,4,4},{4,4,4}}")|
--------------------------------------------------
1 |(2,"{{40,40,40},{40,40,40},{40,|
|40,40}}") |
--------------------------------------------------
1 |(1,"{{5,5,5},{5,5,5},{5,5,5}}")|
--------------------------------------------------
1 |(2,"{{50,50,50},{50,50,50},{50,|
|50,50}}") |
--------------------------------------------------
1 |(1,"{{6,6,6},{6,6,6},{6,6,6}}")|
--------------------------------------------------
1 |(2,"{{60,60,60},{60,60,60},{60,|
|60,60}}") |
--------------------------------------------------
1 |(1,"{{7,7,7},{7,7,7},{7,7,7}}")|
--------------------------------------------------
1 |(2,"{{70,70,70},{70,70,70},{70,|
|70,70}}") |
--------------------------------------------------
1 |(1,"{{8,8,8},{8,8,8},{8,8,8}}")|
--------------------------------------------------
1 |(2,"{{80,80,80},{80,80,80},{80,|
|80,80}}") |
--------------------------------------------------
1 |(1,"{{9,9,9},{9,9,9},{9,9,9}}")|
--------------------------------------------------
1 |(2,"{{90,90,90},{90,90,90},{90,|
|90,90}}") |
总数目:18
WITH foo AS (
SELECT ST_Tile(rast, ARRAY[1], 3, 3, TRUE) AS rast FROM raster_tile
)
SELECT
2, ST_DumpValues(rast)
FROM foo;
?COLUMN?(int) |ST_DUMPVALUES(DUMPVALUES) |
--------------------------------------------------
2 |(1,"{{1,1,1},{1,1,1},{1,1,1}}")|
--------------------------------------------------
2 |(1,"{{2,2,2},{2,2,2},{2,2,2}}")|
--------------------------------------------------
2 |(1,"{{3,3,3},{3,3,3},{3,3,3}}")|
--------------------------------------------------
2 |(1,"{{4,4,4},{4,4,4},{4,4,4}}")|
--------------------------------------------------
2 |(1,"{{5,5,5},{5,5,5},{5,5,5}}")|
--------------------------------------------------
2 |(1,"{{6,6,6},{6,6,6},{6,6,6}}")|
--------------------------------------------------
2 |(1,"{{7,7,7},{7,7,7},{7,7,7}}")|
--------------------------------------------------
2 |(1,"{{8,8,8},{8,8,8},{8,8,8}}")|
--------------------------------------------------
2 |(1,"{{9,9,9},{9,9,9},{9,9,9}}")|
总数目:9
WITH foo AS (
SELECT ST_Tile(rast, ARRAY[2, 1], 3, 3, TRUE) AS rast FROM raster_tile
)
SELECT
3, ST_DumpValues(rast)
FROM foo;
?COLUMN?(int) |ST_DUMPVALUES(DUMPVALUES) |
--------------------------------------------------
3 |(1,"{{10,10,10},{10,10,10},{10,|
|10,10}}") |
--------------------------------------------------
3 |(2,"{{1,1,1},{1,1,1},{1,1,1}}")|
--------------------------------------------------
3 |(1,"{{20,20,20},{20,20,20},{20,|
|20,20}}") |
--------------------------------------------------
3 |(2,"{{2,2,2},{2,2,2},{2,2,2}}")|
--------------------------------------------------
3 |(1,"{{30,30,30},{30,30,30},{30,|
|30,30}}") |
--------------------------------------------------
3 |(2,"{{3,3,3},{3,3,3},{3,3,3}}")|
--------------------------------------------------
3 |(1,"{{40,40,40},{40,40,40},{40,|
|40,40}}") |
--------------------------------------------------
3 |(2,"{{4,4,4},{4,4,4},{4,4,4}}")|
--------------------------------------------------
3 |(1,"{{50,50,50},{50,50,50},{50,|
|50,50}}") |
--------------------------------------------------
3 |(2,"{{5,5,5},{5,5,5},{5,5,5}}")|
--------------------------------------------------
3 |(1,"{{60,60,60},{60,60,60},{60,|
|60,60}}") |
--------------------------------------------------
3 |(2,"{{6,6,6},{6,6,6},{6,6,6}}")|
--------------------------------------------------
3 |(1,"{{70,70,70},{70,70,70},{70,|
|70,70}}") |
--------------------------------------------------
3 |(2,"{{7,7,7},{7,7,7},{7,7,7}}")|
--------------------------------------------------
3 |(1,"{{80,80,80},{80,80,80},{80,|
|80,80}}") |
--------------------------------------------------
3 |(2,"{{8,8,8},{8,8,8},{8,8,8}}")|
--------------------------------------------------
3 |(1,"{{90,90,90},{90,90,90},{90,|
|90,90}}") |
--------------------------------------------------
3 |(2,"{{9,9,9},{9,9,9},{9,9,9}}")|
总数目:18
ST_FromGDALRaster¶
ST_FromGDALRaster — 从支持的GDAL栅格文件返回栅格。
返回值¶
从支持的GDAL栅格文件返回栅格。 gdaldata 类型为BYTEA,应为GDAL栅格文件的内容。如果 srid 为空,则该函数将尝试从GDAL栅格自动分配SRID。如果 srid 则提供的值将覆盖任何自动分配的SRID。
示例¶
WITH foo AS (
SELECT ST_AsPNG(ST_AddBand(ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(2, 2, 0, 0, 0.1,
-0.1, 0, 0, 4326), 1, '8BUI', 1, 0), 2, '8BUI', 2, 0), 3, '8BUI', 3, 0)) AS png
),
bar AS (
SELECT 1 AS rid, ST_FromGDALRaster(png) AS rast FROM foo
UNION ALL
SELECT 2 AS rid, ST_FromGDALRaster(png, 3310) AS rast FROM foo
)
SELECT
rid,
ST_Metadata(rast) AS metadata,
ST_SummaryStats(rast, 1) AS stats1,
ST_SummaryStats(rast, 2) AS stats2,
ST_SummaryStats(rast, 3) AS stats3
FROM bar
ORDER BY rid;
RID(int) |METADATA(METADATA) |STATS1(SUMMARYSTATS) |STATS2(SUMMARYSTATS) |STATS3(SUMMARYSTATS) |
--------------------------------------------------------------------------------------------------------------------
1 |(0,0,2,2,1,-1,0,0,0,3) |(4,4,1,0,1,1) |(4,8,2,0,2,2) |(4,12,3,0,3,3) |
--------------------------------------------------------------------------------------------------------------------
2 |(0,0,2,2,1,-1,0,0,3310,3|(4,4,1,0,1,1) |(4,8,2,0,2,2) |(4,12,3,0,3,3) |
|) | | | |
总数目:2