Python shapely Polygon.contains(点)未给出正确答案(我认为)

Python shapely Polygon.contains(点)未给出正确答案(我认为),python,shapely,Python,Shapely,这会打印出False,尽管我很确定(2,2)在长度的平方之内5。或者我只是不知道contains方法是如何工作的p.within(poly)还返回False。我是否正确地使用了Polygon类,还是我在几何方面真的很差?多边形应该按照 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
类,还是我在几何方面真的很差?

多边形应该按照

from shapely.geometry import Polygon, Point

p = Point(2,2)
poly = Polygon((0,0), (0,5), (5,0), (5,5))

print poly.contains(p)
在您的例子中,序列
(0,0)、(0,5)、(5,0)、(5,5)
指定了一个顺时针旋转90度的“字母Z”,而不是感兴趣的正方形的边界。实际上,它甚至不会生成有效的多边形,即

Polygon([(0,0), (5,0), (5,5), (0,5)])

多边形应构造为

from shapely.geometry import Polygon, Point

p = Point(2,2)
poly = Polygon((0,0), (0,5), (5,0), (5,5))

print poly.contains(p)
在您的例子中,序列
(0,0)、(0,5)、(5,0)、(5,5)
指定了一个顺时针旋转90度的“字母Z”,而不是感兴趣的正方形的边界。实际上,它甚至不会生成有效的多边形,即

Polygon([(0,0), (5,0), (5,5), (0,5)])