2016-04-06 20 views
0

Aşağıdaki A görüntüsünde olduğu gibi bitişik iki şekle sahibim. Nasıl mavi çokgen (poly1) ve gri çokgen (poly2) için, sağ taraftaki kırmızı noktaya sol kırmızı nokta ekleyebilir? Buradaki fikir, her iki şeklin de, bu iki nokta tarafından tanımlanan bir çizgi parçasını paylaşacak olmasıdır.Bir kenarı düzgün bir şekilde paylaşan Çokgenlere nasıl puan ekleyebilirim?

A) adjacent shapes

Ben kesişim poly1.intersection(poly2) arayarak olduğunu LineString bulabilirsiniz ama gerekli olduğu gibi görüntü aşağıdaki B durumda (eksik nokta veya noktalar nasıl ekleneceğini bilmiyorum) .

B) enter image description here

cevap

0

Ben doğru cevap Ben bunu duymaktan mutlu olurum eksik bir şey varsa da, union kullanmak olduğunu düşünüyorum.

poly1 = wkt.loads("POLYGON((1 1,2 1,2 2,1 2,1 1))") 
poly2 = wkt.loads("POLYGON((1.5 2,2.5 2,2.5 3,1.5 3,1.5 2))") 

shared_line = poly1.intersection(poly2) 
poly1 = poly1.union(shared_line) 
poly2 = poly2.union(shared_line)