Cohabitation ArcGis-QGis: les données vecteur

De plus en plus d’utilisateurs d’ArcGis sont tentés par le passage vers QGis. Ce passage se fait généralement en deux étapes: une première étape où l’on fait cohabiter les deux logiciels, pour appréhender les possibilités de QGis et se familiariser avec les modes opératoires, puis une deuxième étape de migration à proprement parler avant l’abandon plus ou moins définitif d’ArcGis.

Dans cet article nous verrons comment faire cohabiter les deux logiciels, au niveau des données vecteur. Dans l’article suivant nous verrons comment migrer définitivement les données vers des formats mieux adaptés à QGis.

Nous aborderons ici les trois principaux formats vecteur d’ArcGis: les shapefiles, les geodatabases personnelles et les geodatabases fichier.

Tous les trois peuvent être utilisés directement par QGis grâce à la bibliothèque gdal.

Par défaut, seul le format shapefile est chargé dans QGis en lecture/écriture. Les geodatabases, personnelles ou fichier, sont chargées en lecture seule. Pour ce qui est des geodatabases personnelles (au format .mdb) il n’y a pas de possibilité de changer cet état des choses. par contre pour les geodatabases fichier(format .gdb) il existe un moyen de les charger en lecture/écriture.

Les données au format shapefile

Que ce soit avec ArcGis ou avec QGis, les fichiers shapefile sont interchangeables. Vous pouvez les créer, modifier, supprimer, avec l’un ou l’autre.

Par contre, lors de l’utilisation de certains traitements vous pourrez rencontrer des problèmes bloquants.

Il faut savoir que le format shapefile est l’un des premiers formats sig pour PC. Il a été créé dans les années 70 et il n’a pas évolué depuis. S’il est devenu un standard de fait c’est plus parce qu’il est dans le domaine public que par ses vertus.

Utilisant plusieurs fichiers séparés pour stocker les différentes données, les données attributaires étant au format DBase IV et supportant une vieille version de SQL, n’intégrant pas les règles topologiques, c’est un format qui a l’avantage de permettre de faire presque n’importe quoi, … mais c’est aussi son défaut.

D’un point de vue géométrique, il ne respecte pas les normes GEOS. Vous pourrez avoir donc des géométries incorrectes. Les traitements ArcGis passent au dessus de ces erreurs, en les propageant dans les fichiers résultats. Par contre, quand vous essaierez les traitements correspondant dans QGis vous aurez la surprise d’avoir des messages d’erreur bloquants:

Par contre, dans ArcMap, la commande Intersection, des mêmes fichiers, ne renvoie aucune erreur:

Ceci ne veut pas du tout dire qu’il n’y a pas des erreurs de géométrie dans la couche résultante, bien au contraire. Les erreurs de géométrie sont transférées telles quelles d’étape en étape. Voici le résultat de la vérification de la géométrie, dans QGis, de la couche résultat de l’intersection dans ArcGis:

Pour corriger les erreurs, il faut utiliser le traitement ‘Réparer les géométries »:

Une fois exécuté, la vérification permet de voir si toutes les erreurs ont été corrigées:

Si vous utilisez QGis pour charger et travailler sur des fichiers shapefile issus d’ArcGis, vérifiez systématiquement la géométrie de ceux-ci avec la commande Vecteur->Outils de géométrie->Vérifier la validité

Les geodatabases personnelles (.mdb)

Ce format de données a été le premier format lors du changement d’architecture entre ArcView 3 et ArcGis 8. Il est basé sur l’utilisation d’une base Microsoft Access, avec les géométries incluses dans la même table que les données attributaires. Les géométries sont codées dans un champ BLOB avec pratiquement le même codage que les fichiers .shp des shapefiles.

QGis utilise la bibliothèque GDAL pour la gestion des divers formats, tant vecteur comme raster. Le driver GDAL pour les données au format geodatabase personnelle .mdb d’ESRI ne permet que l’accès en lecture.

Vous pouvez donc charger et utiliser directement une geodatabase personnelle dans QGis, mais vous ne pouvez pas modifier ou supprimer des données.

Pour charger une table d’une geodatabase personnelle dans QGis, il suffit de glisser-déposer la geodatabase depuis le panneau Explorateur vers le panneau Couches. Une fenêtre s’ouvre pour vous permettre de choisir quelles tables de la geodatabase charger.

Hormis les outils de modification des données, tous les autres outils et commandes sont disponibles sur les couches chargées.

Si toutefois vous tenez à travailler en mise à jour, une solution de contournement assez rapide est de changer le format de votre geodatabase personnelle en geodatabase fichier, avec ArcGis. Nous verrons en détail ce passage dans l’article consacré à la migration des données. Disons simplement que ce changement de format est très simple à mettre en œuvre: export de la geodatabase personnelle au format XML, création d’une geodatabase fichier, puis import du fichier XML.

Comme nous allons le voir maintenant, les geodatabases fichier peuvent être utilisées en lecture/écriture dans QGis.

Les geodatabases fichier (.gdb)

Après un court intermède « geodatabase personnelle », dès la version 9 d’ArcGis , ESRI a mis en place une version propre de geodatabase: la geodatabase fichier (extension .gdb). Ce nouveau format s’affranchit des limitations du format Microsoft Access.

Par défaut, QGis installe le driver GDAL OpenFileGDB qui permet un accès en lecture seule.

