gpt4 book ai didi

django - 让 GeoDjango + Spatialite 在 Windows 上运行

转载 作者:IT王子 更新时间:2023-10-29 06:29:38 28 4
gpt4 key购买 nike

我在设置使用 Spatialite 作为 Windows 机器后端的 GeoDjango 安装时仍然遇到问题。

我使用了 GeoDjango 安装程序并从 http://www.gaia-gis.it/spatialite/binaries.html 下载了预编译库。 , 并将它们转储到我的 geodjango/bin 目录中。

我将我的 pysqlite2 安装升级到最新版本,以便可以加载扩展,并且我在我的设置文件中指定了 SPATIALITE_LIBRARY_PATH

当我运行 manage syncdb 时,我得到以下输出

C:\stuff>manage.py syncdbSpatiaLite version ..: 2.3.1    Supported Extensions:        - 'VirtualShape'        [direct Shapefile access]        - 'VirtualText'         [direct CSV/TXT access]        - 'VirtualNetwork       [Dijkstra shortest path]        - 'RTree'               [Spatial Index - R*Tree]        - 'MbrCache'            [Spatial Index - MBR cache]        - 'VirtualFDO'          [FDO-OGR interoperability]        - 'SpatiaLite'          [Spatial SQL - OGC]PROJ.4 Rel. 4.6.1, 21 August 2008GEOS version 3.0.2-CAPI-1.4.2

但是,在为表设置索引时,我收到以下消息:

...Installing custom SQL for core.LocationHint modelupdateTableTriggers: "no such module: rtree"...

我试图忽略该消息,但我的模型无法正确保存。

我有点困惑,因为似乎使用了 Spatialite 库并启用了“RTree”扩展,但我仍然收到错误消息。网上没有太多关于此错误的信息;我在 sqlite.org/rtree.html 找到了 RTree 文档,但我的印象是它已经包含在 spatialite 中,因为它列在“支持的扩展”下。

我真的需要编译我自己的 sqlite 库吗?有人可以提供一个已经包含 RTree 的 .dll 吗?我做错了什么吗?感谢任何帮助,谢谢!

最佳答案

Hans,spatialite 是 SQLITE3 的扩展。

SQLite3 需要用这个选项专门编译,但通常不需要。例如,mac 上的默认版本不是用 RTREE 编译的。但是我认为应该包含 sqlite3,尽管您的 python 安装和 pysqlite 可能使用原始版本的 sqlite3 或其他版本。

你可以试试,sqlite3.version 看看python使用的是哪个版本。

另请注意,您必须使用正确的配置选项重新安装 pysqlite 模块,即在运行 setup.py install 之前,更改 setup.cfg:

[build_ext]
#define=
include_dirs=PATH_TO_INCLUDE
library_dirs=PATH_TO_LIBS
libraries=sqlite3
#define=SQLITE_OMIT_LOAD_EXTENSION

http://www.gaia-gis.it/spatialite/install-windows.html

关于django - 让 GeoDjango + Spatialite 在 Windows 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1800586/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com