Installation des bibliothèques géospatiales¶
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 |
|---|---|---|---|
Geometry Engine Open Source |
Oui |
3.14, 3.13, 3.12, 3.11, 3.10, 3.9, 3.8 |
|
Bibliothèque de projections cartographiques |
Oui (uniquement PostgreSQL et SQLite) |
9.x, 8.x, 7.x, 6.x |
|
Bibliothèque |
Oui |
3.11, 3.10, 3.9, 3.8, 3.7, 3.6, 3.5, 3.4, 3.3, 3.2, 3.1 |
|
Bibliothèque de géolocalisation basée sur IP |
Non |
2 |
|
Extensions spatiales pour PostgreSQL |
Oui (uniquement PostgreSQL) |
3.5, 3.4, 3.3, 3.2, 3.1 |
|
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
The GeoDjango interfaces to GEOS, GDAL, and GeoIP may be used
independently of Django. In other words, no database or settings file
required – import them as normal from 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 :
$ sudo apt-get install binutils libproj-dev gdal-bin
Veuillez également consulter les instructions spécifiques si vous utilisez macOS ou Windows.
Compilation à partir des sources¶
When installing from source on UNIX and GNU/Linux systems, please follow the installation instructions carefully, and install the libraries in the given order. If using MySQL or Oracle as the spatial database, only GEOS is required.
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 :
$ sudo make install
$ sudo ldconfig
Note
Les utilisateurs macOS doivent installer Xcode afin de pouvoir compiler du code à partir des sources.
GEOS¶
GEOS is a C++ library for performing geometric operations, and is the default
internal geometry representation used by GeoDjango (it’s behind the « lazy »
geometries). Specifically, the C API library is called (e.g., libgeos_c.so)
directly from Python using ctypes.
Premièrement, téléchargez GEOS à partir du site web GEOS et décompressez l’archive des sources :
$ 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 :
$ cd geos-X.Y.Z
$ mkdir build
$ cd build
Puis construisez et installez le paquet :
$ 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 :
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 ou de définir GEOS_LIBRARY_PATH dans vos réglages.
Si vous utilisez un paquet binaire de GEOS (par ex. sur Ubuntu), il peut être utile de Installation de binutils.
GEOS_LIBRARY_PATH¶
If your GEOS library is in a non-standard location, or you don’t want to
modify the system’s library path then the GEOS_LIBRARY_PATH
setting may be added to your Django settings file with the full path to the
GEOS C library. For example:
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.
PROJ¶
PROJ 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 :
$ 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]:
$ wget https://download.osgeo.org/proj/proj-data-X.Y.tar.gz
Ensuite, décompressez l’archive du code source et extrayez les fichiers de données complémentaires dans le sous-répertoire data. Cela doit être fait avant la configuration :
$ 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).
Pour construire avec CMake, vérifiez que votre système réponde aux exigences de construction. Créez ensuite un dossier build dans le répertoire PROJ et passez dans ce dossier :
$ cd proj-X.Y.Z
$ mkdir build
$ cd build
Pour terminer, lancez « configure », « make » et installez PROJ :
$ cmake ..
$ cmake --build .
$ sudo cmake --build . --target install
GDAL¶
GDAL is an excellent open source geospatial library that has support for reading most vector and raster spatial data formats. Currently, GeoDjango only supports GDAL’s vector data capabilities [2]. GEOS and PROJ should be installed prior to building GDAL.
Téléchargez d’abord la dernière version publiée de GDAL et décompressez l’archive :
$ 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 :
$ cd gdal-X.Y.Z
$ mkdir build
$ cd build
Pour terminer, lancez « configure », « make » et installez GDAL :
$ 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 ou définissez GDAL_LIBRARY_PATH dans vos réglages.
GDAL_LIBRARY_PATH¶
If your GDAL library is in a non-standard location, or you don’t want to
modify the system’s library path then the GDAL_LIBRARY_PATH
setting may be added to your Django settings file with the full path to
the GDAL library. For example:
GDAL_LIBRARY_PATH = '/home/sue/local/lib/libgdal.so'
Notes de bas de page