根据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后端。