[FR]Et si vous pouviez confier vos traitements SIG à un agent IA dans QGIS ? Test d’AI Agent de TerraLab.



Comment utiliser TerraLab AI Agent dans QGIS et peut-on lui confier de véritables analyses géographiques ? À travers 32 tests pratiques réalisés avec QGIS 4.2, cet article évalue les capacités de cet agent d’intelligence artificielle : exploration de données, traitements spatiaux, cartographie, requêtes PostGIS et automatisation de workflows SIG. Les résultats numériques ont été vérifiés manuellement afin de proposer un retour d’expérience concret sur les possibilités, les performances et les limites de l’IA dans QGIS.


TerraLab AI Agent : 32 tests d’un agent IA dans QGIS 4.2

Les assistants fondés sur l’intelligence artificielle commencent à trouver leur place dans les logiciels SIG. Au-delà des simples questions-réponses, certains agents peuvent explorer les données d’un projet, rechercher des sources, exécuter des traitements géographiques, interroger une base PostGIS et produire des couches de résultats.

Mais que peut-on réellement leur confier ? Les résultats sont-ils corrects ? L’agent choisit-il les bonnes données et les bons traitements ? Et quelle part de vérification reste nécessaire pour un utilisateur expérimenté ?

Pour répondre à ces questions, j’ai réalisé une série de 32 tests du plugin TerraLab AI Agent dans QGIS 4.2, à partir de cas concrets d’analyse spatiale, de gestion de données et de cartographie.

L’objectif n’était pas seulement de vérifier si l’agent pouvait exécuter des commandes, mais aussi d’évaluer la qualité des résultats, son comportement face aux erreurs, sa capacité à documenter les opérations et l’influence des instructions qui lui sont données.

TerraLab AI Agent s’inscrit dans une évolution plus générale des outils d’intelligence artificielle intégrés à QGIS. J’avais déjà présenté les différentes solutions disponibles dans l’article « Les assistants IA disponibles dans QGIS » que cette nouvelle évaluation vient compléter.


1. Un agent IA intégré au travail SIG

Un agent IA destiné à QGIS se distingue d’un assistant conversationnel classique par sa capacité à agir sur un environnement de travail géographique.

Selon les outils disponibles et les autorisations accordées, il peut notamment :

  • inspecter les couches et leurs attributs ;
  • rechercher et charger des données ;
  • effectuer des sélections et des extractions ;
  • calculer des statistiques et des surfaces ;
  • exécuter des traitements spatiaux ;
  • interroger des bases de données spatiales ;
  • créer des couches de résultats ;
  • préparer des représentations cartographiques.

Ces possibilités changent la manière d’interagir avec un SIG. L’utilisateur peut formuler un objectif en langage naturel au lieu de construire lui-même chaque étape du traitement.

Cependant, une demande exprimée en langage naturel n’est pas nécessairement un cahier des charges complet. Les termes employés peuvent être ambigus, les sources disponibles ne sont pas toujours celles auxquelles l’utilisateur pense et un résultat visuellement convaincant ne garantit pas que le traitement soit adapté à la question posée.

C’est pourquoi les essais ont porté autant sur les résultats que sur les opérations réalisées pour les obtenir.


2. Découvrir TerraLab AI Agent

Pour découvrir le plugin, son interface et son mode de fonctionnement, je recommande cette vidéo de présentation et d’utilisation réalisée par Hans van der Kwast:

La vidéo est très claire et permet de comprendre rapidement comment utiliser le plugin. Elle constitue une bonne introduction pratique et m’évite de reprendre ici la description de son interface et de ses fonctionnalités.

Pour une description détaillée et complète, mon collègue Florian Delahaye lui dédie tout un article sur son blog Geomatick.

Je peux ainsi consacrer la suite de cet article à l’essentiel : une évaluation indépendante fondée sur 32 tests réalisés dans QGIS 4.2, avec vérification manuelle des résultats numériques.


