【问题标题】:latitude and longitude query in djangodjango中的经纬度查询
【发布时间】:2015-01-22 09:18:08
【问题描述】:

我需要快速修复 django 中的简单空间搜索。 我现在的主要问题是浮点数不能是负数,我不知道如何克服这个问题。

这是我的模型的样子

class CustomEvent(models.Model):
    lat = models.FloatField(blank=True, null=True)
    lng = models.FloatField(blank=True, null=True)

这是我非常糟糕的查询,但我需要让它快速运行

lat = float(request.GET['lat'])
lng = float(request.GET['lng'])

min_lat = lat - 1 # You have to calculate this offsets based on the user location.
max_lat = lat + 1 # Because the distance of one degree varies over the planet.
min_lng = lng - 1
max_lng = lng + 1 

custom_events_raw = CustomEvent.objects.filter(lat__gt=min_lat, lat__lt=max_lat, lng__gt=min_lng, lng__lt=max_lng)

我知道我应该使用 geodjango 或其他东西进行空间查询,但这只是需要看起来像它现在可以工作。

【问题讨论】:

    标签: python django


    【解决方案1】:

    浮点数可以是负数。但是你不会从 GET 字符串中得到浮点数,你会得到字符串。所以先把字符串转成浮点数。

    【讨论】:

      猜你喜欢
      • 2013-12-29
      • 2012-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多