在Django中获取一定半径内的所有点
Posted
技术标签:
【中文标题】在Django中获取一定半径内的所有点【英文标题】:Get all points within certain radius in Django 【发布时间】:2011-03-31 15:30:37 【问题描述】:对于 Google 地图应用程序,我需要创建一个查询,在给定每个点的纬度/经度的情况下,选择我的数据库中位于给定纬度/经度的某个半径内的所有项目。在 Django ORM 中有没有一种有效的方法来做到这一点?
到目前为止,我想出的最好方法是选择将落在该圆的边界正方形内的所有点(使用__range
),然后对所有选定的列表调用迭代函数以确定它们是否真的落在圈子里。
我的感觉是可能有更有效的方法 - 你会怎么做?
【问题讨论】:
【参考方案1】:Django 对此有GeoDjango
http://docs.djangoproject.com/en/dev/ref/contrib/gis/db-api/#distance-queries
【讨论】:
很好,这绝对是最好的答案。只是为了兴趣,知道如何在普通的 Django 中有效地解决它吗? 你可以直接使用像这篇文章***.com/questions/1916953/…这样的原始查询 在普通的 Django 应用程序中是否可以使用 GeoDjango 的方法?以上是关于在Django中获取一定半径内的所有点的主要内容,如果未能解决你的问题,请参考以下文章
如何查询postgres数据库以获取某些坐标10公里半径内的所有点