根据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上进行一些特殊配置还是文档完全错误?

最佳答案

您无需执行任何有关spacespaceite的操作,而只需更改您使用的坐标系(srid)。 Spatialite仅在地理坐标系而不是大地坐标上进行距离计算。检查模型定义中是否包含SRID。另外,您也可以切换到postgis后端。

10-08 06:42