No código de exemplo para a função PostGIS ST_ConvexHull , vários polígonos seriam criados com base em diferentes valores discretos encontrados no campo "disease_type".
--Get estimate of infected area based on point observations
SELECT d.disease_type,
ST_ConvexHull(ST_Collect(d.the_geom)) As the_geom
FROM disease_obs As d
GROUP BY d.disease_type;
Digamos que havia um campo numérico (vamos chamá-lo "myfield") com valores contínuos de 0 a 5. Como você produziria resultados semelhantes ao GROUP BY, mas definindo seus próprios pontos de interrupção (por exemplo: 0-1,25, 1,25-3,5, 3,5-5)?
postgis
postgresql
RyanKDalton
fonte
fonte
Respostas:
Você pode usar o CASE para criar classes. Algo parecido:
fonte
Hallo
O que costumo fazer nesses casos é criar uma tabela com as classes e ingressar contra elas ou usar uma subconsulta para criar uma lista de classes.
Eu acho que isso dá uma abordagem mais intuitiva e acho que é mais flexível, pois você pode atualizar as classes apenas atualizando uma tabela.
Outro benefício é que você também pode obter as aulas vazias.
a abordagem de subconsulta pode ser algo como:
Aqui, usei uma junção correta para obter também as classes vazias, que podem ser úteis algumas vezes. Se você não quiser os vazios, mude para uma junção interna.
Se você mover as classes para uma tabela e colocar o restante da consulta em uma exibição, poderá alterar as classes sem tocar na consulta.
HTH / Nicklas
fonte