En el código de muestra para la función PostGIS ST_ConvexHull , se crearían múltiples polígonos basados en valores diferentes y discretos encontrados en el campo "enfermedad_tipo".
--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 había un campo numérico (llamémoslo "myfield") con valores continuos de 0-5. ¿Cómo produciría resultados similares a GROUP BY pero definiendo sus propios puntos de corte (por ejemplo: 0-1.25, 1.25-3.5, 3.5-5)?
postgis
postgresql
RyanKDalton
fuente
fuente
Respuestas:
Puedes usar CASE para crear clases. Algo como eso:
fuente
Hola
Lo que suelo hacer en esos casos es crear una tabla con las clases y unirlas contra ellas o usar una subconsulta para crear una lista de clases.
Creo que eso ofrece un enfoque más intuitivo y creo que es más flexible ya que puede actualizar las clases simplemente actualizando una tabla.
Otro beneficio es que también puedes obtener las clases vacías.
El enfoque de subconsulta podría ser similar a:
Aquí utilicé una combinación correcta para obtener también las clases vacías, que a veces pueden ser útiles. Si no desea los vacíos, simplemente cambie a una unión interna.
Si mueve las clases a una tabla y coloca el resto de la consulta en una vista, puede cambiar las clases sin tocar la consulta.
HTH / Nicklas
fuente