ฉันมีรูปหลายเหลี่ยมซ้อนกันและฉันพยายามแบ่งพื้นที่เพื่อหลีกเลี่ยงการซ้อนทับกัน ฉันคิดว่าปัญหาของฉันค่อนข้างง่าย การใช้ผลิตภัณฑ์ ESRI และhttp://arcscripts.esri.com/details.asp?dbid=16700เพื่อนร่วมงานของฉันคำนวณใน 48 วินาที
ฉันพยายามทำกับ postgis โดยใช้http://s3.opengeo.org/postgis-power.pdf#page=24 (คาดเดารายละเอียดโดยใช้http://trac.osgeo.org/postgis/wiki/UsersWikiSimplifyPreserveTopologyเป็นแรงบันดาลใจ) แต่มันช้ามากที่ฉันทำไม่ได้กับโพลีมากกว่า 10 อัน (ฉันมี 800 อันเพื่อแยก) ส่วนที่ช้าคือ ST_Union ฉันลองสิ่งต่าง ๆ แต่ไม่มีที่ไหนที่ประสบความสำเร็จนี่คือสถานการณ์ปัจจุบัน:
select geom from
(select st_linemerge(st_union(geom)) as geom from
(select st_exteriorring((st_dumprings((st_dump(t.geom)).geom)).geom) as geom from
(SELECT geometry AS geom, id
FROM tt
WHERE campaign_id = 204
ORDER BY id limit 200) t) t2) t3
สิ่งนี้ได้รับการคำนวณเป็นเวลา 26 นาที (linemerge () ไม่ใช่จริง) โพลีคือ MultiPolygons ในกรณีที่ st_dump ทำผิดพลาดคุณ
คุณมีเคล็ดลับหรือไม่? st_union () ของ linework เป็นส่วนที่ช้ามาก
ขอบคุณ
นิโก้
PS: นี่คือตัวเลขบางส่วน: 852 มัลติโพลิกอน, นำไปสู่ 14880 รูปหลายเหลี่ยม, นำไปสู่ 21467 linestrings รวมยอด 315513 จุด