根据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上进行一些特殊配置或文档是否错误?
答案 0 :(得分:6)
您无需对spaceite执行任何操作,而是更改您正在使用的坐标系(srid)。 Spatialite仅在地理坐标系上进行距离计算,而不是大地测量。检查模型定义中的SRID。或者,您也可以切换到postgis后端。