我正在尝试将地理定位添加到我的搜索API中。在API中,您可以根据搜索项和当前位置搜索业务。我正在使用django干草堆进行索引和查询,除了一个奇怪的问题外,一切都在工作。
当我搜索半径为5英里(D(mi=5)),我没有看到任何结果,即使有明显的结果在5英里半径内输入的位置。但是,当我进入100英里(D(mi=100))时,我确实看到了结果,这是在1英里内输入的位置。
问题:是否可能距离类(D)使用与WGS-84不同的投影?
下面是我的iPython shell会话:
In [5]: from haystack.utils.geo import D
In [6]: from haystack.query import SearchQuerySet
In [7]: dist = D(mi=5)
In [8]: point = Point(-122.256013, 37.864203)
In [9]: SearchQuerySet().dwithin('location', point, dist)
Out[9]: []
In [10]: dist2 = D(mi=100)
In [11]: sqs = SearchQuerySet().dwithin('location', point, dist).distance('location', point2)
In [12]: sqs
Out[12]: [<SearchResult: api.business (pk=u'3232')>, <SearchResult: api.business (pk=u'3238')>]
In [13]: sqs[0].distance
Out[13]: Distance(km=0.140045623232) << This is correct版本
Python库
外部属地
https://stackoverflow.com/questions/26578808
复制相似问题