No exemplo apresentado abaixo foi criado um novo campo no retorno da consulta que determina o nível crítico dos eventos de queimadas baseado na duração do evento em dias. Note que foram criados quatro níveis e desconsiderados os eventos com apenas um dia de duração.
Consulta:
select duracao, ST_AsGeoJson(ST_Centroid(the_geom), 3),
case when duracao = 2 then 'observação'
when duracao between 3 and 7 then 'atenção'
when duracao between 8 and 14 then 'alerta'
when duracao >= 15 then 'alerta máximo'
end as nivel
from evento_requeima
where data = 20140730 and duracao > 1;
Retorno:
duracao;geojson;nivel
2;"{"type":"Point","coordinates":[-48.333,-22.731]}";"observação"
2;"{"type":"Point","coordinates":[-46.051,-12.259]}";"observação"
2;"{"type":"Point","coordinates":[-44.891,-7.34]}";"observação"
2;"{"type":"Point","coordinates":[-48.133,-8.785]}";"observação"
10;"{"type":"Point","coordinates":[-57.056,-12.548]}";"alerta"
uma nova referencia encontrei em:
https://popsql.com/learn-sql/postgresql/how-to-write-a-case-statement-in-postgresql/