# Documentation Django 5.2.8

# 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 ayant des paquets SpatiaLite 4.3+, essayez d’installer le paquet `libsqlite3-mod-spatialite`. Pour les distributions plus anciennes, installez `spatialite-bin`.

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.

## Installation à partir des sources

GEOS et PROJ 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 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 utiliser Homebrew.

### Homebrew

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

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

Finalement, pour que GeoDjango puisse trouver la bibliothèque SpatiaLite, définissez le réglage `SPATIALITE_LIBRARY_PATH` à la valeur de son chemin. Celui-ci devrait se trouver sous le chemin d’installation `brew`, ce que vous pouvez contrôlez avec :

    $ brew --prefix
    /opt/homebrew

À partir de ce chemin d’installation `brew`, le chemin complet peut être construit comme ceci :

    SPATIALITE_LIBRARY_PATH = "/opt/homebrew/lib/mod_spatialite.dylib"