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 myisopolygons
z myisolines
tabeli z wielobokami, które nie będą się nakładać, ale utworzą ciągłą powierzchnię i będą miały kolumnę val
z najniższą val
z 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 val
należ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.