3. Méthodologie des tests

Les 32 tests ont couvert plusieurs familles d’opérations :

  • exploration et statistiques attributaires ;
  • calculs de surfaces et de densités ;
  • création et amélioration de mises en page cartographiques ;
  • recherche de données externes ;
  • analyses spatiales sur des données cadastrales et d’urbanisme ;
  • accès à PostGIS et exécution de requêtes SQL ;
  • contrôle de la qualité des données ;
  • comparaison de différentes formulations d’un même prompt.

Les données utilisées comprenaient notamment des couches communales de l’agglomération de Mulhouse, des données de population, des pharmacies issues d’OpenStreetMap, des parcelles cadastrales et des zones d’urbanisme.

Tous les résultats numériques produits au cours des tests ont fait l’objet d’une validation manuelle. Les résultats numériques ont été jugés corrects. Certains traitements ont également fait l’objet de contrôles complémentaires de reproductibilité, notamment par comparaison entre QGIS et PostGIS.

Cette validation ne signifie pas que tous les aspects du travail sont automatiquement fiables. L’exactitude numérique, la pertinence de la méthode, la provenance des données et la qualité cartographique sont des critères distincts.


4. Un dossier expérimental pour examiner et reproduire les tests

Pour rendre cette évaluation aussi transparente que possible, je mets à disposition un dossier PDF présentant le détail des 32 tests réalisés.

Pour chaque essai, le document reproduit le prompt utilisé, une capture de l’exécution par l’agent, une capture du projet QGIS avec le résultat obtenu et le compte rendu textuel produit par le plugin. Les observations issues de la validation manuelle des résultats numériques sont également documentées.

Je fournis en complément les données des deux couches du projet initial, afin que les lecteurs qui le souhaitent puissent reprendre les essais dans leur propre environnement QGIS.

Ce matériel permet de dépasser une simple présentation des fonctionnalités : chacun peut examiner les instructions, suivre les opérations visibles, consulter les résultats et, lorsque les prérequis techniques le permettent, refaire les manipulations.

La reproduction complète peut nécessiter un accès Internet, une configuration adaptée et, pour certains essais, une connexion à une base de données ou aux services utilisés. Les conditions de reproduction sont précisées dans le dossier.

Documents et données :


5. Exploration des données et statistiques

Les premiers essais ont porté sur une couche de communes de l’agglomération mulhousienne.

L’agent a commencé par inspecter la structure de la couche, identifier les champs disponibles et prendre en compte un filtre sur la population. À partir de ces données, il a calculé des statistiques, extrait les communes dépassant un seuil de population et créé un champ destiné à contenir les surfaces en hectares.

Ces opérations sont courantes dans un projet SIG, mais leur enchaînement est révélateur. L’agent doit comprendre la structure de la couche, choisir les champs appropriés, appliquer un critère et produire un résultat exploitable.

Les essais ont également porté sur le calcul de densités de population. La densité a été obtenue en rapportant la population à la superficie des communes, mesurée selon une méthode géodésique.

L’agent a ensuite produit des cartes thématiques et des mises en page comparant population totale et densité.

carte générée par AI Agent
mise en page générée par AI  Agent

Des résultats corrects et une cartographie améliorable par itérations

La validation des valeurs numériques a été positive. Les premières mises en page présentaient toutefois quelques défauts, notamment un contraste insuffisant pour certains libellés, des éléments de légende perfectibles et des informations à préciser concernant les unités et l’année des données.

J’ai alors demandé à l’agent d’améliorer ses productions cartographiques en tenant compte de ces observations. Il a apporté des modifications aux mises en page, notamment à la présentation des titres, des unités et des légendes.

Cette démarche illustre un aspect intéressant de l’utilisation d’un agent IA dans QGIS : le travail peut se dérouler par itérations successives. L’utilisateur examine le résultat, identifie les points à améliorer et formule de nouvelles instructions, que l’agent traduit en modifications du projet.

