Importer et visualiser des données
Pour les généralités sur l'importation de données, on se reportera au chapitre consacré à ce sujet dans le module 3 - gestion des bases.
Nous aborderons ici deux méthodes, la première avec ogr2ogr que nous ne mettrons pas en œuvre , et la seconde avec QGIS et une commande de géotraitement.
Les données à importer sont contenues dans les fichiers SHP du jeu de données de formation. Il s'agit de données réelles, produites par la DREAL des Pays-de-Loire, cataloguées sur le Géocatalogue. elles sont téléchargeables sur la plateforme SIGLOIRE : faire une recherche "éolien terrestre" sur catalogue de SigLoire
Méthode : Import de fichiers SHP dans la base PostgreSQL avec ogr2ogr
Voir au préalable le chapitre sur l'utilisation d'ogr2ogr.
Les imports peuvent être réalisés par fichiers batchs, adaptables autant que de besoin (parfois l'encodage peut être en LATIN1 au lieu de l'UTF8), avec par exemple pour les parcs éoliens la syntaxe suivante :
echo off
set PGCLIENTENCODING=UTF8
ogr2ogr -append -update -f "PostgreSQL" -nlt PROMOTE_TO_MULTI PG:"dbname='EolienTerrestre' host='localhost' user='postgres' password='postgres'" n_parc_eolien_s_r52.shp
Ci-dessous le batch de création des permis de construire des éoliennes (la couche n_pc_eolien_r52) à partir de la base non géographique n_mat_pc_eolien_p_r52.dbf : cet exemple plus complexe tient à la particularité des données sources compatibles mais non conformes avec le standard, qui nécessitent dans la requête ogr2ogr une sélection SQL commençant par « SELECT UNIQUE ... » et le renommage de la couche de sortie avec -nln n_pc_eolien_r52 pour être conforme avec la structure créée dans la base de données
echo on
set PGCLIENTENCODING=UTF8
ogr2ogr -append -update -f "PostgreSQL" -select "SELECT UNIQUE id_pc, id_parc, demandeur, date_depot, datdecisio, etat_pc, contentieu, pu_nom_pc, nbmat_dem, nbmat_acc FROM n_mat_pc_eolien_p_r52" -nlt NONE -nln n_pc_eolien_r52 PG:"dbname='EolienTerrestre' host='localhost' user='postgres' password='postgres'" n_mat_pc_eolien_p_r52.dbf
Attention : les contraintes d'intégrité sur la base de données imposent également d'appeler les batchs dans cet ordre :
import des SRE
import des ZDE
import des parcs éoliens
import des mats et des permis de construire
Méthode : Import des données avec QGIS et la boîte à outils de géotraitement (Processing)
Dans QGIS, ouvrir les couches SHP du jeu de données formation.

Comme indiqué dans le chapitre consacré à ce sujet dans le module 3, dans QGIS :
lancer
Traitement - Boîte à outils
cliquer, dans la liste des traitements proposés, sur
GDAL
puisDivers vecteur
choisir le traitement
Exporter vers PostgreSQL(connections disponibles)
Renseigner les différents champs de la fenêtre de dialogue d'importation :
Base de données (nom de la connexion) : choisir la connexion qui permet d'accéder à
stagexx
Couche en entrée : choisir, dans la liste déroulante, la couche ouverte dans QGIS que l'on souhaite envoyer vers la base de données. On choisit en premier n_sre_eolien_s_r52
Type de géométrie : MULTIPOLYGON
SCR de Sortie : SCR du Projet (EPSG : 2154)
Nom du schéma : eolienterrestre (attention à l'orthographe)
Nom de la table : la table de la base qui correspond à la couche ouverte dans QGIS (on peut laisser vide si les deux tables ont le même nom)
Clef primaire : choisir id_sre
Plus bas :
décocher
Écraser la table existante
cocher
Ajouter à la table existante
Cocher :
Convertir en morceaux multiples
Valider en cliquant sur Exécuter
Vérifier l'importation des données, dans pgAdmin, en rafraîchissant la liste des tables : constater que la table contient bien une ligne.
Méthode : Consultation des données de la base PostgreSQL avec Qgis
Dans QGIS, il y a 3 méthodes pour ajouter une couche vectorielle depuis une base PostgreSQL/PostGIS :
soit dans le panneau navigateur ou parcourir : choisir la connexion dans la liste PostGIS. Puis le schéma, et les tables à ouvrir (double cliquer)

soit avec le bouton
Ajouter une couche PostGIS
: de la même manière, choisir la connexion, le schéma et la ou les tables, puis
Ajouter

ou utiliser la commande Ajouter une couche vecteur
: cocher le type de source
Base de données
, puis choisir le type PostgreSQL
. Sélectionner la connexion, puis les tables à ouvrir.

