Namn

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 anger det format som ska matas ut. Det beror på de drivrutiner som har kompilerats in i libgdal-biblioteket. Vanligtvis finns JPEG, GTIff och PNG tillgängliga. Använd ST_GDALDrivers för att få en lista över de format som stöds av biblioteket.

  • options är en textmatris med GDAL-alternativ. Giltiga alternativ beror på formatet. Se GDAL Raster format options för mer information.

  • srid, den rumsliga referensidentifierare som ska bäddas in i utdatarastret

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

Exempel

Exportera flera rasterrutor som en enda JPEG-bild med 50 procents kvalitet.

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

Ett sätt att exportera raster till ett annat format är att använda PostgreSQL-funktioner för export av stora objekt. Följande upprepar JPEG-exemplet och exporterar resultatet. Observera att detta kräver superanvändaråtkomst eftersom det använder serverfunktioner för stora objekt. Det exporterar också till en sökväg i serverns nätverk. Om du behöver exportera lokalt ska du använda motsvarande lo_-funktioner i psql, som exporterar till det lokala filsystemet i stället för serverns filsystem.

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

Exportera ett raster som GeoTIFF med standardskapandealternativen.

Kod
SELECT ST_AsGDALRaster(rast, 'GTiff') AS rasttiff
FROM dummy_rast WHERE rid = 2;

Exportera en GeoTIFF med JPEG-komprimering med 90 procents kvalitet och bädda in SRID 4269.

Kod
SELECT ST_AsGDALRaster(
  rast,
  'GTiff',
  ARRAY['COMPRESS=JPEG', 'JPEG_QUALITY=90'],
  4269) AS rasttiff
FROM dummy_rast WHERE rid = 2;