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"