Нужна ли конкретная конфигурация для Spatialite с GeoDjango? - PullRequest
5 голосов
/ 12 августа 2011

Согласно https://docs.djangoproject.com/en/1.3/ref/contrib/gis/db-api/, Spatialite поддерживает GeoQuerySet.distance(). Однако, импортировав список областей (MultiPolygon как атрибут mpoly), я пытаюсь сделать следующее:

Area.objects.all().distance(center)

И вместо чего-то полезного я получаю только сообщение об ошибке: " ValueError: SQLite не поддерживает вычисления линейного расстояния в геодезических системах координат. "

Что здесь не так, мне нужна какая-то специальная конфигурация на Spatialite или документация просто неверна?

1 Ответ

6 голосов
/ 19 августа 2011

Вам не нужно ничего делать в отношении пространственного объекта, а просто изменить используемую вами систему координат (srid).Spatialite выполняет расчеты расстояния только по географическим системам координат, а не по геодезическим.Проверьте SRID, который у вас есть в определении вашей модели.В качестве альтернативы вы также можете переключиться на бэкэнд postgis.

...