La qualité cartographique ne dépend donc pas uniquement de la première réponse. Elle peut être améliorée au fil du dialogue, sans que l’utilisateur ait nécessairement à effectuer lui-même chaque modification dans l’interface de QGIS. Il reste toutefois important de vérifier que les corrections apportées répondent effectivement aux besoins de lisibilité et de communication de la carte.


6. Gestion des erreurs et enchaînement des opérations

Un autre test consistait à demander une statistique sur un champ qui n’existait pas dans la couche.

L’agent n’a pas inventé de valeur. Il a signalé le problème et proposé d’utiliser des champs numériques disponibles.

Un test complémentaire associait une opération valide à une demande invalide. L’agent a réalisé le calcul possible puis interrompu l’étape qui ne pouvait pas être exécutée correctement.

gestion d'erreur dans un workflow par AI Agent

Ce comportement est intéressant : un agent SIG ne doit pas seulement savoir exécuter une opération, il doit aussi reconnaître les situations dans lesquelles les données ne permettent pas de répondre à la demande.

Ces deux essais constituent toutefois des cas particuliers. Ils ne suffisent pas à établir que l’agent gérera correctement toutes les erreurs possibles, notamment les erreurs de géométrie, les systèmes de coordonnées inadaptés ou les interprétations ambiguës d’un critère spatial.


7. Recherche de données : un exemple avec OpenStreetMap

Les tests ont ensuite porté sur la recherche de pharmacies dans l’agglomération mulhousienne.

L’agent a recherché des données dans OpenStreetMap, créé une couche de points contenant 71 pharmacies et conservé différents attributs descriptifs : nom, adresse, horaires, téléphone, site web ou accessibilité lorsqu’ils étaient disponibles.

récupération de données OSM par AI Agent

Il a ensuite compté les pharmacies par commune. Le résultat comprenait les 39 communes de la couche communale, dont 16 sans pharmacie recensée dans les données utilisées.

calcul d'un nouveau champ de la table par AI Agent

Cet exemple illustre un intérêt important des agents intégrés aux SIG : ils peuvent enchaîner la recherche de données, leur chargement et leur exploitation dans une analyse.

Il faut cependant distinguer la date d’extraction des données de la date de dernière modification de chaque objet dans OpenStreetMap. Une extraction récente ne garantit pas que toutes les informations soient à jour ou exhaustives.

La qualité de l’analyse dépend donc aussi de la couverture et de l’actualité de la source.


8. Analyse cadastrale et zonage d’urbanisme

La partie la plus approfondie des essais concerne le cadastre de Mulhouse et les zones d’urbanisme US1 et US4.

L’objectif était d’identifier les grandes parcelles cadastrales intersectant certaines zones d’urbanisme, puis de vérifier les résultats et de comparer différentes méthodes de calcul.


8.1. Identifier la parcelle de la mairie

L’agent a recherché la parcelle correspondant à l’adresse de la mairie de Mulhouse.

Il a produit une couche contenant une parcelle identifiée par la référence cadastrale 68224000KO0140, avec une contenance cadastrale annoncée de 9 147 m² et une zone d’urbanisme US4.

L’analyse géométrique a donné une superficie géodésique d’environ 9 148,85 m².

La différence entre ces deux valeurs est faible. Elle rappelle néanmoins que la contenance cadastrale et la superficie calculée à partir de la géométrie ne sont pas nécessairement identiques.

L’agent a également étudié le recouvrement avec la zone US4. Ce contrôle géométrique ne remplace évidemment pas la consultation des documents réglementaires pour déterminer les règles d’urbanisme applicables.


8.2. Contrôler la qualité des données cadastrales

Un autre ensemble d’essais a porté sur les 22 828 parcelles cadastrales de Mulhouse chargées dans QGIS.

