Cette page est en cours de rédaction.
Apportez votre aide…

Ceci est une ancienne révision du document !



Postgis

Ce qu'est postgis

Postgis est une extension de postgresql qui permet la gestion d'objets géographiques. Concrètement la cartouche spatiale postgis ajoute au serveur :

  • la possibilité de définir le type de champ geometry
  • l'ensemble des fonctions permettant les traitements géographiques
  • la base de référence des projections géographiques spatial_ref_sys
  • la base de gestion des attributs géographiques des tables geometry_columns

Installation

Installer le paquet correspondant à votre version de postgres, exemples:

Bien que déconseillé pour des grosses bases de donnée postgres, il est également possible d'utiliser un conteneur docker postgres-postgis. Vous pouvez consulter le tuto Postgrest qui y fait référence.
Les paquets supplémentaires suivants seront installés : 
  libgeos-3.2.2 libgeos-c1 libproj0 postgis proj-data

Les scripts nécessaires à la couche géographique de postgresql sont installé dans le dossier
/usr/share/postgresql/9.1/contrib/postgis-1.5/ ou
/usr/share/postgresql/10/contrib/postgis-2.4/

Donner à une base la capacité géographique

Les scripts donnés ci-après prennent pour hypothèse qu'un nouvel utilisateur a été créé avec la méthode recommandée

Tout d'abord, créer la base de données en question

createdb -U <nom_utilisateur> <nom_base_geo>

Puis on utilser le rôle postgres (super user postgresql)

$ sudo -i -u postgres 

pour exécuter dans cet ordre les scripts suivants :

psql -f /usr/share/postgresql/9.1/contrib/postgis-1.5/postgis.sql  <nom_base_geo>
psql -f /usr/share/postgresql/9.1/contrib/postgis-1.5/spatial_ref_sys.sql  <nom_base_geo>

puis on quitte le shell postgres

exit
Si vous êtes amenés à créer plusieurs bases géographiques, il peut être intéressant de créer une base qui serve de modèle, par exemple template_postgis Il est ensuite très facile de créer une base géographique en appelant ce modèle lors de la création d'un base
createdb -U <nom_utilisateur> -T template_postgis <nom_base_geo>

Pour faire des imports et des exports (car la fonction sur phppgadmin est bancale) :

$ sudo -i -u postgres

export :

pg_dump <nom_de_la_base> > nom_de_la_base.pgdump

import:

cat  nom_de_la_base.pgdump | psql -d  nom_de_la_base

—-

Contributeurs : Yannick, Sparky, Elemmire, Aldian, Fred, XAVIER_jean-marie, bcag2.

  • postgis.1648026938.txt.gz
  • Dernière modification: Le 23/03/2022, 10:15
  • par bcag2