2

我的请求具有形成多边形的坐标。

plist = []
...
plist.append(fromstr('POINT(%s)' %(value)))
...
p = Polygon(plist)

使用 GeoDjango 我想places.objects.all()从包含在多边形中的表中选择所有对象 ()。

浏览文档我正在寻找方法如何验证单个点是否与多边形相交或包含在多边形(p.mpoly.contains(pnt))中,但不适用于点集合

有没有办法实现这一点,或者我应该为此使用存储过程?

4

1 回答 1

3

我认为过滤器中的 GeoQuerySet您正在寻找的:

places.objects.filter(geom__within=p)

假设这geom是您的几何列。

或者,您可以使用包含,但这仅考虑多边形边界框,根据您的用例,这对您来说可能就足够了。

于 2013-12-19T12:38:52.510 回答