Les contrôles ont notamment concerné :

  • la présence de géométries nulles ou vides ;
  • la validité géométrique ;
  • les attributs nécessaires à l’identification des parcelles ;
  • les doublons éventuels sur les identifiants cadastraux ;
  • les contenances manquantes ou nulles ;
  • les statistiques de surface cadastrale.

Les contrôles réalisés ont révélé une contenance manquante, sans géométrie nulle, vide ou invalide dans l’ensemble examiné. Aucune duplication n’a été détectée selon la clé cadastrale utilisée pour le contrôle.

L’agent a ensuite extrait les parcelles dont la contenance cadastrale était supérieure ou égale à 10 000 m². Le résultat comprenait 230 parcelles, pour une somme des contenances de 6 579 796 m².

Ces tests montrent que l’agent peut prendre en charge une chaîne de travail relativement longue, allant de l’inspection des données jusqu’à la production d’un sous-ensemble destiné à une analyse ultérieure.


9. Croiser les parcelles cadastrales avec les zones US1

L’étape suivante consistait à identifier les grandes parcelles intersectant une zone US1 de Mulhouse.

Le critère retenu était le suivant :

  • contenance cadastrale supérieure ou égale à 10 000 m² ;
  • intersection avec au moins une zone US1 ;
  • intersection partielle acceptée : la parcelle n’a pas besoin d’être entièrement située dans la zone.

Le résultat était de 23 parcelles, pour une somme de contenances cadastrales de 866 775 m², soit 86,6775 hectares.

Il faut bien comprendre la signification de cette somme. Elle correspond à la contenance cadastrale des 23 parcelles entières, et non à la superficie cumulée de leurs parties situées en zone US1.

Cette distinction est essentielle dans toute analyse croisant parcellaire cadastral et zonage d’urbanisme.

Les opérations de sélection, d’intersection et de calcul de surfaces utilisées dans ces tests font partie des traitements classiques d’un projet SIG. Pour approfondir ces techniques, vous pouvez également consulter mes autres tutoriels consacrés aux traitements spatiaux avec QGIS,comme ,par exemple, QGIS : requête SQL depuis le menu contextuel des couches.


9.1. Calculer les surfaces réellement situées en US1

Un test complémentaire a consisté à calculer la superficie de chaque parcelle située à l’intérieur des zones US1.

Pour cela, les six zones US1 retenues ont été réunies, puis leur intersection avec chacune des 23 parcelles a été calculée. Les surfaces d’intersection ont été mesurées géodésiquement.

La somme des surfaces d’intersection obtenue était d’environ 334 818,95 m², soit 33,48 hectares.

Ce résultat est très différent des 866 775 m² de contenances cadastrales totales. Il correspond à une autre mesure : la superficie géométrique couverte par le zonage US1 à l’intérieur des parcelles retenues.

Certaines parcelles n’intersectaient la zone que sur une surface très faible. Cinq intersections mesuraient moins d’un mètre carré. Ces cas méritent une attention particulière, car de petites surfaces peuvent correspondre à des contacts géométriques très limités ou à des différences de tracé entre les données.

Il est important de les signaler plutôt que de les éliminer automatiquement : leur traitement dépend de l’objectif de l’étude et de la précision attendue.


9.2. Vérifier les résultats avec PostGIS

Pour vérifier la reproductibilité des calculs, une seconde chaîne de traitement a été exécutée dans PostGIS à partir des données importées dans la base.

Les résultats des surfaces d’intersection concordaient avec ceux obtenus dans QGIS à moins de 0,001 m².

ParcelleSurface AI Agent (m²)Surface PostGIS (m²)Écart
LT 2382 938,6382 938,630895< 0,001 m²
LS 4443 405,5943 405,593682< 0,001 m²
IN 12038 584,9238 584,916023< 0,001 m²
KC 976 992,676 992,671316< 0,001 m²
LV 96403,57403,564706< 0,001 m²
LT 20,520,521420< 0,001 m²
LP 320,210,205157< 0,001 m²
ME 840,060,060270< 0,001 m²

