安装 SpatiaLite

SpatiaLite 为 SQLite 增加了空间支持,使其成为一个全功能的空间数据库。

首先,检查是否可以从系统包或二进制文件中安装 SpatiaLite。

For example, on Debian-based distributions that package SpatiaLite 4.3+, try to install the libsqlite3-mod-spatialite package. For older releases install spatialite-bin.

对于 macOS,请按照 下方的说明

对于 Windows,你可以在 Gaia-SINS 主页上找到二进制文件。

在任何情况下,你都应该能够 从源码安装

从源码安装

GEOS and PROJ should be installed prior to building SpatiaLite.

SQLite

Check first if SQLite is compiled with the R*Tree module. Run the sqlite3 command line interface and enter the following query:

sqlite> CREATE VIRTUAL TABLE testrtree USING rtree(id,minX,maxX,minY,maxY);

如果你获得一个错误,你将不得不从源码重新编译 SQLite。否则,请跳过本节。

To install from sources, download the latest amalgamation source archive from the SQLite download page, and extract:

$ wget https://www.sqlite.org/YYYY/sqlite-amalgamation-XXX0000.zip
$ unzip sqlite-amalgamation-XXX0000.zip
$ cd sqlite-amalgamation-XXX0000

Next, run the configure script -- however the CFLAGS environment variable needs to be customized so that SQLite knows to build the R*Tree module:

$ CFLAGS="-DSQLITE_ENABLE_RTREE=1" ./configure
$ make
$ sudo make install
$ cd ..

SpatiaLite 库(libspatialite

Get the latest SpatiaLite library source bundle from the download page:

$ wget https://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-X.Y.Z.tar.gz
$ tar xaf libspatialite-X.Y.Z.tar.gz
$ cd libspatialite-X.Y.Z
$ ./configure
$ make
$ sudo make install

备注

For macOS users building from source, the SpatiaLite library and tools need to have their target configured:

$ ./configure --target=macosx

macOS 特定说明

To install the SpatiaLite library and tools, macOS users can use Homebrew.

Homebrew

Homebrew handles all the SpatiaLite related packages on your behalf, including SQLite, SpatiaLite, PROJ, and GEOS. Install them like this:

$ brew update
$ brew install spatialite-tools
$ brew install gdal

最后,为了让 GeoDjango 能够找到 SpatiaLite 库,在你的 settings.py 中添加以下内容:

SPATIALITE_LIBRARY_PATH = "/usr/local/lib/mod_spatialite.dylib"