Recorta um objeto raster conforme a forma de uma geometria e retorna o resultado como um novo objeto raster.
Sintaxe
raster ST_ClipToRast(raster raster_obj,
geometry geom,
integer pyramidLevel default 0,
cstring bands default '',
float8[] nodata default NULL,
cstring clipOption default '',
cstring storageOption default '')
Parâmetros
|
Parâmetro |
Descrição |
|
|
Objeto raster a ser recortado. |
|
|
Objeto de geometria usado para definir a área de recorte. |
|
|
Nível da pirâmide. Valor padrão: |
|
|
Bandas a recortar. Aceita formato de intervalo ( |
|
|
Valores NoData fornecidos como array |
|
|
Opções de recorte em formato JSON. Consulte Campos de clipOption. Valor padrão: |
|
|
Opções de armazenamento para o raster retornado, em formato JSON. Consulte Campos de storageOption. Valor padrão: |
Campos de clipOption
|
Campo |
Tipo |
Padrão |
Descrição |
|
|
bool |
|
Define se o recorte usa a bounding box da geometria em vez de sua forma exata. Configure como |
|
|
bool |
|
Indica se a geometria usa coordenadas de pixel. Quando definido como |
Campos de storageOption
|
Campo |
Tipo |
Padrão |
Descrição |
|
|
boolean |
Igual ao raster original |
Determina se os dados do novo raster são armazenados em chunks. |
|
|
string |
Igual ao raster original |
Dimensões dos chunks para o novo raster. Este parâmetro só tem efeito quando |
|
|
string |
|
Nome da tabela de chunks para o novo raster. Se definido como |
|
|
string |
|
Algoritmo de compressão. Valores válidos: |
|
|
integer |
|
Qualidade da compressão. Aplica-se somente quando |
|
|
string |
Igual ao raster original |
Tipo de intercalação. Valores válidos: |
|
|
string |
Igual ao raster original |
Ordem de bytes. Valores válidos: |
Observações de uso
Se
chunktablefor definido comoNULLou'', o sistema cria uma tabela de chunks temporária com nome aleatório, válida exclusivamente para a sessão atual. Para criar uma tabela permanente, especifique um nome.-
O tamanho padrão do cache para operações de recorte é de 100 MB. Para ajustar esse limite, execute:
SET ganos.raster.clip_max_buffer_size = <cache size in bytes>;
Exemplos
-- Create a permanent result table.
CREATE TABLE rast_clip_result(id integer, rast raster);
-- Create a temporary result table.
CREATE TEMP TABLE rast_clip_result_temp(id integer, rast raster);
-- Clip using default settings and store the result in the temporary table.
INSERT INTO rast_clip_result_temp(id, rast)
SELECT 1, ST_ClipToRast(rast, ST_GeomFromText('Polygon((0 0, 45 45, 90 45, 45 0, 0 0))', 4326), 0)
FROM clip_table
WHERE id = 1;
-- Clip with a white background (NoData = 254) and store the result in the permanent table.
INSERT INTO rast_clip_result(id, rast)
SELECT 2, ST_ClipToRast(rast, ST_GeomFromText('Polygon((0 0, 45 45, 90 45, 45 0, 0 0))', 4326), 0, '', ARRAY[254,254,254], '', '{"chunktable":"clip_rbt"}')
FROM clip_table
WHERE id = 1;
-- Clip using the bounding box (MBR) of the geometry.
INSERT INTO rast_clip_result_temp(id, rast)
SELECT 3, ST_ClipToRast(rast, ST_GeomFromText('Polygon((0 0, 45 45, 90 45, 45 0, 0 0))', 4326), 0, '', NULL, '{"window_clip":true}', '')
FROM clip_table
WHERE id = 1;