Installation de SpatiaLite

SpatiaLite ajoute la prise en charge spatiale à SQLite, en en faisant une base de données spatiale pleinement opérationnelle.

Tout d’abord, vérifiez si vous pouvez installer SpatiaLite à partir de paquets systèmes ou de binaires.

Par exemple, avec les distributions basées sur Debian, essayez d’installer le paquet spatialite-bin. Pour les distributions qui proposent SpatiaLite 4.2+, installez libsqlite3-mod-spatialite.

Pour macOS, suivez les instructions ci-dessous.

Pour Windows, vous pouvez trouver des binaires sur la page d’accueil Gaia-SINS.

Dans tous les cas, il devrait toujours être possible d”installer à partir des sources.

Réglage SPATIALITE_LIBRARY_PATH obligatoire pour SpatiaLite 4.2+

Si vous utilisez SpatiaLite 4.2+, vous devez indiquer ceci dans votre settings.py:

SPATIALITE_LIBRARY_PATH = 'mod_spatialite'

Votre système d’exploitation peut exiger une variante différente telle que mod_spatialite.so (observé avec Debian Buster et Ubuntu 18.04).

Installation à partir des sources

GEOS et PROJ.4 doivent être installées avant de compiler SpatiaLite.

SQLite

Contrôler d’abord si SQLite est compilé avec le module R*Tree. Lancez l’interface en ligne de commande sqlite3 et saisissez la requête suivante :

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

Si vous obtenez une erreur, vous devrez recompiler SQLite à partir de ses sources. Sinon, vous pouvez sans autre passer à la section suivante.

Pour installer à partir des sources, téléchargez la dernière version de l’archive des sources amalgamation à partir de la page de téléchargement de SQLite et faites-en l’extraction :

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

Ensuite, lancez le script configure; cependant, la variable d’environnement CFLAGS doit être personnalisée afin que SQLite sache qu’il doit compiler le module R*Tree :

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

Bibliothèque SpatiaLite (libspatialite)

Récupérez le paquet groupé des sources de la bibliothèque Spatialite le plus récent à partir de la page de téléchargement:

$ 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

Note

Pour les utilisateurs de macOS compilant à partir des sources, il faut configurer l’option target pour la bibliothèque et les outils SpatiaLite :

$ ./configure --target=macosx

Instructions spécifiques à macOS

Pour installer la bibliothèque et les outils SpatiaLite, les utilisateurs de macOS peuvent choisir entre les systèmes Paquets KyngChaos et Homebrew.

KyngChaos

Tout d’abord, suivez les instructions de la section Paquets KyngChaos.

Lors de la création d’une base de données Spatialite, le programme spatialite est requis. Cependant, au lieu d’essayer de compiler les outils SpatiaLite à partir des sources, téléchargez les binaires SpatiaLite pour macOS et installez spatialite à un emplacement accessible dans votre chemin PATH. Par exemple :

$ curl -O https://www.gaia-gis.it/spatialite/spatialite-tools-osx-x86-2.3.1.tar.gz
$ tar xzf spatialite-tools-osx-x86-2.3.1.tar.gz
$ cd spatialite-tools-osx-x86-2.3.1/bin
$ sudo cp spatialite /Library/Frameworks/SQLite3.framework/Programs

Pour terminer et afin que GeoDjango puisse trouver la bibliothèque SpatiaLite de KyngChaos, ajoutez ce qui suit à votre fichier settings.py:

SPATIALITE_LIBRARY_PATH='/Library/Frameworks/SQLite3.framework/SQLite3'

Homebrew

Homebrew se charge lui-même d’installer tous les paquets liés à SpatiaLite, y compris SQLite3, SpatiaLite, PROJ et GEOS. Voici comment les installer :

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

Pour terminer et afin que GeoDjango puisse trouver la bibliothèque SpatiaLite, ajoutez ce qui suit à votre fichier settings.py:

SPATIALITE_LIBRARY_PATH='/usr/local/lib/mod_spatialite.dylib'
Back to Top