Installation de PostGIS

PostGIS ajoute la prise en charge des objets géographiques à PostgreSQL, pour en faire une base de données spatiale. GEOS, PROJ et GDAL devraient être installés avant de compiler PostGIS. Vous aurez peut-être besoin d’autres bibliothèques, voir exigences PostGIS.

Le module psycopg2 est obligatoire comme adaptateur de base de données lors de l’utilisation de GeoDjango avec PostGIS.

On Debian/Ubuntu, you are advised to install the following packages: postgresql-x.x, postgresql-x.x-postgis, postgresql-server-dev-x.x, and python-psycopg2 (x.x matching the PostgreSQL version you want to install). Alternately, you can build from source. Consult the platform-specific instructions if you are on macOS or Windows.

Après l’installation

Création d’une base de données spatiale

PostGIS 2 contient une extension pour PostgreSQL utilisée pour activer les fonctions spatiales :

$ createdb  <db name>
$ psql <db name>
> CREATE EXTENSION postgis;

L’utilisateur de base de données doit être superutilisateur pour être autorisé à exécuter CREATE EXTENSION postgis;. Cette commande est exécutée durant le processus migrate. Une alternative est d’utiliser une opération de migration dans votre projet :

from django.contrib.postgres.operations import CreateExtension
from django.db import migrations

class Migration(migrations.Migration):

    operations = [
        CreateExtension('postgis'),
        ...
    ]

Si vous pensez utiliser la fonctionnalité matricielle (raster) de PostGIS avec PostGIS 3+, vous devez également activer l’extension postgis_raster. Vous pouvez installer cette extension en utilisant l’opération de migration CreateExtension ou en lançant directement CREATE EXTENSION postgis_raster;.

GeoDjango n’exploite actuellement aucune fonctionnalité PostGIS de topologie. Si vous pensez utilisez ces fonctionnalités à un moment donné, vous pouvez également installer l’extension postgis_topology en exécutant CREATE EXTENSION postgis_topology;.

Gestion de la base de données

Pour administrer la base de données, vous pouvez soit utiliser le programme pgAdmin III (Démarrer ‣ PostgreSQL X ‣ pgAdmin III), soit le shell SQL (Démarrer ‣ PostgreSQL X ‣ SQL Shell). Par exemple, pour créer un utilisateur et une base de données geodjango, voici ce qui pourrait être saisi dans un shell SQL lancé avec l’utilisateur postgres:

postgres# CREATE USER geodjango PASSWORD 'my_passwd';
postgres# CREATE DATABASE geodjango OWNER geodjango;
Back to Top