Todos os produtos
Search
Central de documentação

ApsaraDB RDS:ST_Values

Última atualização: Aug 26, 2026

Retorna as coordenadas geográficas e os valores de pixel de todas as células em um objeto raster que interceptam um objeto de geometria. A numeração das bandas começa em 0. Por padrão, a função retorna todas as bandas. Ambos os objetos devem compartilhar o mesmo identificador de sistema de referência espacial (SRID).

Sintaxe

set of record ST_Values(raster raster_obj,
                     geometry geom,
                     integer pyramidLevel default 0,
                     cstring bands default '', /* All bands */
                     cstring clipOption default '',
                     out point cords,
                     out integer band,
                     out float8 value)

A função retorna um set of record. Cada linha contém três campos de saída: cords (coordenadas geográficas), band (número sequencial da banda) e value (valor do pixel). Para expandir todos os campos de saída em uma consulta, use a sintaxe .*:

SELECT (ST_Values(rast, geom)).*
FROM your_table;

Para acessar um campo específico, use a notação de ponto:

SELECT (ST_Values(rast, geom)).cords,
       (ST_Values(rast, geom)).value
FROM your_table;

Parâmetros

Parâmetros de entrada

Parâmetro

Tipo

Padrão

Descrição

raster_obj

raster

Objeto raster a consultar.

geom

geometry

Objeto de geometria usado para recorte. Deve ter o mesmo SRID que raster_obj.

pyramidLevel

integer

0

Nível de pirâmide do objeto raster a usar.

bands

cstring

''

Números sequenciais das bandas a retornar, no formato '0-2' ou '1,2,3'. A numeração das bandas começa em 0. A string vazia padrão '' retorna todas as bandas.

clipOption

cstring

''

Opções de recorte como string formatada em JSON. Consulte parâmetros clipOption.

Campos de saída

Campo

Tipo

Descrição

cords

point

Coordenadas geográficas do pixel.

band

integer

Número sequencial da banda do pixel.

value

float8

Valor do pixel.

Parâmetros clipOption

Parâmetro

Tipo

Padrão

Descrição

window_clip

Boolean

false

Controla se o recorte ocorre pela bounding box da geometria ou pela forma exata. Defina como true para recortar pelo retângulo delimitador mínimo (MBR) do objeto de geometria. Defina como false para recortar pela forma exata da geometria.

Quando usar window_clip:

  • Use window_clip: true para recuperar todas as células dentro da envoltória retangular de uma geometria — por exemplo, ao recortar com um ponto e desejar capturar a grade de pixels ao redor, em vez de apenas a interseção exata.

  • Use window_clip: false (padrão) quando for necessária uma interseção precisa com a forma real da geometria, como no recorte ao longo de uma linestring ou limite de polígono.

Observações de uso

  • O objeto de geometria e o objeto raster devem ter um SRID válido e correspondente.

  • Por padrão, cada chamada retorna até 100 MB de dados. Para ajustar esse limite, defina o parâmetro ganos.raster.clip_max_buffer_size.

Exemplos

Todos os exemplos chamam ST_Values com a sintaxe .* para expandir a saída em colunas individuais.

Recorte com geometria de ponto

Definir window_clip como true recupera a grade de pixels dentro do MBR do ponto, em vez de uma única célula de interseção exata.

SELECT (ST_Values(rast, ST_geomfromtext('POINT(128.135 29.774)', 4326)::geometry, 0,'{"window_clip":"true"}')).*
FROM rat_clip WHERE id=1;
    coord     | band | value
--------------+------+-------
 (127.8,29.7) |    0 |    11
 (127.8,29.7) |    1 |    10
 (127.8,29.7) |    2 |    50
(3 rows)

Recorte com geometria de linestring

Este exemplo recorta o raster usando a forma exata de uma linestring e retorna até 10 linhas de todas as bandas.

SELECT (ST_Values(rast, ST_geomfromtext('LINESTRING(0 0, 45 45, 90 0, 135 45)', 4326)::geometry, 0)).*
FROM rat_clip WHERE id=1 LIMIT 10;
    coord    | band | value
-------------+------+-------
 (44.1,45)   |    0 |   115
 (44.1,45)   |    1 |   112
 (44.1,45)   |    2 |    69
 (45,45)     |    0 |   122
 (45,45)     |    1 |   117
 (45,45)     |    2 |    75
 (134.1,45)  |    0 |    37
 (134.1,45)  |    1 |    64
 (134.1,45)  |    2 |    13
 (43.2,44.1) |    0 |    66
(10 rows)

Próximos passos

  • ST_Value — Retorna o valor de uma única célula em um ponto especificado ou coordenada de pixel.

  • ST_ClipByMask — Recorta um objeto raster usando uma máscara de geometria e retorna o raster recortado.

  • ST_Clip — Recorta um objeto raster por um objeto de geometria e retorna o raster recortado.

  • ST_Intersects — Verifica se um objeto raster e um objeto de geometria se interceptam.