【问题标题】:Do I need specific configuration for Spatialite with GeoDjango?我需要使用 GeoDjango 对 Spatialite 进行特定配置吗?
【发布时间】:2011-10-25 20:25:44
【问题描述】:

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

【问题讨论】:

    标签: django geodjango spatial-query spatialite


    【解决方案1】:

    您无需对空间元素进行任何操作,只需更改您正在使用的坐标系 (srid)。 Spatialite 仅在地理坐标系上进行距离计算,而不是大地坐标系。检查模型定义中的 SRID。或者,您也可以切换到 postgis 后端。

    【讨论】:

    • 太好了,我已经将我的几何字段设置为 900913 并且至少有一些工作。必须弄清楚我真正需要哪种投影,但这是一个很好的开始。谢谢!
    • 如何在 PointField() 中做到这一点??
    猜你喜欢
    • 2010-12-20
    • 1970-01-01
    • 2014-10-03
    • 1970-01-01
    • 2021-08-25
    • 2016-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多