python - 在 GeoDjango 中查找一组多边形内的模型

标签 python django gis geodjango

我有一堆基于多边形的区域:

regions = Region.objects.filter(criteria=criteria)

模型定义如下:

class Region(models.Model):
    poly = models.PolygonField()

我有一个基于点的模型,如下所示:

class Example(models.Model):
    point = models.PointField()

有没有办法获取位于查询集中任意多边形内的所有Example实例? 我在文档中找不到与此相关的任何信息。提前致谢!

最佳答案

模型.py:

from django.contrib.gis import models

class Example(models.Model):
    point = models.PointField()
    objects = models.GeoManager()

您从所有这些区域中构建一个多边形,并询问该多边形内有什么示例

from django.contrib.gis.geos import MultiPolygon

list_poly = [reg.poly for reg in Region.objects.filter(criteria=criteria)]
multipolygon = MultiPolygon(list_poly)
list_examples = Example.objects.filter(point__within=multipolygon)

关于python - 在 GeoDjango 中查找一组多边形内的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27391689/

相关文章:

r - 在 sf 对象下绘制静态 basemap

python - 当我通过 python 的 PIL 将 .tif 合并到 RGB 带时出错

python - 在 python 中,是否有某种映射来返回类型的 "False value"?

python - 如何删除嵌套字典中的键及其所有值,然后按 "0","1","2","3"顺序更改和排列键,就像以前在 Python 中一样

django - 如何在不使用聚合函数的情况下在 Django 中执行 GROUP BY?

python - 南迁 myapp 0001 --fake

Python 写入文件使用不必要的存储?

python - 使用 numpy.argpartition 忽略 NaN

python - 如何在 Django 中实现 Symfony Partials 或 Components?

python - 如何将 Pandas 中的坐标从 NAD83 转换为常规 GPS 坐标(纬度/经度)?