Cette concordance renforce la confiance dans les résultats de ce cas d’étude. Elle ne constitue pas une validation totalement indépendante au sens strict, car les deux environnements peuvent partager des bibliothèques géométriques et des conventions de calcul. Elle reste néanmoins un contrôle complémentaire utile.

Cet exemple illustre une bonne pratique : lorsqu’un résultat est important, il est préférable de ne pas se limiter au compte rendu fourni par l’agent. Il est possible de reproduire le calcul, de vérifier les critères et de comparer les valeurs obtenues.

L’utilisation de PostGIS permet ici de reproduire les opérations spatiales directement dans la base de données. Si tu souhaites approfondir cette approche, consulte également mes tutoriels consacrés à PostgreSQL et PostGIS, notamment les requêtes spatiales et les fonctions géométriques.


10. Trois formulations d’un même prompt

Les derniers tests ont porté sur une question simple en apparence :

Quelles sont les grandes parcelles de Mulhouse situées en zone US1 ?

Cette demande peut être formulée de plusieurs façons. Or, les mots employés ne précisent pas nécessairement tous les critères nécessaires à un traitement reproductible.


10.1. Le prompt minimal

La première formulation était :

Trouve les grandes parcelles de Mulhouse en zone US1.

L’agent a recherché des données cadastrales dans son catalogue, chargé 230 entités et créé une couche de résultat contenant 23 parcelles.

Il a indiqué que certaines parcelles pouvaient n’être concernées que partiellement par la zone US1.

Le résultat numérique était correct. Cependant, la demande ne précisait pas explicitement le seuil définissant une grande parcelle, la source cadastrale à privilégier ni les contrôles à effectuer.


10.2. Le prompt intermédiaire

La deuxième formulation explicitait le seuil et le critère spatial :

Sélectionne les parcelles dont la contenance cadastrale est supérieure ou égale à 10 000 m² et qui intersectent une zone US1 de Mulhouse. Donne le nombre de parcelles et la somme de leurs contenances.

Cette fois, l’agent a exploré les connexions disponibles, chargé les 22 828 parcelles depuis PostGIS et utilisé des requêtes SQL et du code Python.

Il a retrouvé les 23 parcelles et calculé une somme des contenances de 866 775 m².

Le résultat était identique, mais le chemin technique était différent de celui du premier essai.


10.3. Le prompt détaillé

La troisième formulation demandait explicitement d’inspecter les sources disponibles, de préciser les critères, de créer une nouvelle couche sans modifier les données sources, de contrôler le résultat et de documenter les limites.

L’agent a produit une couche GeoPackage contenant les 23 parcelles. Il a également signalé qu’une parcelle source sans contenance ne pouvait pas être évaluée, que les licences des tables PostGIS n’étaient pas renseignées et que la surface réellement située en US1 n’avait pas été calculée dans ce traitement.


10.4. Que nous apprend cette comparaison ?

Les trois essais ont produit le même nombre de parcelles. Les deux formulations les plus explicites ont également donné la même somme des contenances cadastrales.

La différence principale concernait le chemin technique et le compte rendu :

  • le prompt minimal a conduit à une recherche dans le catalogue ;
  • le prompt intermédiaire a conduit à l’exploration de PostGIS et à l’utilisation de SQL et Python ;
  • le prompt détaillé a demandé explicitement des contrôles et une documentation des limites.

Comparaison des trois essais

IndicateurPrompt minimalPrompt intermédiairePrompt détaillé
Parcelles retenues232323
Somme des contenancesNon fournie866 775 m²866 775 m²
Recherche des donnéesCatalogue TerraLabBase PostGISBase PostGIS
Couche de résultatOuiSélection dans la couche cadastraleGeoPackage exporté
Contrôles explicitement rapportésPeu détaillésRésultat chiffréIdentifiants, seuil et intersections
Limites signaléesIntersection partielleContenance des parcelles entièresContenance manquante, millésime et licences inconnus

