安裝 SpatiaLite

SpatiaLite 為 SQLite 新增空間支援,使其成為功能完整的空間資料庫。

首先,請檢查是否可以從系統套件或二進位檔安裝 SpatiaLite。

例如,在基於 Debian 的發行版 (已封裝 SpatiaLite 4.3+) 上,請嘗試安裝 libsqlite3-mod-spatialite 套件。對於較舊的版本,請安裝 spatialite-bin

對於 macOS,請按照以下說明操作。

對於 Windows,您可以在 Gaia-SINS 首頁上找到二進位檔。

在任何情況下,您應該始終可以從原始碼安裝

從原始碼安裝

在建置 SpatiaLite 之前,應先安裝GEOS 和 PROJ

SQLite

首先檢查 SQLite 是否使用 R*Tree 模組編譯。執行 sqlite3 命令列介面並輸入以下查詢

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

如果您收到錯誤,則必須從原始碼重新編譯 SQLite。否則,請跳過此部分。

要從原始碼安裝,請從 SQLite 下載頁面下載最新的合併原始碼封存檔,然後解壓縮

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

接下來,執行 configure 指令碼,但是需要自訂 CFLAGS 環境變數,以便 SQLite 知道要建置 R*Tree 模組

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

SpatiaLite 函式庫 (libspatialite)

下載頁面取得最新的 SpatiaLite 函式庫原始碼套件

$ 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

注意

對於從原始碼建置的 macOS 使用者,SpatiaLite 函式庫工具都需要設定其 target

$ ./configure --target=macosx

macOS 特定說明

若要安裝 SpatiaLite 函式庫和工具,macOS 使用者可以使用 Homebrew

Homebrew

Homebrew 會為您處理所有 SpatiaLite 相關套件,包括 SQLite、SpatiaLite、PROJ 和 GEOS。像這樣安裝它們

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

最後,為了讓 GeoDjango 能夠找到 SpatiaLite 函式庫,請將 SPATIALITE_LIBRARY_PATH 設定設定為其路徑。這會在您的 brew 安裝路徑內,您可以使用以下命令檢查:

$ brew --prefix
/opt/homebrew

使用此 brew 安裝路徑,可以像這樣建構完整路徑

SPATIALITE_LIBRARY_PATH = "/opt/homebrew/lib/mod_spatialite.dylib"
回到頂部