Запросы о расстоянии GeoDjango возвращают неверные результаты

Я только что запустил GeoDjango на своей машине разработки. Проблема в том, что я не могу заставить дистанционный запрос работать правильно. Независимо от того, какой SRID я использую, результаты измерения расстояния абсолютно неверны. Вот пример.

>>> from django.contrib.gis.measure import D
>>> from app.models import Place
>>> from django.contrib.gis.geos import Point
>>> qs = Place.objects.all()
>>> point = Point(-118, 34)
>>> qs.filter(coordinates__distance_lte=(point, D(m=1)))
[<Place: 7-Eleven>, <Place: Arthur Murray Dance Studio>, <Place: Costco>, <Place: AMC Century City 15>, <Place: 24 Hour Fitness>, <Place: Ralphs>, <Place: Houston's Restaurant>, <Place: CVS/pharmacy>, <Place: Shaky Alibi>, <Place: Sephora>, <Place: Trader Joe's>]

Проблема в том, что эти места находятся намного дальше, чем на 1 м от точки .

Я пробовал поиграть с этим, но без особого успеха. Вот пример с другим SRID.

>>> qs = Place.objects.all().transform(3786)
>>> point = Point(-118, 34, srid=3786)
>>> qs.filter(coordinates__distance_lte=(point, D(m=1)))
[<Place: 7-Eleven>, <Place: Arthur Murray Dance Studio>, <Place: Costco>, <Place: AMC Century City 15>, <Place: 24 Hour Fitness>, <Place: Ralphs>, <Place: Houston's Restaurant>, <Place: CVS/pharmacy>, <Place: Shaky Alibi>, <Place: Sephora>, <Place: Trader Joe's>]

У меня такое ощущение, что я просто выбираю неправильные SRID, но ни один из них, с которым я столкнулся в сети, не работал и не дал хоть какой-то ответ, который был бы даже умеренно полезным.

Любая помощь приветствуется!

8
задан Dan Loewenherz 29 July 2011 в 02:39
поделиться