---
title: "Installation des bibliothèques géospatiales"
version: 5.0
locale: fr
source: https://docs.djangoproject.com/fr/5.0/ref/contrib/gis/install/geolibs/
canonical: https://djangodocs.dev/fr/5.0/ref/contrib/gis/install/geolibs/
---
# Installation des bibliothèques géospatiales

GeoDjango utilise et fournit des interfaces pour les bibliothèques géospatiales libres suivantes :

| Programme | Description | Requis | Versions prises en charge |
| --- | --- | --- | --- |
| [GEOS](/fr/5.0/ref/contrib/gis/geos/) | Geometry Engine Open Source | Oui | 3.12, 3.11, 3.10, 3.9, 3.8 |
| [PROJ](https://proj.org/) | Bibliothèque de projections cartographiques | Oui (uniquement PostgreSQL et SQLite) | 9.x, 8.x, 7.x, 6.x, 5.x |
| [GDAL](/fr/5.0/ref/contrib/gis/gdal/) | Bibliothèque | Oui | 3.7, 3.6, 3.5, 3.4, 3.3, 3.2, 3.1, 3.0, 2.4 |
| [GeoIP](/fr/5.0/ref/contrib/gis/geoip2/) | Bibliothèque de géolocalisation basée sur IP | Non | 2 |
| [PostGIS](https://postgis.net/) | Extensions spatiales pour PostgreSQL | Oui (uniquement PostgreSQL) | 3.4, 3.3, 3.2, 3.1, 3.0, 2.5 |
| [SpatiaLite](https://www.gaia-gis.it/gaia-sins/) | Extensions spatiales pour SQLite | Oui (uniquement SQLite) | 5.1, 5.0, 4.3 |

Notez que des versions plus anciennes ou plus récentes de ces bibliothèques *peuvent* aussi très bien fonctionner avec GeoDjango. À vous de voir.

> **Note**
>
> Les interfaces GeoDjango vers GEOS, GDAL et GeoIP peuvent être utilisées indépendamment de Django. Autrement dit, il n’est pas nécessaire d’avoir une base de données ou un fichier de réglages, importez-les comme un module normal à partir de [`django.contrib.gis`](/fr/5.0/ref/contrib/gis/#module-django.contrib.gis).

Sur Debian/Ubuntu, il est conseillé d’installer les paquets suivants qui installeront, directement ou par l’intermédiaire de dépendances, les bibliothèques géospatiales nécessaires :

```console
$ sudo apt-get install binutils libproj-dev gdal-bin
```

Veuillez également consulter les instructions spécifiques si vous utilisez [macOS](/fr/5.0/ref/contrib/gis/install/#macos) ou [Windows](/fr/5.0/ref/contrib/gis/install/#windows).

## Compilation à partir des sources

Lors de l’installation à partir des sources sur les systèmes UNIX et GNU/Linux, suivez consciencieusement les instructions d’installation et installer les bibliothèques dans l’ordre indiqué. Si vous utilisez MySQL ou Oracle comme base de données spatiale, seul GEOS est nécessaire.

> **Note**
>
> Sur les plates-formes Linux, il peut être nécessaire de lancer la commande `ldconfig` après l’installation de chaque bibliothèque. Par exemple :
>
> ```shell
> $ sudo make install
> $ sudo ldconfig
> ```

> **Note**
>
> Les utilisateurs macOS doivent installer [Xcode](https://developer.apple.com/xcode/) afin de pouvoir compiler du code à partir des sources.

### GEOS

GEOS est une bibliothèque C++ destinée aux opérations géométriques et constitue la représentation géométrique interne par défaut que GeoDjango utilise (derrière les objets géométriques « différés »). Spécifiquement, l’API de la bibliothèque C (par ex. `libgeos_c.so`) est appelée directement depuis Python à l’aide de ctypes.

Premièrement, téléchargez GEOS à partir du site web GEOS et décompressez l’archive des sources :

```shell
$ wget https://download.osgeo.org/geos/geos-X.Y.Z.tar.bz2
$ tar xjf geos-X.Y.Z.tar.bz2
```

Puis, passez dans le répertoire GEOS, créez un dossier `build` et passez dans ce dossier :

```shell
$ cd geos-X.Y.Z
$ mkdir build
$ cd build
```

Puis construisez et installez le paquet :

```shell
$ cmake -DCMAKE_BUILD_TYPE=Release ..
$ cmake --build .
$ sudo cmake --build . --target install
```

#### Dépannage

##### Impossible de trouver la bibliothèque GEOS

Lorsque GeoDjango ne peut pas trouver GEOS, cette erreur apparaît :

```text
ImportError: Could not find the GEOS library (tried "geos_c"). Try setting GEOS_LIBRARY_PATH in your settings.
```

La solution la plus courante est de configurer correctement [Réglages d’environnement de bibliothèques](/fr/5.0/ref/contrib/gis/install/#libsettings) *ou* de définir [GEOS\_LIBRARY\_PATH](#geoslibrarypath) dans vos réglages.

Si vous utilisez un paquet binaire de GEOS (par ex. sur Ubuntu), il peut être utile de [Installation de binutils](/fr/5.0/ref/contrib/gis/install/#binutils).

##### `GEOS_LIBRARY_PATH`

Si votre bibliothèque GEOS se trouve à un emplacement non standard ou que vous ne souhaitez pas modifier le chemin des bibliothèques système, il est possible d’ajouter le réglage [`GEOS_LIBRARY_PATH`](/fr/5.0/ref/contrib/gis/geos/#std-setting-GEOS_LIBRARY_PATH) dans votre fichier de réglages Django et d’y indiquer le chemin complet vers la bibliothèque GEOS en C. Par exemple :

```shell
GEOS_LIBRARY_PATH = '/home/bob/local/lib/libgeos_c.so'
```

> **Note**
>
> Le réglage doit contenir le chemin *complet* vers la bibliothèque partagée en **C** ; en d’autres termes, il faut indiquer `libgeos_c.so`, et non pas `libgeos.so`.

Voir aussi [Mes fichiers journaux sont remplis d’erreurs liées à GEOS](/fr/5.0/ref/contrib/gis/geos/#geos-exceptions-in-logfile).

### PROJ

[PROJ](https://proj.org/) est une bibliothèque de conversion de données géospatiales vers différents systèmes de référence de coordonnées.

Commencez par télécharger le code source de PROJ :

```shell
$ wget https://download.osgeo.org/proj/proj-X.Y.Z.tar.gz
```

… et les fichiers de projections (téléchargez `proj-datumgrid-X.Y.tar.gz` pour PROJ \< 7.x) [^1]:

```shell
$ wget https://download.osgeo.org/proj/proj-data-X.Y.tar.gz
```

Puis, décompressez l’archive de code source et extrayez les fichiers de projections dans le sous-répertoire `data` (utilisez le sous-répertoire `nad` pour PROJ \< 6.x). Cela doit être faire *avant* la configuration :

```shell
$ tar xzf proj-X.Y.Z.tar.gz
$ cd proj-X.Y.Z/data
$ tar xzf ../../proj-data-X.Y.tar.gz
$ cd ../..
```

Pour PROJ 9.x et plus récent, les publications ne prennent plus qu’en charge les constructions avec `CMake` (voir [PROJ RFC-7](https://proj.org/community/rfc/rfc-7.html#rfc7)).

Pour construire avec `CMake`, vérifiez que votre système réponde aux [exigences de construction](https://proj.org/install.html#build-requirements). Créez ensuite un dossier `build` dans le répertoire PROJ et passez dans ce dossier :

```shell
$ cd proj-X.Y.Z
$ mkdir build
$ cd build
```

Pour terminer, lancez « configure », « make » et installez PROJ :

```shell
$ cmake ..
$ cmake --build .
$ sudo cmake --build . --target install
```

### GDAL

[GDAL](https://gdal.org/) est une excellente bibliothèque géospatiale libre capable de lire la plupart des formats de données spatiales vectoriels et matriciels. Actuellement, GeoDjango ne prend en charge que les fonctionnalités des [données vectorielles de GDAL](/fr/5.0/ref/contrib/gis/gdal/) [^2]. [GEOS](#geosbuild) et [PROJ](#proj4) devraient être installés avant de compiler GDAL.

Téléchargez d’abord la dernière version publiée de GDAL et décompressez l’archive :

```shell
$ wget https://download.osgeo.org/gdal/X.Y.Z/gdal-X.Y.Z.tar.gz
$ tar xzf gdal-X.Y.Z.tar.gz
```

Pour GDAL 3.6.x et supérieur, les versions ne gèrent que les constructions utilisant `CMake`. Pour construire avec `CMake`, créez un dossier `build` dans le répertoire GDAL et placez-vous dans ce dossier :

```shell
$ cd gdal-X.Y.Z
$ mkdir build
$ cd build
```

Pour terminer, lancez « configure », « make » et installez GDAL :

```shell
$ cmake ..
$ cmake --build .
$ sudo cmake --build . --target install
```

Si vous rencontrez un problème, consultez la section dépannage ci-dessous pour y trouver des suggestions et des solutions.

#### Dépannage

##### Impossible de trouver la bibliothèque GDAL

Lorsque GeoDjango ne peut pas trouver la bibliothèque GDAL, configurez vos [Réglages d’environnement de bibliothèques](/fr/5.0/ref/contrib/gis/install/#libsettings) *ou* définissez [GDAL\_LIBRARY\_PATH](#gdallibrarypath) dans vos réglages.

##### `GDAL_LIBRARY_PATH`

Si votre bibliothèque GDAL se trouve à un emplacement non standard ou que vous ne souhaitez pas modifier le chemin des bibliothèques système, il est possible d’ajouter le réglage [`GDAL_LIBRARY_PATH`](/fr/5.0/ref/contrib/gis/gdal/#std-setting-GDAL_LIBRARY_PATH) dans votre fichier de réglages Django et d’y indiquer le chemin complet vers la bibliothèque GDAL. Par exemple :

```shell
GDAL_LIBRARY_PATH = '/home/sue/local/lib/libgdal.so'
```

**Notes de bas de page**

[^1]: Les fichiers « datum shifting » sont nécessaires pour convertir les données dans et à partir de certaines projections. Par exemple, la chaîne PROJ de la [projection Google (900913 or 3857)](https://spatialreference.org/ref/epsg/3857/) nécessite la fichier de grille `null` qui ne se trouve que dans les fichiers « datum shifting ». Il est plus simple d’installer de suite ces fichiers plutôt que de devoir dépanner un problème causé par leur absence plus tard.

[^2]: Spécifiquement, GeoDjango fournit la prise en charge de la bibliothèque [OGR](https://gdal.org/user/vector_data_model.html), un composant de GDAL.
