Tengo una tabla de postgis de isolinas que se define así:
CREATE TABLE myisolines
(
gid serial NOT NULL,
isotime timestamp without timezone,
val numeric(10,4),
geom geometry(LineString,4326)
);
Visualmente, estos objetos de cadena lineal se ven así:
Sé la extensión espacial de mis datos, por lo que puedo agregar un Bbox, para que LineStrings se pueda cerrar.
Quiero crear una tabla de isopolígonos a myisopolygons
partir de una myisolines
tabla, con polígonos, que no se superpongan, sino que creen una superficie continua y tengan una columna val
con las val
isolinas más bajas , a partir de las cuales se formó el polígono. Entiendo que se puede formar a partir de isolina (isla) cerrada automáticamente, o isolina cerrada con bbox, en ese caso se val
debe tomar de esa isolina en particular. Visualmente debería verse así:
Pensé que podía crear una topología de alguna manera y luego transformar caras en polígonos, pero no entiendo cómo hacerlo correctamente. ¿Cómo se puede hacer esto?
Otra opción sería usar recursivamente una función de diferencia entre bbox y cada polígono creado, pero supongo que esa no es la forma correcta de hacerlo, y definitivamente no es rápido en absoluto.