我是 POSTGIS 和 GeoDjango 的新手。我有一个在 POSTGIS 中工作的查询,但是,我很难将它转换为 GeoDjango 查询。
我的表world_node
包含两列:node
- 整数和 mpoint
- 几何点
POSTGIS SQL 查询(工作):
SELECT * FROM world_node
WHERE ST_CONTAINS(ST_GeomFromText('POLYGON((-100 0, 0 150, 150 0, 0 -100, -100 0))', 4326), mpoint);
我正在尝试获取指定多边形内包含的所有点,并且工作正常。
请帮助我使用 GeoDjango 语法。到目前为止,这是我的代码:
poly = GEOSGeometry('Polygon((-100 0, 0 150, 150 0, 0 -100, -100 0))', 4326)
nodes = Nodes.objects.filter(poly__contains=mpoint)
我收到以下错误:
NameError:名称“mpoint”未定义
注意:mpoint 是我的 Table 中的一列,也是我的 Node 类中 models.py 中的一个字段
任何帮助将不胜感激!