man*_*eak 3 sqlite django coordinates geographic-distance
我将坐标存储为我的数据库中的纬度经度对.现在,我需要从给定的lat-long坐标中检索给定半径内的所有条目.例如,如果给定坐标48.796777,2.371140和距离20公里,它将检索距离该点20公里内的所有记录.
如果它提供任何简化或导致较少的CPU时间,则足够准确地计算点之间的"直线"距离,即不需要考虑地球的曲率.
如何用Django实现这一目标?更具体地说,如何为这样的查询构建视图(可能还有模型)?
你应该使用GeoDjango.它允许您对地理数据库条目执行距离查询.
from django.contrib.gis.measure import D
from django.contrib.gis.geos import *
from myapp.models import MyResult
pnt = fromstr('POINT(48.796777 2.371140 )', srid=4326)
qs = MyResult.objects.filter(point__distance_lte=(pnt, D(km=20)))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3494 次 |
| 最近记录: |