Aller au contenu

Générateur de commandes ogr2ogr

Choisissez vos fichiers et copiez une commande GDAL prête à lancer.

ogr2ogr -f GeoJSON -t_srs EPSG:4326 parcels.geojson parcels.shp
Dans QGIS
  • Clic droit sur la couche, Exporter, Sauvegarder les entités sous...-f, -t_srs (SCR), -select (champs à exporter), -spat (Emprise), -lco (Options de la couche, comme ENCODING), -nln (Nom de la couche), -nlt (Type de géométrie), -overwrite ou -append
  • Boîte à outils de traitements, GDAL, Conversion vecteur, Convertir un format-f, fichier de sortie, et options supplémentaires comme -lco ou -nlt dans son champ Options de création additionnelles
Shapefile
-f
-t_srs
AI AgentQGIS

AI Agent pour QGIS

Plus besoin de la commande : demandez à AI Agent dans QGIS de convertir, reprojeter et charger le fichier.

En savoir plus

Fonctionnement, formats et limites.

À propos de cet outil

ogr2ogr est l’outil en ligne de commande de GDAL qui convertit des données vectorielles d’un format à l’autre, les reprojette, les filtre et les charge dans des bases de données. Remplissez le formulaire et copiez une commande prête à lancer.

Comment ça marche

  1. Choisissez une tâche courante ou saisissez votre fichier d’entrée. Le format est détecté d’après l’extension.
  2. Choisissez le format de sortie, un SCR si vous devez reprojeter, et un éventuel filtre ou découpage.
  3. Copiez la commande et lancez-la dans un terminal où GDAL est installé, comme l’OSGeo4W Shell fourni avec QGIS.

Les options ogr2ogr les plus utilisées

La liste complète est sur gdal.org. Celles-ci couvrent la plupart des conversions quotidiennes.

OptionCe qu’elle fait
-f <pilote>Format de sortie, avec le nom du pilote GDAL : "ESRI Shapefile", GeoJSON, GPKG, KML, CSV, FlatGeobuf, PostgreSQL, Parquet.
-t_srs <scr>Reprojeter dans ce SCR, par exemple EPSG:4326.
-s_srs <scr>Remplacer le SCR source, quand le fichier n’en a pas ou en a un faux.
-a_srs <scr>Attribuer un SCR à la sortie sans reprojeter.
-where <sql>Filtre attributaire, comme une clause SQL WHERE.
-select <champs>Liste des champs à garder, séparés par des virgules.
-nln <nom>Nom de la couche ou de la table de sortie.
-nlt <type>Type de géométrie de sortie, souvent PROMOTE_TO_MULTI.
-spat xmin ymin xmax ymaxFiltre spatial par emprise rectangulaire, dans le SCR source.
-clipdst xmin ymin xmax ymaxDécoupe les géométries à une emprise, dans le SCR de sortie.
-lco NOM=VALEUROption de création de couche du pilote de sortie, comme ENCODING=UTF-8.
-oo NAME=VALUEOption d’ouverture du pilote d’entrée, comme X_POSSIBLE_NAMES pour un CSV.
-overwrite / -appendRemplacer la couche de sortie, ou y ajouter des entités.

Faire la même chose dans QGIS sans ligne de commande

QGIS s’appuie sur GDAL, donc chaque option ci-dessus a sa place dans l’interface.

Dans QGISCouvre
Boîte à outils de traitements, GDAL, Conversion vecteur, Convertir un format-f, fichier de sortie, et options supplémentaires comme -lco ou -nlt dans son champ Options de création additionnelles
Boîte à outils de traitements, Général vecteur, Reprojeter une couche-t_srs
Clic droit sur la couche, Exporter, Sauvegarder les entités sous...-f, -t_srs (SCR), -select (champs à exporter), -spat (Emprise), -lco (Options de la couche, comme ENCODING), -nln (Nom de la couche), -nlt (Type de géométrie), -overwrite ou -append
Propriétés de la couche, Source, Constructeur de requête-where, avant l’export
Base de données, DB Manager, Importer une couche/un fichierChargement dans PostGIS, avec le nom de la table (-nln) et le SRID cible (-t_srs)

Ou décrivez-le en une phrase : AI Agent lance la conversion pour vous dans QGIS, par exemple « exportez les parcelles en GeoPackage en EPSG:4326 ».

Ce qu’il ne fait pas

  • Il n’exécute rien. Il écrit une commande ; votre fichier ne quitte jamais votre ordinateur.
  • Il ne lit pas votre fichier, il ne peut donc pas vérifier qu’un champ utilisé dans -where ou -select existe.
  • Il ne couvre pas toutes les options : -sql, -dialect, -fieldmap, -explodecollections, -gt et les autres sont sur gdal.org.
  • Il ne vérifie pas qu’un code de SCR existe. Utilisez le code EPSG fourni par le producteur des données.

Questions fréquentes

Les réponses aux questions les plus posées.

Comment installer ogr2ogr ?

Il est fourni avec QGIS. Sous Windows, ouvrez l’OSGeo4W Shell depuis le dossier QGIS du menu Démarrer et tapez-y la commande. Sous macOS, lancez brew install gdal. Sous Debian ou Ubuntu, lancez sudo apt install gdal-bin. Vérifiez avec ogr2ogr --version.

Quelle différence entre ogr2ogr et ogrinfo ?

ogrinfo ne fait que lire : il liste les couches, les champs, le type de géométrie, le SCR et le nombre d’entités d’un jeu de données. ogr2ogr écrit un nouveau jeu de données. Lancez d’abord ogrinfo -so file.gpkg layer pour trouver les noms de champs et le SCR à mettre dans la commande.

Pourquoi ogr2ogr coupe-t-il les noms de champs de mon shapefile à 10 caractères ?

Un shapefile stocke ses attributs dans un fichier .dbf, et le format dbf limite les noms de champs à 10 caractères. GDAL raccourcit les noms plus longs et affiche un avertissement. Écrivez en GeoPackage ou en FlatGeobuf pour garder les noms complets.

Pourquoi la couche de sortie est-elle vide ou sans géométrie ?

Pour une entrée CSV, GDAL a besoin des noms des colonnes de coordonnées (X_POSSIBLE_NAMES et Y_POSSIBLE_NAMES, ou GEOM_POSSIBLE_NAMES pour du WKT). Pour une sortie CSV, il faut -lco GEOMETRY=AS_WKT ou AS_XY, sinon seuls les attributs sont écrits.

Pourquoi une erreur en écrivant des géométries mixtes dans un shapefile ?

Un shapefile ne contient qu’un seul type de géométrie. Ajoutez -nlt PROMOTE_TO_MULTI pour les polygones et multipolygones, ou séparez points, lignes et polygones avec -where sur le type de géométrie.

Comment écrire une apostrophe dans -where ?

En SQL, doublez-la : name = 'L''Isle'. Le générateur met ensuite toute la condition entre guillemets pour votre shell. bash la transmet telle quelle. Windows cmd aussi, sauf %NAME%, qu’il remplace par une variable d’environnement même entre guillemets ; le générateur vous prévient dans ce cas.