This topic describes the ST_AsPNG function, which converts a raster into a BYTEA-type PNG image.
Syntax
bytea ST_AsPNG(raster raster_obj,box extent,
integer pyramidLevel default 0,
cstring bands default '',
cstring option default '');
Parameters
Parameter | Description |
---|---|
raster_obj | The raster that you want to convert. |
extent | The extent of the image. The geographic coordinate system is used by default. |
pyramidLevel | The pyramid layer at which the image resides. Valid values start from 0. Default value: 0. |
bands | The list of bands based on which you want to obtain the image. Valid values start
from 0. Examples: '0-2' and '1,2,3' . This parameter is empty by default. The image is in the PNG format. Therefore, set
this parameter to 1, 2, 3, or 4. The first three bands are used by default.
|
option | The options that are used to convert JSON-formatted strings. |
The following table describes the fields in the option parameter.
Field | Description | Type | Default value | Setting notes |
---|---|---|---|---|
nodata | Specifies whether to use NoData values. | bool | false |
|
nodataValue | The NoData value of the raster. | integer | 0 | If the nodata parameter is set to true, you must specify the NoData value. |
rast_coord | Specifies whether the input box is specified by using pixel coordinates. | bool | false | If pixel coordinates are used, x indicates the column number of the pixel and y indicates the row number of the pixel. Both the column number and the row number start from 0. |
strength | Specifies whether to implement enhancement in the display. | string | none | Valid values:
|
quality | The quality of compression. | integer | 75 | Valid values: 1 to 100. |
Description
- This function returns a BYTEA-type PNG image.
- Up to 100 MB of cropped data can be cached by default, which indicates that up to 100 MB of data can be returned. To adjust the limit on the image size, you can specify the cache size by using the ganos.raster.clip_max_buffer_size parameter.
- The following values are valid for this parameter:
- 1: The raster has a single band based on which the raster can be converted into a grayscale image.
- 2: The raster has a single band, based on which the raster can be converted into a grayscale image, and the Alpha band.
- 3: The raster has three bands, which are the R band, G band, and B band.
- 4: The raster has four bands, which are the R band, G band, B band, and Alpha band.
Examples
--Specify the size of cropped data that can be cached.
SELECT ST_AsPNG(raster_obj,
'(-180,-90), (0,0)'::Box)
FROM raster_table
WHERE id =1;
--Specify the pyramid layer at which the image resides.
SELECT ST_AsPNG(raster_obj,
'(-180,-90), (0,0)'::Box,
1)
FROM raster_table
WHERE id =1;
--Specify the cropping range of a band.
SELECT ST_AsPNG(raster_obj,
'(-180,-90), (0,0)'::Box,
1,
'0-2')
FROM raster_table
WHERE id =1;
--Specify to implement enhancement by using stretching based on statistical values.
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;