Ich habe eine Tabelle, eine Postgis-Tabelle mit Isolinien, die wie folgt definiert ist:
CREATE TABLE myisolines
(
gid serial NOT NULL,
isotime timestamp without timezone,
val numeric(10,4),
geom geometry(LineString,4326)
);
Optisch sehen diese linearen Objekte folgendermaßen aus:
Ich kenne die räumliche Ausdehnung meiner Daten, sodass ich eine Bbox hinzufügen kann, damit die LineStrings geschlossen werden können.
Ich möchte eine Tabelle mit Isopolygonen myisopolygons
aus einer myisolines
Tabelle mit Polygonen erstellen, die sich nicht überlappen, sondern eine durchgehende Oberfläche erstellen und eine Spalte val
mit der niedrigsten val
Isolinie haben, aus der das Polygon gebildet wurde. Ich verstehe, dass es aus selbstgeschlossenem Isolin (Insel) oder mit bbox geschlossenem Isolin gebildet werden kann. In diesem Fall val
sollte das von diesem bestimmten Isolin genommen werden. Optisch sollte es so aussehen:
Ich dachte, ich könnte irgendwie eine Topologie erstellen und dann Gesichter in Polygone umwandeln, aber ich verstehe nicht, wie man das richtig macht. Wie kann das gemacht werden?
Eine andere Möglichkeit wäre, rekursiv eine Differenzfunktion zwischen bbox und jedem erstellten Polygon zu verwenden, aber ich denke, das ist nicht der richtige Weg und definitiv überhaupt nicht schnell.