2017-11-09 29 views
0

폴리곤이 그려지는 일련의 이미지가 있습니다. 나는 그 폴리곤의 포인트를 가지고 있으며이를 Shapely를 사용하여 그리고 아이 트랙커의 특정 포인트가 폴리곤으로 떨어지는 지 확인합니다.어떻게 파이썬을 사용하여 폴리곤을 미러링 할 수 있습니까?

이제 이미지 중 일부는 미러링되었지만 폴리곤의 좌표가 그려지지 않았습니다. 다각형을 어떻게 수평으로 대칭 이동할 수 있습니까? Shapely와 함께이 작업을 수행 할 수있는 방법이 있습니까?

+0

'파이썬'과 같은 좀 더 일반적인 태그를 사용하는 것이 좋습니다. 그러면 더 많은 사람들에게 다가 갈 수 있습니다. – Klyner

답변

1

폴리곤을 세로축에 대해 반사시키려는 경우, 즉 수평으로 뒤집을 경우, 한 가지 옵션은 shapely.affinity에 의해 제공된 scale 변형 (음수 단위 배율 인수 사용)을 사용하거나 사용자 정의 변형을 사용하는 것입니다 :

from shapely.affinity import scale 
from shapely.ops import transform 
from shapely.geometry import Polygon 

def reflection(x0): 
    return lambda x, y: (2*x0 - x, y) 

P = Polygon([[0, 0], [1, 1], [1, 2], [0, 1]]) 
print(P) 
#POLYGON ((0 0, 1 1, 1 2, 0 1, 0 0)) 

Q1 = scale(P, xfact = -1, origin = (1, 0)) 
Q2 = transform(reflection(1), P) 

print(Q1) 
#POLYGON ((2 0, 1 1, 1 2, 2 1, 2 0)) 
print(Q2) 
#POLYGON ((2 0, 1 1, 1 2, 2 1, 2 0)) 
+0

완벽하게 작동합니다. 고마워요! – Jancso

+0

@Jancso 내 기쁨! :) – ewcz