Todos os produtos
Search
Central de documentação

ApsaraDB RDS:ST_Hillshade

Última atualização: Sep 01, 2026

Calcula o valor de hillshade para cada célula de uma superfície raster e retorna um array de hillshades.

Sintaxe

raster ST_Hillshade(raster rast, integer pyramid_level, integer band, Box extent, BoxType type, float8 zfactor, float8 azimuth, float8 altitude, cstring storageOption);

Parâmetros

Parâmetro

Tipo

Descrição

rast

raster

Objeto raster source.

pyramid_level

integer

Nível de pirâmide do raster.

band

integer

Índice da banda (número sequencial) usado no cálculo.

extent

Box

Área a analisar. Formato: '((minX,minY),(maxX,maxY))'.

type

BoxType

Sistema de coordenadas para interpretar extent. Valores válidos: Raster (coordenadas de pixel) ou World (coordenadas geográficas).

zfactor

float8

Fator de conversão que ajusta as unidades de elevação para corresponder às unidades das coordenadas horizontais. Defina este valor quando os dados de elevação e as coordenadas horizontais usarem unidades diferentes (por exemplo, x,y em graus decimais e z em metros). Valor padrão: 1.

azimuth

float8

Ângulo azimutal do sol, medido no sentido horário a partir do norte. Valores válidos: 0360. Valor padrão: 315 (noroeste).

altitude

float8

Ângulo de altitude do sol acima do horizonte. O valor 90 posiciona o sol diretamente acima. Valores válidos: 090.

storageOption

cstring

Opção de armazenamento do raster de saída. Para mais detalhes, consulte ST_ClipToRast.

Descrição

A função ST_Hillshade modela a iluminação hipotética de uma superfície raster. Ela define a posição de uma fonte de luz imaginária e calcula o valor de iluminação de cada célula em relação aos vizinhos, considerando o ângulo solar, a inclinação e a orientação locais do terreno.

O resultado é um raster em que cada célula contém um número inteiro de 0 a 255. O valor 0 representa a sombra mais escura (sem iluminação); 255 indica a área mais clara (iluminação máxima). Aplicar transparência à camada de hillshade melhora a qualidade visual na análise de terreno e na renderização de mapas com estilo 3D.

Quando as unidades de elevação diferem das unidades horizontais (por exemplo, metros versus graus decimais), defina zfactor para convertê-las a uma escala comum.

Para obter uma explicação detalhada sobre o algoritmo de hillshade, consulte How Hillshade works.

Exemplo

Este exemplo calcula o hillshade em uma extensão de 5×5 pixels de um raster no nível de pirâmide 0, banda 0, com z-factor igual a 4, azimute solar de 180° (sul) e altitude solar de 80°.

SELECT st_hillshade(rast, 0, 0, '(0,0), (5,5)', 'Raster', 4, 180, 80)
FROM t_surface
WHERE id = 1;