安裝 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"