ฉันมีตารางหนึ่งตารางของ isolines ที่กำหนดไว้ดังนี้:
CREATE TABLE myisolines
(
gid serial NOT NULL,
isotime timestamp without timezone,
val numeric(10,4),
geom geometry(LineString,4326)
);
เห็นวัตถุ linestring นี้มีลักษณะดังนี้:
ฉันรู้ขอบเขตของข้อมูลของฉันดังนั้นฉันสามารถเพิ่ม Bbox ได้ดังนั้น LineStrings จึงสามารถปิดได้
ฉันต้องการสร้างตารางของ isopolygons myisopolygons
จากmyisolines
ตารางที่มีรูปหลายเหลี่ยมที่จะไม่ทับซ้อนกัน แต่สร้างพื้นผิวต่อเนื่องและมีคอลัมน์ที่val
มีval
isolines ต่ำสุดซึ่งเป็นรูปหลายเหลี่ยมที่เกิดขึ้น ฉันเข้าใจว่ามันสามารถเกิดขึ้นได้จากตัวแยกไอโซ (เกาะ) หรือไอโซที่ปิดด้วย bbox ในกรณีนั้นval
ควรนำมาจากไอโซนั้น มองเห็นควรมีลักษณะดังนี้:
ฉันคิดว่าฉันสามารถสร้างโทโพโลยีแล้วเปลี่ยนรูปใบหน้าเป็นรูปหลายเหลี่ยมได้ แต่ฉันไม่เข้าใจวิธีการทำอย่างถูกต้อง สิ่งนี้สามารถทำได้?
อีกทางเลือกหนึ่งคือการใช้ฟังก์ชั่นความแตกต่างระหว่าง bbox และรูปหลายเหลี่ยมที่สร้างขึ้นซ้ำ ๆ แต่ฉันคิดว่านั่นไม่ใช่วิธีที่ถูกต้องที่จะทำและไม่เร็วเลย