04 - Import et export de fichiers SHP

Cet exercice va vous permettre de mettre en œuvre un import et export de fichiers SHP

Question

Importer dans le schéma travail de la base stageXX les tables :

PONCTUEL_HYDROGRAPHIQUE

SURFACE_HYDROGRAPHIQUE

TRONCON_HYDROGRAPHIQUE

puis exporter toutes les tables de la base stageXX dans le format SHP dans un dossier \masauvegarde sur votre PC.

Indice

On pourra, par exemple, utiliser pour méthode le glisser-lâcher avec parcourir et navigateur(2) pour l'import

et une commande ogr2ogr pour exporter au format SHP

(on pourra utiliser la console osgeo4w.bat disponible sous c:\program...\qgis)

Solution

Pour importer en une seule fois des couches qui sont sur le 'système de fichier' on peut, par exemple, utiliser la méthode par glisser-lacher

Pour l'export, il faut lancer osgeo4w.bat sous c:\program...\qgis (à voir en fonction de l'installation de QGIS sur votre poste)

puis taper la commande :

ogr2ogr.exe -f "ESRI Shapefile" "i\masauvegarde" "PG:dbname='stageXX' host=XXX.XX.XX.XX port=5432 user='stageXX' password='XXXXX' sslmode=disable"

remplacer les XX par les bonnes valeurs...

Ceci sauvegarde toutes les tables de la base stage00.

Des alertes peuvent indiquer que des noms de champs ont été tronqués à 10 caractères qui est le maximum dans le format SHP.

vérifier sous QGIS quelques fichiers sauvegardés.

Complément

Utilisation de ogr2ogr dans un fichier de commande (.bat si windows).

On peut automatiser les exports (et imports) dans un fichier de commande. Ci-dessous un exemple simple :

SET monpathexe=C:\Programmes\QGIS_Lyon\bin\

SET monformat="ESRI Shapefile"

SET monrepsauv="d:\divers\did"

SET mabase="stage00"

SET monserveurip=172.28.9.122

SET monserveurport=5632

SET monuser='stage00'

SET monpassword='stage00'

cls

%monpathexe%ogr2ogr --version

%monpathexe%ogr2ogr --help

%monpathexe%ogr2ogr.exe -f %monformat% %monrepsauv% "PG:dbname=%mabase% host=%monserveurip% port=%monserveurport% user=%monuser% password=%monpassword% sslmode=disable"