【问题标题】:GEODjango: select all objects that are contained in a POST request given polygonGEODjango:选择给定多边形的POST请求中包含的所有对象
【发布时间】:2013-12-18 16:02:03
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: django geodjango point-in-polygon


    【解决方案1】:

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

    places.objects.filter(geom__within=p)
    

    假设geom 是您的几何列。

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

    【讨论】:

      猜你喜欢
      • 2016-09-07
      • 2015-03-07
      • 2018-08-22
      • 2022-12-05
      • 2013-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多