全部產品
Search
文件中心

PolarDB:ST_AsJPEG

更新時間:Jul 06, 2024

將柵格對象轉化為JPEG格式二進位流。

文法

bytea ST_AsJPEG(raster raster_obj,
                box extent,
                integer pyramidLevel default 0,
                cstring bands default '',
                cstring option default '');

參數

參數名稱描述
raster_obj需要計算的raster對象。
extent影像的範圍,預設使用地理座標系統。
pyramidLevel影像金字塔層級,從0開始,預設值為0。
bands該參數用於配置需要擷取的波段列表。
需根據JPEG波段數量配置波段列表,配置原則如下:
  • JPEG波段數量為3。
  • 支援指定連續波段範圍(從0開始)配置,例如,則該參數可配置為'0-2',用於配置連續的0、1、2波段。
  • 支援指定波段序號配置(從0開始)配置,例如,則該參數可配置為'0,2,4',用於配置0、2、4波段。
  • 如果該參數不配置(該參數預設為空白),將使用前3個波段(0-2)。
optionJSON字串類型的轉換選項。

option參數說明如下。

參數名稱描述類型預設值說明
nodata是否使用nodata值。boolfalse
  • true:需要處理nodata值。
  • false:nodata值作為普通值處理。
nodataValuenodata值。integer0nodata=true時,需為nodata設定參數值。
rast_coord傳入的box是否為像元座標。boolfalse如果是像元座標,橫座標x表示像元的列號(起始為0),縱座標y表示像元的行號(起始為0)。
strength是否進行增強。stringnone顯示增強方式,取值:
  • none:不進行增強。
  • stats:使用統計值進行展開。
quality壓縮品質。integer75壓縮品質,取值為1~100。

描述

  • 函數將返回一個bytea表示的影像格式。
  • 預設的裁剪緩衝為100 MB,代表最多隻能裁剪出100 MB大小的結果資料,如果需要調整返回結果大小,可使用參數ganos.raster.clip_max_buffer_size設定緩衝的大小。
  • 波段數量說明如下:
    • 1:表示灰階影像。
    • 3:表示R波段、G波段和B波段。

樣本

--使用裁剪範圍。
SELECT ST_AsJPEG(raster_obj, 
                  '(-180,-90), (0,0)'::Box) 
FROM raster_table    
WHERE id =1;

--指定金字塔層級。
SELECT ST_AsJPEG(raster_obj, 
                  '(-180,-90), (0,0)'::Box,
                 1) 
FROM raster_table    
WHERE id =1;

--指定波段使用裁剪範圍。
SELECT ST_AsJPEG(raster_obj, 
                  '(-180,-90), (0,0)'::Box,
                 1,
                 '0-2') 
FROM raster_table    
WHERE id =1;

--使用統計值展開。
SELECT ST_AsJPEG(rast, 
                  '(-180,-90), (0,0)'::Box, 
                  0, 
                  '', 
                  '{"nodata":"false", "nodatavalue":"0","rast_coord":"false", "strength":"stats", "quality":"75"}')
FROM raster_table    
WHERE id =1;