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.shpDans 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
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
- Choisissez une tâche courante ou saisissez votre fichier d’entrée. Le format est détecté d’après l’extension.
- Choisissez le format de sortie, un SCR si vous devez reprojeter, et un éventuel filtre ou découpage.
- 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.
| Option | Ce 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 ymax | Filtre spatial par emprise rectangulaire, dans le SCR source. |
| -clipdst xmin ymin xmax ymax | Découpe les géométries à une emprise, dans le SCR de sortie. |
| -lco NOM=VALEUR | Option de création de couche du pilote de sortie, comme ENCODING=UTF-8. |
| -oo NAME=VALUE | Option d’ouverture du pilote d’entrée, comme X_POSSIBLE_NAMES pour un CSV. |
| -overwrite / -append | Remplacer 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 QGIS | Couvre |
|---|---|
| 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 fichier | Chargement 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.
