ฉันมีรูปหลายเหลี่ยมสองอัน
POLYGON ((- 5 -5, -5 5,5 5,5 -5, -5 -5)) POLYGON ((1 1, 1 7, 7, 7 7, 7 1, 1 1))
และต้องการแยกพวกเขาอย่างเท่าเทียมกัน ผลลัพธ์ควรแยกตามเส้นที่มีเครื่องหมายสีแดง
ฉันใช้ qgis / python shapely และต้องการใช้ python
ฉันมีรูปหลายเหลี่ยมสองอัน
POLYGON ((- 5 -5, -5 5,5 5,5 -5, -5 -5)) POLYGON ((1 1, 1 7, 7, 7 7, 7 1, 1 1))
และต้องการแยกพวกเขาอย่างเท่าเทียมกัน ผลลัพธ์ควรแยกตามเส้นที่มีเครื่องหมายสีแดง
ฉันใช้ qgis / python shapely และต้องการใช้ python
คำตอบ:
ฉันใช้วิธีการกับ voronoi รูปหลายเหลี่ยมครั้งเดียว ฉันทำด้วยมือฉันมีความคิดที่คลุมเครือว่าคุณจะทำมันด้วยหุ่นดีได้อย่างไร แต่นี่คือวิธีที่มันจะเกิดขึ้น
ขั้นแรกให้คุณแยกจุดยอดของรูปหลายเหลี่ยมที่ซ้อนกันแต่ละอันและสร้างรูปหลายเหลี่ยม Voronoi (เวกเตอร์> เครื่องมือเรขาคณิต> แยกโหนด & เวกเตอร์> เครื่องมือรูปทรงเรขาคณิต> vononoi) ด้วยรูปร่างที่เกิดขึ้นคุณสามารถวาดเส้นที่แบ่งพื้นที่ทับซ้อนของคุณเป็นสองเท่า (สายสีเขียวสดใส)
คุณคลิปเลเยอร์ voronoi ด้วยรูปหลายเหลี่ยมที่ทับซ้อนกันและเอาการทับซ้อนออกจากรูปร่างดั้งเดิมและวางรูปหลายเหลี่ยม voronoi ที่ตัดกลับด้วยรูปร่างเดิมของคุณ เลือกผสานรวมทั้ง!
ทีนี้มันดูหยาบไปหน่อยเพราะของฉันมีรูปร่างที่เรียบง่าย แต่คุณทำให้มันหนาแน่นขึ้น (Vector> เครื่องมือรูปทรงเรขาคณิต> รูปทรงความหนาแน่น) และเพิ่มโหนด 20 จุดระหว่างจุดสุดยอดแต่ละจุดที่มีอยู่คุณสามารถมีสิ่งนี้:
ไหนดีกว่ากัน ง่ายถ้าคุณมีรูปร่างเพียงเล็กน้อยเท่านั้นที่จะแก้ไข