Cette expérience ne démontre pas qu’un prompt détaillé donne systématiquement un résultat plus exact. Elle montre plutôt que la précision des instructions permet de mieux exprimer les critères attendus et d’exiger une restitution plus complète du travail effectué.

Pour comparer des formulations, il faut également repartir du même projet initial et éviter de réutiliser les résultats d’un essai précédent. Dans le cas contraire, on mesure aussi la capacité de l’agent à conserver le contexte de la conversation.


11. Les limites à prendre en compte

Les 32 tests ont montré des capacités intéressantes, mais plusieurs points méritent une attention particulière.

La provenance des données

L’agent peut rechercher et charger des sources, mais le millésime exact, la date de mise à jour ou la licence ne sont pas toujours disponibles dans son compte rendu.

Ces informations doivent être vérifiées lorsque la production est destinée à un usage professionnel ou à une diffusion publique.

La distinction entre résultat et contrôle

Un compte rendu peut annoncer qu’un contrôle a été réalisé. Il est préférable de pouvoir identifier le critère appliqué et, lorsque c’est nécessaire, de reproduire la vérification.

Dans cette série d’essais, les résultats numériques ont été validés manuellement. Cette démarche ne doit pas être confondue avec une garantie générale de fiabilité de l’agent dans toutes les situations.

La qualité cartographique

L’agent peut produire une première carte ou une mise en page, mais les choix de représentation, la lisibilité des étiquettes, la légende et la documentation peuvent encore nécessiter des ajustements.

L’interprétation métier

Une opération géométrique correctement exécutée ne répond pas nécessairement à toutes les questions métier.

Une parcelle qui intersecte une zone d’urbanisme n’est pas nécessairement entièrement comprise dans cette zone. De même, un croisement géométrique ne suffit pas à établir les règles réglementaires applicables à une parcelle.

La qualité de l’analyse dépend donc toujours de la définition du problème et de l’interprétation du résultat.


12. Conclusion : un assistant opérationnel, pas un remplacement de l’expertise SIG

Ces 32 tests montrent que TerraLab AI Agent peut prendre en charge un éventail significatif d’opérations dans QGIS : exploration des données, statistiques, traitements spatiaux, recherche de sources, requêtes SQL, création de couches et production cartographique.

Les résultats numériques obtenus au cours des essais ont été validés manuellement. La comparaison entre QGIS et PostGIS sur le calcul des intersections US1 a également confirmé la reproductibilité des résultats dans ce cas précis.

L’intérêt de l’agent ne réside donc pas uniquement dans sa capacité à produire une réponse en langage naturel. Il peut enchaîner plusieurs opérations techniques et contribuer à accélérer la réalisation d’un travail SIG.

Mais l’automatisation ne supprime pas les exigences fondamentales de la géomatique : qualité des données, choix des méthodes, cohérence des systèmes de coordonnées, traçabilité des sources et interprétation des résultats.

L’utilisateur conserve un rôle essentiel dans la définition des critères, le contrôle des opérations et la validation de la pertinence métier.

Le meilleur usage d’un agent IA dans QGIS n’est donc pas de lui déléguer aveuglément une analyse, mais de lui confier une partie du travail tout en conservant la maîtrise de la méthode et du résultat.


Article fondé sur une série de 32 tests réalisés dans QGIS 4.2. L’évaluation porte sur les opérations observées et les résultats contrôlés dans le cadre de ces essais ; elle ne constitue pas une garantie générale de performance dans tous les projets SIG.

Transparence : cette évaluation a été réalisée dans le cadre d’une prestation rémunérée convenue avec TerraLab. Les observations et conclusions présentées reposent excluisivement sur les essais effectués et leur validation, et non sur une garantie de résultat du fournisseur.

Ressource : TerraLab AI Agent

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é !

Laisser un commentaire

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

Are you human? Please solve:Captcha