Contrairement à la geodatabase personnelle(.mdb), dans la fenêtre Explorateur vous avez directement accès aux couches stockées dans une geodatabase fichier. Vous pouvez donc les glisser-déposer vers le panneau Couches.

Si non, vous pouvez utiliser le menu Couche ->Ajouter une couche->Ajouter une couche vecteur. Dans ce cas il faut sélectionner le bouton « Répertoire » et, dans le champ Type, sélectionner OpenFileGDB.

Pour pouvoir les ouvrir en lecture/écriture, il faut installer un package GDAL supplémentaire, qui n’est pas installé par défaut lors de l’installation de QGis. Il s’agît du package gdal-fileGDB.

Là où ça se complique c’est qu’il y a deux méthodes d’installation de QGis: l’installateur indépendant et l’installateur OsGeo4W.

Installation OsGeo4W

Si vous avez installé la version OSGeo4W, exécutez le programme Setup à partir de la barre des tâches. Fermez QGis s’il est ouvert.

Choisissez la méthode Advanced Install -> Install from Internet, laissez les options par défaut pour le Root Directory et le Local Package Directory, sélectionnez le site de téléchargement.

Vous aurez alors la fenêtre de sélection des packages à installer:

Dans l’onglet Libs recherchez la ligne gdal-filegdb et cochez la case correspondante. Cliquez sur suivant, le driver est installé.

Ouvrez QGis, vous verrez dans Couche ->Ajouter une couche->Ajouter une couche vecteur -> Répertoire, le nouveau type disponible: ESRI FileGDB

Une fenêtre s’ouvre pour choisir les couches à charger. Une fois la couche chargée, vous remarquerez que les outils de modification de données sont disponibles:

Installation indépendante

Si vous avez installé QGis avec l’installateur indépendant ce n’est pas beaucoup plus compliqué mais ce n’est pas dans vos habitudes.

On va lancer le même programme Setup que précédemment mais à travers le Shell OSGeo4W.

Dans la barre des tâches vous trouverez OSGeo4W Shell sous QGis 3.8. Attention! il ne faut pas lancer la commande directement car il faut l’exécuter en tant qu’administrateur. Pour cela, cliquez avec le bouton droit sur la commande, puis sur Plus -> Ouvrir l’emplacement du fichier

Dans la fenêtre qui s’ouvre, cliquez avec le bouton droit sur OSGeo4W Shell, puis sélectionnez Exécuter en tant qu’administrateur

La fenêtre de Shell s’ouvre

Tapez la ligne de commande suivante: (vérifiez le chemin selon votre installation)

setup -l C:\Program Files\QGIS 3.8\bin\gdalplugins -P option gdal-filegdb

Vous aurez la première fenêtre du Setup OSGeo4W. A partir de là vous suivez les mêmes consignes que celles décrites plus haut ( Choisissez la méthode Advanced Install -> Install from Internet, laissez les options par défaut pour le Root Directory et le Local Package Directory, sélectionnez le site de téléchargement…).

Le package sera installé dans le répertoire C:\Program Files\QGIS 3.8\bin\gdalplugins et quand vous lancerez QGis, vous aurez l’option ESRI FileGDB disponible dans le chargement d’une couche vecteur.

Si cet article vous a intéressé et que vous pensez qu'il pourrait bénéficier à d'autres personnes, n'hésitez pas à le partager sur vos réseaux sociaux en utilisant les boutons ci-dessous. Votre partage est apprécié !

12 thoughts on “Cohabitation ArcGis-QGis: les données vecteur

  1. > Dans la barre des tâches vous trouverez OSGeo4W Shell sous QGis 3.8. Attention! il ne faut pas lancer la commande directement car il faut l’exécuter en tant qu’administrateur.
    click droit, Executer comme administrateur c’est plus simple pour le faire 😉

    1. Bonjour
      Allez dans le menu Couche->Ajouter une couche->Ajouter une couche vecteur
      Vous devez cliquer sur le bouton Fichier dans « Type de source »
      Dans laz liste déroulante Type vous trouverez le OpenFileGDB

      1. Bonjour,

        Je pensais que ça ajoutait le type « ESRI FileGDB » dans le menu déroulant quand je sélectionne « Répertoire » sous le menu Couche->Ajouter une couche->Ajouter une couche vecteur. Dans les captures d’écran plus haut c’est ce qui est indiqué

  2. Oui j’avais bien compris, j’ai lancé une nouvelle fois la commande dans le cmd en admin : setup -l C:\Program Files\QGIS 3.22.1\bin\gdalplugins -P option gdal-filegdb; j’ai coché les éléments comme indiqués ensuite quand je lance QGIS je n’ai pas dans la liste « ESRI FileGDB » : https://zupimages.net/viewer.php?id=21/48/ipqj.png

    Vous me parlez OpenFileGDB, du coup c’est lui qu’il faut utiliser maintenant ?

  3. Bonjour, merci pour votre explication pour utiliser des fichiers Geodatabase dans QGIS. Toutefois, je dois avoir un problème quelque part, car je bloque systématiquement dès la première étape.
    J’ai fais une installation indépendante de QGIS 3.22.7.
    Lorsque je lance en tant qu’administrateur OSGeo Shell, j’adapte la ligne de commande au chemin de l’install sur mon poste, la réponse est bien « un fichier copié » mais il ne se passe rien, la fenêtre net release setup programme ne s’ouvre pas.
    Si vous aviez une solution à mon problème, je vous en serais fort reconnaissant.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *