Name

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.

Synopsis

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);

Description

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.

Exemples

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;