Name

ST_AsGDALRaster — Returnerar rasterplattan i det angivna GDAL Raster-formatet. Rasterformat är ett av de format som stöds av ditt kompilerade bibliotek. Använd ST_GDALDrivers() för att få en lista över de format som stöds av ditt bibliotek.

Synopsis

bytea ST_AsGDALRaster(raster rast, text format, text[] options=NULL, integer srid=sameassource);

Beskrivning

Returnerar rasterplattan i det angivna formatet. Argumenten specificeras nedan:

  • format som ska matas ut. Detta är beroende av de drivrutiner som kompileras i ditt libgdal-bibliotek. Generellt tillgängliga är 'JPEG', 'GTIff', 'PNG'. Använd ST_GDALDrivers för att få en lista över format som stöds av ditt bibliotek.

  • options textuppsättning av GDAL-alternativ. Giltiga alternativ är beroende av formatet. Se alternativ för GDAL Rasterformat för mer information.

  • srs Den proj4text eller srtext (från spatial_ref_sys) som ska bäddas in i bilden

Tillgänglighet: 2.0.0 - kräver GDAL >= 1.6.0.

Exempel på JPEG-utdata, flera plattor som ett enda raster

SELECT ST_AsGDALRaster(ST_Union(rast), 'JPEG', ARRAY['QUALITY=50']) As rastjpg
FROM dummy_rast
WHERE rast && ST_MakeEnvelope(10, 10, 11, 11);

Använda PostgreSQL Large Object Support för att exportera raster

Ett sätt att exportera raster till ett annat format är att använda PostgreSQL stora exportfunktioner för objekt. Vi kommer att upprepa det tidigare exemplet men också exportera. Observera att för detta måste du ha superanvändaråtkomst till db eftersom den använder lo-funktioner på serversidan. Det kommer också att exportera till sökvägen på servernätverket. Om du behöver exportera lokalt, använd psql-ekvivalenta lo_-funktioner som exporterar till det lokala filsystemet istället för serverns filsystem.

DROP TABLE IF EXISTS tmp_out ;

CREATE TABLE tmp_out AS
SELECT lo_from_bytea(0,
       ST_AsGDALRaster(ST_Union(rast), 'JPEG', ARRAY['QUALITY=50'])
        ) AS loid
  FROM dummy_rast
WHERE rast && ST_MakeEnvelope(10, 10, 11, 11);

SELECT lo_export(loid, '/tmp/dummy.jpg')
   FROM tmp_out;

SELECT lo_unlink(loid)
  FROM tmp_out;

Exempel på GTIFF-utdata

SELECT ST_AsGDALRaster(rast, 'GTiff') As rastjpg
FROM dummy_rast WHERE rid=2;

-- Out GeoTiff with jpeg compression, 90% quality
SELECT ST_AsGDALRaster(rast, 'GTiff',
  ARRAY['COMPRESS=JPEG', 'JPEG_QUALITY=90'],
  4269) As rasttiff
FROM dummy_rast WHERE rid=2;