Import via ogr2ogr
GDAL (Geospatial Data Abstraction Library) est une bibliothèque libre permettant de lire et de traiter un très grand nombre de format d'images géographiques. Un sous-ensemble de cette bibliothèque est la bibliothèque OGR permettant d'accéder à la plupart des formats courants de données vectorielles. On trouvera une documentation en français sur ce site. La documentation de référence sur ogr2ogr est disponible ici.
Une installation de QGIS par OSGeo4W installe sur le poste local (ici sous windows 7) une console Shell permettant de lancer ogr2ogr (c'est également le cas pour les packages Ministère à partir de QGIS 2.14).

Si vous ne disposez pas du raccourci de lancement dans le menu vous pouvez lancer :
C:\Program Files\QGIS\OSGeo4W.bat
(au besoin créer un raccourci sur le bureau).
On utilisera ogr2ogr --version
pour récupérer le numéro de version installé :

Fermer la fenêtre shell en tapant exit
.
Dans la pratique on utilisera surtout ogr2ogr dans des scripts sur le serveur (en poste local autant passer par les algorithmes de processing -menu traitement- qui offrent une interface sous forme de boîte de dialogue).
Dans ce cas on utilisera le ogr2ogr installé avec les packages du serveur (exemple pour Debian jessie).
Il est possible de taper ogr2ogr - - help
pour avoir une aide sur les paramètres.
Dans les options de ogr2ogr qui sont détaillées ici on notera en particulier :
-f
: format de sortie-overwrite
: écrase les anciennes valeurs si existantes-append -update
: ajoute des données sans écraser d'autres-nln
: affecte nouveau nom à la table (si rien alors nom du fichier pour nom table)-s_srs
: projection de la source-a_srs
: assigne valeur de la projection en sortie-t_srs
: transforme la projection (reprojection)-skipfailures
: continue après un échec, ignorant l'objet en échec (en particulier si géométrie invalide).-nlt
: exemple-nlt MULTIPOLYGONE
pour imposer le type de géométrie.
Pour PostgreSQL on trouvera ici la description des options spécifiques en particulier les Layer Creation Option (-lco
).
Noter également l'importance de l'option -config PG_USER_COPY YES
qui impose d'utiliser l'ordre COPY
au lieu de INSERT
et accélère beaucoup les traitements.
Exemple :
ogr2ogr -f "PostgreSQL" -append -nln "MaTable" -nlt MULTIPOLYGON -lco GEOMETRY_NAME=the_geom -lco FID=gid -lco OVERWRITE=no -lco SCHEMA=MonSchema -a_srs EPSG:2154 PG:"dbname='MaBase' host='MonHote' port='PortDeHote' user='MonIdentifiant' password='MonMotDePasse'" MonFichierSource