我有一堆基于多边形的区域:
regions = Region.objects.filter(criteria=criteria)
模型定义如下:
class Region(models.Model):
poly = models.PolygonField()
我有一个基于点的模型,就像这个:
class Example(models.Model):
point = models.PointField()
有没有办法让所有Example的实例都在查询集中的任何多边形内? 我在文档中找不到与此相关的任何信息..提前致谢!
答案 0 :(得分:4)
models.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)