ST_AsPNG — Retourne les bandes sélectionnées du raster sous la forme d'une image PNG (sous forme de tableau d'octets). Si aucune bande n'est spécifiée et que le raster a 1, 3 ou 4 bandes, toutes les bandes sont utilisées. Si aucune bande n'est spécifiée et que le raster a 2 ou plus de 4 bandes, seule la bande 1 est utilisée. Les bandes sont mappées en RGB ou RGBA.
bytea ST_AsPNG(
raster rast, text[] options=NULL)
;
bytea ST_AsPNG(
raster rast, integer nband, integer compression)
;
bytea ST_AsPNG(
raster rast, integer nband, text[] options=NULL)
;
bytea ST_AsPNG(
raster rast, integer[] nbands, integer compression)
;
bytea ST_AsPNG(
raster rast, integer[] nbands, text[] options=NULL)
;
Retourne les bandes sélectionnées du raster sous la forme d'une seule PNG (image graphique portable). Utilisez ST_AsGDALRaster si vous avez besoin d'exporter vers des types de raster moins courants. Si aucune bande n'est spécifiée, les 3 premières bandes sont exportées. Il existe de nombreuses variantes de cette fonction avec de nombreuses options. Si aucun srid
n'est spécifié, c'est le srid du raster qui est utilisé. Ces options sont détaillées ci-dessous :
nband
pour exporter une seule bande.
nbands
spécifie un tableau des bandes à exporter (à noter que PNG ne supporte que 4 bandes aux maximum). L'ordre des bandes est RGBA. Par exemple, ARRAY[3,2,1] signifie que la bande 3 est la rouge, la bande 2 est la verte et la bande 1 est la bleue
compression
nombre de 1 à 9. Plus le chiffre est élevé, plus la compression est importante.
options
tableau textuel d'options GDAL, parmi les options définies pour PNG (voir create_options pour PNG de ST_GDALDrivers). Pour PNG, seule l'option ZLEVEL est valide (temps à consacrer à la compression -- par défaut 6), par exemple ARRAY['ZLEVEL=9']. WORLDFILE n'est pas autorisé car la fonction devrait produire deux sorties. Voir GDAL Raster format options pour plus de détails.
Disponibilité : 2.0.0 - nécessite GDAL >= 1.6.0.
SELECT ST_AsPNG(rast) As rastpng FROM dummy_rast WHERE rid=2; -- export the first 3 bands and map band 3 to Red, band 1 to Green, band 2 to blue SELECT ST_AsPNG(rast, ARRAY[3,1,2]) As rastpng FROM dummy_rast WHERE rid=2;