Mam tabelę tabeli postgis izolinii, która jest zdefiniowana w następujący sposób:
CREATE TABLE myisolines
(
gid serial NOT NULL,
isotime timestamp without timezone,
val numeric(10,4),
geom geometry(LineString,4326)
);
Wizualnie te obiekty liniowe wyglądają tak:

Znam zasięg przestrzenny moich danych, więc mogę dodać Bbox, aby LineStrings mogło być jakby zamknięte.

Chcę utworzyć tabelę izopoligonów myisopolygonsz myisolinestabeli z wielobokami, które nie będą się nakładać, ale utworzą ciągłą powierzchnię i będą miały kolumnę valz najniższą valz izolinii, z której powstał wielokąt. Rozumiem, że można go wytworzyć z samozamykającej izoliny (wyspy) lub izoliny zamkniętej za pomocą bbox, w takim przypadku valnależy ją pobrać z tej konkretnej izolat. Wizualnie powinno to wyglądać tak:

Myślałem, że mogę jakoś stworzyć topologię, a następnie przekształcić twarze w wielokąty, ale nie rozumiem, jak to zrobić poprawnie. Jak można to zrobić?
Inną opcją byłoby rekurencyjne użycie funkcji różnicy między bbox a każdym utworzonym wielokątem, ale myślę, że nie jest to właściwy sposób na zrobienie tego i zdecydowanie nie jest szybki.