在Django中获取特定半径内的所有积分

问题描述:

对于Google地图应用程序,我需要创建一个查询,根据给定的纬度/经度,在给定的经度/纬度范围内选择属于我的数据库中的所有项目点。在Django ORM中有没有一种有效的方法来实现这一点?在Django中获取特定半径内的所有积分

我到目前为止提出的最好方法是选择所有落入该圆的边界方格内的点(使用__range),然后在所有选定列表上调用迭代函数以确定它们是否真的落下在圈子里。

我的感觉是可能有更有效的方法 - 你会怎么做?

+0

尼斯,这绝对是最好的答案。只是为了感兴趣,任何想法你将如何在普通的Django中有效地解决它? – 2011-03-31 22:47:52

+0

你可能需要使用像这样的原始查询http://*.com/questions/1916953/filter-zipcodes-by-proximity-in-django-with-the-spherical-law-of-cosines – Galen 2011-04-01 00:28:33

+1

是否有可能在正常的Django应用程序中使用GeoDjango的方法? – Gocht 2015-08-07 15:59:33