GeoDjango查询location__within = poly使用边界而不是实际形状

时间:2019-07-04 09:02:05

标签: python django geodjango

我正在使用GeoDjango查找多边形中的所有点,但似乎正在使用边界(NMW,NME,SME,SMW)查找点。因此,它带回的结果超出了主要形状。

polygon = Polygon((18.3825363358424 -33.97219070578159,...))
Order.objects.filter(location__within=polygon)

我希望查询将点带入形状内而不是其边界内。

即如果*是我的形状;我在#中得到要点,这似乎表明它是在边界而不是实际形状上进行查询。

**************
**************
******########
******########
******########

请告诉我我做错了什么吗?

1 个答案:

答案 0 :(得分:1)

好的,这看起来像是MySQL的局限性

https://docs.djangoproject.com/en/2.2/ref/contrib/gis/db-api/#mysql-spatial-limitations

  

换句话说,虽然使用MySQL时在GeoDjango中可以使用诸如contains之类的空间查找,但返回的结果实际上等同于在不同的空间后端上使用bbcontains时所返回的结果。

:(解决问题的其他方法