Installera SpatiaLite¶
SpatiaLite lägger till spatialt stöd till SQLite, vilket gör det till en fullfjädrad spatial databas.
Kontrollera först om du kan installera SpatiaLite från systempaket eller binärfiler.
På Debian-baserade distributioner som innehåller SpatiaLite 4.3+ kan du till exempel försöka installera paketet libsqlite3-mod-spatialite
. För äldre utgåvor installeras spatialite-bin
.
För macOS, följ instruktionerna nedan.
För Windows kan du hitta binärfiler på hemsidan Gaia-SINS.
I vilket fall som helst bör du alltid kunna installera från källan.
Installera från källan¶
GEOS och PROJ bör installeras innan SpatiaLite byggs.
SQLite¶
Kontrollera först om SQLite är kompilerat med R*Tree module. Kör kommandoradsgränssnittet sqlite3 och ange följande fråga:
sqlite> CREATE VIRTUAL TABLE testrtree USING rtree(id,minX,maxX,minY,maxY);
Om du får ett felmeddelande måste du kompilera SQLite från källan igen. Annars kan du hoppa över detta avsnitt.
För att installera från källor, ladda ner det senaste amalgamationskällarkivet från SQLite nedladdningssida och extrahera:
$ wget https://www.sqlite.org/YYYY/sqlite-amalgamation-XXX0000.zip
$ unzip sqlite-amalgamation-XXX0000.zip
$ cd sqlite-amalgamation-XXX0000
Därefter kör du skriptet configure
- dock måste miljövariabeln CFLAGS
anpassas så att SQLite vet att R*Tree-modulen ska byggas:
$ CFLAGS="-DSQLITE_ENABLE_RTREE=1" ./configure
$ make
$ sudo make install
$ cd ..
SpatiaLite-bibliotek (libspatialite
)¶
Hämta det senaste källkodspaketet för SpatiaLite-biblioteket från nedladdningssidan:
$ 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
Observera
För macOS-användare som bygger från källkod måste SpatiaLite-biblioteket och verktygen ha sitt target
konfigurerat:
$ ./configure --target=macosx
macOS-specifika instruktioner¶
För att installera SpatiaLite-biblioteket och -verktygen kan macOS-användare använda Homebrew.
Hemmabryggare¶
Homebrew hanterar alla SpatiaLite-relaterade paket för din räkning, inklusive SQLite, SpatiaLite, PROJ och GEOS. Installera dem så här:
$ brew update
$ brew install spatialite-tools
$ brew install gdal
Slutligen, för att GeoDjango ska kunna hitta SpatiaLite-biblioteket, ställ in inställningen SPATIALITE_LIBRARY_PATH
till dess sökväg. Detta kommer att ligga inom din brew-installationssökväg, som du kan kontrollera med:
$ brew --prefix
/opt/homebrew
Med hjälp av denna brew-installationssökväg kan den fullständiga sökvägen konstrueras så här:
SPATIALITE_LIBRARY_PATH = "/opt/homebrew/lib/mod_spatialite.dylib"