Eu tenho uma tabela uma tabela postgis de isolines que é definida assim:
CREATE TABLE myisolines
(
gid serial NOT NULL,
isotime timestamp without timezone,
val numeric(10,4),
geom geometry(LineString,4326)
);
Visualmente, esses objetos de cadeia de linhas são assim:
Conheço a extensão espacial dos meus dados, para adicionar uma Bbox, para que os LineStrings possam ser fechados.
Quero criar uma tabela de isopolígonos a myisopolygons
partir da myisolines
tabela, com polígonos, que não se sobreponham, mas criem uma superfície contínua e tenham uma coluna val
com o menor número val
de isolinhas, a partir da qual o polígono foi formado. Eu entendo que ele pode ser formado a partir de isolina auto-fechada (ilha) ou isolina fechada com bbox, nesse caso, val
deve-se extrair dessa isolina específica. Visualmente, deve ficar assim:
Pensei que pudesse criar topologia de alguma forma e depois transformar faces em polígonos, mas não entendo como fazê-lo corretamente. Como isso pode ser feito?
Outra opção seria usar recursivamente uma função de diferença entre bbox e cada polígono criado, mas acho que não é o caminho certo para fazê-lo, e definitivamente não é rápido.