을, 이는 Shapely가 XY 평면에서 2D 지오메트리로만 실제로 작동하기 때문입니다. 여기에 Z 좌표는 무시됩니다. XY 평면에 투영 될 때 유효한 폴리곤이 아니므로 Shapely는 동등하다는 것을 동의 할 준비가되어 있지 않습니다. 당신은 X 사용 (필요)를 제거하면 그것은 잘 작동 좌표
from shapely.geometry import Polygon
poly1 = Polygon(([220.0, 400, 500], [220.0, 20, 500], [220.0, 20, 0], [220.0, 400, 0], [220.0, 400, 500]))
poly2 = Polygon(([220.0, 20, 500], [220.0, 400, 500], [220.0, 400, 0], [220.0, 20, 0], [220.0, 20, 500]))
print (poly1.equals(poly2)) # False
print poly1.is_valid # False
print poly2.is_valid # False
poly1 = Polygon(([400, 500], [20, 500], [20, 0], [400, 0], [400, 500]))
poly2 = Polygon(([20, 500], [400, 500], [400, 0], [20, 0], [20, 500]))
print (poly1.equals(poly2)) # True
print poly1.is_valid # True
print poly2.is_valid # True
poly1 = Polygon(([220.0, 400], [220.0, 20], [220.0, 20], [220.0, 400], [220.0, 400]))
poly2 = Polygon(([220.0, 20], [220.0, 400], [220.0, 400], [220.0, 20], [220.0, 20]))
print (poly1.equals(poly2)) # False
print poly1.is_valid # False
print poly2.is_valid # False
가이 http://stackoverflow.com/questions/9470406/python-shapely-intersection-parallel-planes와 관련이 -는 IS Z 좌표 무시. '220.0'의'x-'Coordinate의 uniform 값을 제거하여 2D 문제로 줄이면'poly1.equals (poly2)'는해야 할대로'True'를 반환합니다 ... – ewcz