from shapely.geometry import Polygon, Point
p = Point(2,2)
poly = Polygon((0,0), (0,5), (5,0), (5,5))
print poly.contains(p)
这会打印出 False,尽管我很确定 (2,2) 在长度 5 的正方形内。或者也许我只是不知道 contains 方法是如何工作的。 p.within(poly) 也返回 False。我是否正确使用了 Polygon 类,还是我真的不擅长几何?
请您参考如下方法:
多边形应构造为
Polygon([(0,0), (5,0), (5,5), (0,5)])
在您的例子中,序列 (0,0), (0,5), (5,0), (5,5) 指定顺时针旋转 90 度的“字母 Z”,不是兴趣广场的边界。实际上,它甚至不会产生有效的多边形,即
>>> P=Polygon([(0,0), (0,5), (5,0), (5,5)])
>>> P.area
0.0
>>> P.is_valid
Self-intersection at or near point 2.5 2.5
False
