django - 我是否需要使用 GeoDjango 对 Spatialite 进行特定配置?

标签 django geodjango spatial-query spatialite

根据 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/

相关文章:

python - 如何在 Django 中以编程方式生成 AccessToken?

django - 在 Django 中建模一个简单的分类帐

postgis - 是否可以通过 GeoDjango 或 PostGIS 中的查询选择面积最大的多边形?

sql-server - 两个 SQL Server 层/表的空间相交

php - 优化mysql查询以使用空间索引选择多边形中的所有点

Django:有什么方法可以在管理界面中对模型方法进行排序?

python - Django 模板中的简短条件语句

python - 我应该使用 GeoDjango 绘制平面图吗?

python - 如何获得 geodjango 的 k 个最近邻居?

sql - 显示包含建筑物质心的地 block 的空间 SQL 查询