將柵格對(duì)象轉(zhuǎn)化為PNG格式二進(jìn)制流。
語法
bytea ST_AsPNG(raster raster_obj,box extent,
integer pyramidLevel default 0,
cstring bands default '',
cstring option default '');
參數(shù)
參數(shù)名稱 | 描述 |
---|---|
raster_obj | 需要計(jì)算的raster對(duì)象。 |
extent | 影像的范圍,默認(rèn)使用地理坐標(biāo)系統(tǒng)。 |
pyramidLevel | 影像金字塔層級(jí),從0開始,默認(rèn)值為0。 |
bands | 需要獲取的波段列表,從0開始,用'0-2' 或者‘1,2,3’ 這種形式表示。默認(rèn)為空。PNG波段數(shù)量為1、2、3或4。默認(rèn)使用前三個(gè)波段。
|
option | JSON字符串類型的轉(zhuǎn)換選項(xiàng)。 |
option參數(shù)說明如下。
參數(shù)名稱 | 描述 | 類型 | 默認(rèn)值 | 說明 |
---|---|---|---|---|
nodata | 是否使用nodata值。 | bool | false |
|
nodataValue | nodata值。 | integer | 0 | 在nodata=true時(shí),需為nodata設(shè)置參數(shù)值。 |
rast_coord | 傳入的box是否為像元坐標(biāo)。 | bool | false | 如果是像元坐標(biāo),橫坐標(biāo)x表示像元的列號(hào)(起始為0),縱坐標(biāo)y表示像元的行號(hào)(起始為0)。 |
strength | 是否進(jìn)行增強(qiáng)。 | string | none | 顯示增強(qiáng)的方式,取值:
|
quality | 壓縮質(zhì)量。 | integer | 75 | 壓縮質(zhì)量,取值為1~100。 |
描述
- 函數(shù)將返回一個(gè)bytea表示的影像格式。
- 默認(rèn)的裁剪緩存為100 MB,代表最多只能裁剪出100 MB大小的結(jié)果數(shù)據(jù),如果需要調(diào)整返回結(jié)果大小,可使用參數(shù)ganos.raster.clip_max_buffer_size設(shè)置緩存的大小。
- 波段數(shù)量說明如下:
- 1:表示灰度影像。
- 2:表示灰度和Alpha波段。
- 3:表示R波段、G波段和B波段。
- 4:表示R波段、G波段、B波段和Alpha波段。
示例
--使用裁剪范圍。
SELECT ST_AsPNG(raster_obj,
'(-180,-90), (0,0)'::Box)
FROM raster_table
WHERE id =1;
--指定金字塔層級(jí)。
SELECT ST_AsPNG(raster_obj,
'(-180,-90), (0,0)'::Box,
1)
FROM raster_table
WHERE id =1;
--指定波段使用裁剪范圍。
SELECT ST_AsPNG(raster_obj,
'(-180,-90), (0,0)'::Box,
1,
'0-2')
FROM raster_table
WHERE id =1;
-- 使用統(tǒng)計(jì)值拉伸。
SELECT ST_AsPNG(rast,
'(-180,-90), (0,0)'::Box,
0,
'',
'{"nodata":"false", "nodatavalue":"0","rast_coord":"false", "strength":"stats", "quality":"75"}')
FROM raster_table
WHERE id =1;