我试图在某一点5000米范围内获得N分。我的数据库是Postgres(PostGis)。我有这样的模型:
class Theatre(models.Model):
geom = models.PointField(srid=4326, blank=True, null=True, default=None)
objects = models.GeoManager()
然后我在django shell中运行了几行:
Theatre.objects.filter(geom__dwithin =(GEOSGeometry('POINT(30.111199 -97.309990)'),D(m = 5000)))
我收到错误:
ValueError: Only numeric values of degree units are allowed on geographic DWithin queries.
我在here中找到了该文档,它说的是计算几何距离..
请帮忙..非常感谢!!
答案 0 :(得分:-1)
看起来POINT WKT中的x和y值是相反的。
尝试:
Theatre.objects.filter(geom__dwithin=(GEOSGeometry('POINT(-97.309990 30.111199)'), D(m=5000)))