根据 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 上进行一些特殊配置还是文档完全错误?
最佳答案
你不需要做任何关于空间的事情,而是改变你正在使用的坐标系(srid)。 Spatialite 仅对地理坐标系进行距离计算,而不是大地坐标系。检查您的模型定义中是否有 SRID。或者,您也可以切换到 postgis 后端。
关于django - 我是否需要使用 GeoDjango 对 Spatialite 进行特定配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7041164/