[PT]E se pudesses delegar os teus processos SIG a um agente de IA integrado no QGIS? Teste do TerraLab AI Agent



TerraLab AI Agent: 32 testes de um agente de IA no QGIS 4.2

Introdução

A inteligência artificial está a transformar progressivamente a forma como trabalhamos com os Sistemas de Informação Geográfica. Para além dos assistentes capazes de gerar código ou responder a perguntas, estão a surgir agentes de IA que podem interagir diretamente com o projeto QGIS, executar operações e produzir resultados.

O TerraLab AI Agent insere-se nesta nova abordagem. Em vez de se limitar a fornecer instruções ao utilizador, pode analisar os dados disponíveis, encadear operações e atuar sobre o projeto SIG.

Mas até que ponto podemos confiar-lhe tarefas reais de geomática? Que operações consegue executar? E quais são os limites que importa conhecer?

Para responder a estas questões, realizei uma série de 32 testes no QGIS 4.2. O objetivo não era apenas verificar se o agente conseguia responder aos pedidos, mas também avaliar os resultados produzidos, a forma como executava as operações e a necessidade de controlo por parte do utilizador.


1. Um agente de IA integrado no trabalho SIG

Os assistentes de IA utilizados com o QGIS podem assumir várias formas. Alguns ajudam a escrever expressões, consultas SQL ou scripts Python. Outros permitem obter explicações sobre as funcionalidades do software ou orientar o utilizador na realização de uma operação.

Um agente de IA operacional vai mais longe: pode interagir com o projeto, inspecionar as camadas, consultar os seus atributos, procurar dados, executar tratamentos e criar novos resultados.

Esta diferença é importante. O utilizador não pede apenas uma explicação sobre como realizar uma operação: pode solicitar diretamente ao agente que a execute.

É precisamente esta abordagem que o TerraLab AI Agent procura oferecer. O objetivo dos testes apresentados neste artigo foi avaliar as suas capacidades num conjunto de situações concretas, desde a exploração de dados até à análise espacial e à produção cartográfica.


2. Descobrir o TerraLab AI Agent

O TerraLab AI Agent é uma extensão para QGIS concebida para funcionar como um agente de IA integrado no ambiente de trabalho SIG.

O utilizador interage com o agente através de instruções em linguagem natural. Este pode analisar o conteúdo do projeto, identificar as camadas disponíveis, procurar fontes de dados e executar operações em função do pedido.

Entre as possibilidades testadas encontram-se, nomeadamente:

  • a inspeção das camadas e dos respetivos campos;
  • a realização de estatísticas e a seleção de entidades;
  • a criação de campos e de novas camadas;
  • a execução de operações de análise espacial;
  • a pesquisa e o carregamento de dados externos;
  • a utilização de consultas SQL e de bases de dados PostGIS;
  • a produção de mapas e composições cartográficas.

Esta integração permite abordar o trabalho SIG de uma forma diferente: em vez de executar manualmente cada etapa, o utilizador pode descrever o resultado pretendido e deixar o agente realizar uma parte das operações.

Extensão: TerraLab AI Agent


3. Metodologia dos testes

A avaliação foi organizada em 32 testes, concebidos para explorar diferentes funcionalidades do agente em situações concretas de trabalho com dados geográficos.

Os testes abrangeram várias categorias:

  • exploração de dados e estatísticas;
  • gestão de erros e encadeamento de operações;
  • pesquisa e carregamento de dados externos;
  • análise cadastral e cruzamento com zonas de ordenamento urbanístico;
  • operações espaciais e cálculo de superfícies;
  • utilização de SQL e PostGIS;
  • criação de camadas e produção cartográfica.

A abordagem consistiu em formular pedidos em linguagem natural, observar as operações executadas pelo agente e verificar os resultados obtidos no QGIS.

Sempre que possível, os valores numéricos foram verificados manualmente. Alguns cálculos foram também reproduzidos através de outros métodos, nomeadamente com PostGIS, para avaliar a concordância dos resultados.

É importante sublinhar que estes testes não pretendem constituir uma certificação geral do agente. Os resultados apresentados dizem respeito às operações realizadas e às condições específicas de cada ensaio.

4. Um dossier experimental para analisar e reproduzir os testes

Para documentar a avaliação, foi preparado um dossier experimental que reúne os elementos necessários para acompanhar os testes e compreender os resultados.

Para cada ensaio, o dossier apresenta, conforme aplicável:

  • o pedido formulado ao agente;
  • uma captura de ecrã da execução;
  • uma captura de ecrã do resultado no QGIS;
  • o relatório textual produzido pelo agente;
  • as observações relativas à verificação do resultado.

Os testes foram realizados a partir de um projeto inicial que continha duas camadas. Esta base comum permitiu avaliar a capacidade do agente para explorar os dados disponíveis e executar operações a partir de um contexto de trabalho definido.

Alguns ensaios exigiram também acesso à Internet, a serviços externos ou a uma base de dados PostGIS. Estas dependências são indicadas quando são relevantes para a reprodução dos testes.

O dossier permite assim acompanhar os pedidos, observar o comportamento do agente e verificar os resultados apresentados no artigo.

Dossier dos testes: Consultar o relatório em PDF (em francês) Consultar o relatório em PDF (em inglês)

Projeto de dados: Descarregar os dados utilizados nos testes


5. Exploração de dados e estatísticas

Os primeiros ensaios incidiram sobre uma camada de municípios da aglomeração de Mulhouse.

O agente começou por inspecionar a estrutura da camada, identificar os campos disponíveis e ter em conta um filtro relativo à população. A partir destes dados, calculou estatísticas, extraiu os municípios que ultrapassavam um determinado limiar populacional e criou um campo destinado a armazenar as áreas em hectares.

Estas operações são comuns num projeto SIG, mas a forma como são encadeadas é reveladora. O agente tem de compreender a estrutura da camada, escolher os campos adequados, aplicar um critério e produzir um resultado utilizável.

Os ensaios incluíram também o cálculo de densidades populacionais. A densidade foi obtida dividindo a população pela superfície dos municípios, calculada através de um método geodésico.

O agente produziu depois mapas temáticos e composições cartográficas que comparavam a população total com a densidade populacional.

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

Resultados corretos e cartografia melhorável através de iterações

A validação dos valores numéricos foi positiva. No entanto, as primeiras composições cartográficas apresentavam algumas deficiências, nomeadamente contraste insuficiente em determinados rótulos, elementos da legenda que podiam ser melhorados e informações a precisar relativamente às unidades e ao ano dos dados.

Pedi então ao agente que melhorasse as suas produções cartográficas, tendo em conta estas observações. O agente introduziu alterações nas composições, nomeadamente na apresentação dos títulos, das unidades e das legendas.

Esta abordagem ilustra um aspeto interessante da utilização de um agente de IA no QGIS: o trabalho pode decorrer através de sucessivas iterações. O utilizador examina o resultado, identifica os aspetos a melhorar e formula novas instruções, que o agente traduz em alterações ao projeto.

A qualidade cartográfica não depende, portanto, apenas da primeira resposta. Pode ser melhorada ao longo do diálogo, sem que o utilizador tenha necessariamente de efetuar cada alteração diretamente na interface do QGIS. No entanto, continua a ser importante verificar se as correções introduzidas respondem efetivamente às necessidades de legibilidade e comunicação do mapa.


6. Gestão de erros e encadeamento de operações

Outro teste consistia em pedir uma estatística sobre um campo que não existia na camada.

O agente não inventou qualquer valor. Assinalou o problema e propôs a utilização de campos numéricos disponíveis.

Um teste complementar combinava uma operação válida com um pedido inválido. O agente realizou o cálculo possível e interrompeu depois a etapa que não podia ser executada corretamente.

gestion d'erreur dans un workflow par AI Agent

Este comportamento é interessante: um agente SIG não deve apenas saber executar uma operação; deve também reconhecer as situações em que os dados não permitem responder ao pedido.

Estes dois ensaios constituem, contudo, casos particulares. Não são suficientes para demonstrar que o agente irá gerir corretamente todos os erros possíveis, nomeadamente erros de geometria, sistemas de coordenadas inadequados ou interpretações ambíguas de um critério espacial.


7. Pesquisa de dados: um exemplo com OpenStreetMap

Os testes incidiram depois na pesquisa de farmácias na aglomeração de Mulhouse.

O agente pesquisou dados no OpenStreetMap, criou uma camada de pontos com 71 farmácias e conservou vários atributos descritivos: nome, morada, horário de funcionamento, telefone, sítio Web ou acessibilidade, sempre que estas informações estavam disponíveis.

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

Em seguida, contou as farmácias por município. O resultado abrangia os 39 municípios da camada municipal, dos quais 16 não tinham qualquer farmácia registada nos dados utilizados.

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

Este exemplo ilustra uma vantagem importante dos agentes integrados nos SIG: podem encadear a pesquisa de dados, o seu carregamento e a sua utilização numa análise.

É, no entanto, necessário distinguir a data de extração dos dados da data da última modificação de cada objeto no OpenStreetMap. Uma extração recente não garante que todas as informações estejam atualizadas ou sejam exaustivas.

A qualidade da análise depende, portanto, também da cobertura e da atualidade da fonte de dados.


8. Análise cadastral e zonamento urbanístico

A parte mais aprofundada dos ensaios incidiu sobre o cadastro de Mulhouse e as zonas de ordenamento urbanístico US1 e US4.

O objetivo era identificar grandes parcelas cadastrais que intersectassem determinadas zonas urbanísticas, verificar os resultados e comparar diferentes métodos de cálculo.


8.1. Identificar a parcela da Câmara Municipal

O agente pesquisou a parcela correspondente à morada da Câmara Municipal de Mulhouse.

Produziu uma camada com uma parcela identificada pela referência cadastral 68224000KO0140, com uma área cadastral indicada de 9 147 m² e uma classificação urbanística US4.

A análise geométrica produziu uma superfície geodésica de aproximadamente 9 148,85 m².

A diferença entre estes dois valores é pequena. Ainda assim, recorda-nos que a área cadastral e a superfície calculada a partir da geometria não são necessariamente idênticas.

O agente analisou também a sobreposição com a zona US4. Esta verificação geométrica não substitui, naturalmente, a consulta dos documentos regulamentares para determinar as regras urbanísticas aplicáveis.


8.2. Verificar a qualidade dos dados cadastrais

Outro conjunto de ensaios incidiu sobre as 22 828 parcelas cadastrais de Mulhouse carregadas no QGIS.

As verificações abrangeram, nomeadamente:

  • a existência de geometrias nulas ou vazias;
  • a validade geométrica;
  • os atributos necessários à identificação das parcelas;
  • eventuais duplicados nos identificadores cadastrais;
  • áreas cadastrais em falta ou com valor nulo;
  • estatísticas relativas às áreas cadastrais.

As verificações realizadas revelaram uma área cadastral em falta, mas não identificaram geometrias nulas, vazias ou inválidas no conjunto examinado. Também não foi detetada qualquer duplicação com base na chave cadastral utilizada na verificação.

O agente extraiu depois as parcelas cuja área cadastral era igual ou superior a 10 000 m². O resultado incluía 230 parcelas, com uma soma das áreas cadastrais de 6 579 796 m².

Estes testes mostram que o agente consegue assumir uma cadeia de trabalho relativamente longa, desde a inspeção dos dados até à produção de um subconjunto destinado a uma análise posterior.


9. Cruzar as parcelas cadastrais com as zonas US1

A etapa seguinte consistia em identificar as grandes parcelas que intersectavam uma zona US1 de Mulhouse.

O critério adotado foi o seguinte:

  • área cadastral igual ou superior a 10 000 m²;
  • interseção com pelo menos uma zona US1;
  • aceitação de interseções parciais: a parcela não precisava de estar inteiramente situada na zona.

O resultado foi de 23 parcelas, com uma soma das áreas cadastrais de 866 775 m², ou seja, 86,6775 hectares.

É importante compreender o significado desta soma. Corresponde à área cadastral das 23 parcelas na sua totalidade, e não à superfície acumulada das partes dessas parcelas situadas na zona US1.

Esta distinção é essencial em qualquer análise que cruze parcelas cadastrais com zonamento urbanístico.

As operações de seleção, interseção e cálculo de superfícies utilizadas nestes testes fazem parte dos procedimentos clássicos de um projeto SIG. Para aprofundar estas técnicas, pode também consultar os meus outros tutoriais dedicados aos tratamentos espaciais com QGIS, por exemplo, QGIS: executar uma consulta SQL a partir do menu de contexto das camadas.


9.1. Calcular as superfícies efetivamente situadas em US1

Um teste complementar consistiu em calcular a superfície de cada parcela situada no interior das zonas US1.

Para isso, as seis zonas US1 selecionadas foram reunidas e, em seguida, foi calculada a interseção dessa união com cada uma das 23 parcelas. As superfícies de interseção foram medidas geodesicamente.

A soma das superfícies de interseção obtida foi de aproximadamente 334 818,95 m², ou seja, 33,48 hectares.

Este resultado é muito diferente dos 866 775 m² correspondentes à área cadastral total. Trata-se de uma medida diferente: a superfície geométrica abrangida pelo zonamento US1 no interior das parcelas selecionadas.

Algumas parcelas intersectavam a zona apenas numa superfície muito reduzida. Cinco interseções tinham menos de um metro quadrado. Estes casos merecem atenção especial, pois superfícies tão pequenas podem corresponder a contactos geométricos muito limitados ou a diferenças de traçado entre os dados.

É importante assinalá-los em vez de os eliminar automaticamente: o seu tratamento depende do objetivo do estudo e do grau de precisão pretendido.


9.2. Verificar os resultados com PostGIS

Para verificar a reprodutibilidade dos cálculos, foi executada uma segunda cadeia de processamento no PostGIS, utilizando os dados importados para a base de dados.

Os resultados das superfícies de interseção coincidiram com os obtidos no QGIS, com diferenças inferiores a 0,001 m².

ParcelaSuperfície AI Agent (m²)Superfície PostGIS (m²)Diferença
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²

Esta concordância reforça a confiança nos resultados deste caso de estudo. Não constitui, contudo, uma validação totalmente independente em sentido estrito, uma vez que os dois ambientes podem partilhar bibliotecas geométricas e convenções de cálculo. Ainda assim, representa uma verificação complementar útil.

Este exemplo ilustra uma boa prática: quando um resultado é importante, é preferível não nos limitarmos ao relatório fornecido pelo agente. É possível reproduzir o cálculo, verificar os critérios e comparar os valores obtidos.

A utilização do PostGIS permite aqui reproduzir as operações espaciais diretamente na base de dados. Se pretender aprofundar esta abordagem, consulte também os meus tutoriais dedicados ao PostgreSQL e ao PostGIS, nomeadamente sobre consultas espaciais e funções geométricas.


10. Três formulações do mesmo prompt

Os últimos testes incidiram sobre uma pergunta aparentemente simples:

Quais são as grandes parcelas de Mulhouse situadas na zona US1?

Este pedido pode ser formulado de várias maneiras. No entanto, as palavras utilizadas nem sempre especificam todos os critérios necessários para um processamento reprodutível.

10.1. O prompt mínimo

A primeira formulação foi:

Encontra as grandes parcelas de Mulhouse na zona US1.

O agente pesquisou dados cadastrais no seu catálogo, carregou 230 entidades e criou uma camada de resultados com 23 parcelas.

Indicou que algumas parcelas poderiam ser abrangidas apenas parcialmente pela zona US1.

O resultado numérico estava correto. No entanto, o pedido não especificava explicitamente o limiar que definia uma parcela grande, a fonte cadastral a privilegiar nem as verificações a realizar.

10.2. O prompt intermédio

A segunda formulação explicitava o limiar e o critério espacial:

Seleciona as parcelas cuja área cadastral seja igual ou superior a 10 000 m² e que intersectem uma zona US1 de Mulhouse. Indica o número de parcelas e a soma das respetivas áreas cadastrais.

Desta vez, o agente explorou as ligações disponíveis, carregou as 22 828 parcelas a partir do PostGIS e utilizou consultas SQL e código Python.

Voltou a identificar as 23 parcelas e calculou uma soma das áreas cadastrais de 866 775 m².

O resultado era idêntico, mas o procedimento técnico foi diferente do utilizado no primeiro ensaio.

10.3. O prompt detalhado

A terceira formulação solicitava explicitamente a inspeção das fontes disponíveis, a definição dos critérios, a criação de uma nova camada sem modificar os dados de origem, a verificação do resultado e a documentação das limitações.

O agente produziu uma camada GeoPackage com as 23 parcelas. Assinalou também que não era possível avaliar uma parcela de origem sem área cadastral, que as licenças das tabelas PostGIS não estavam indicadas e que, neste processamento, não tinha sido calculada a superfície efetivamente situada na zona US1.

10.4. O que nos ensina esta comparação?

Os três ensaios produziram o mesmo número de parcelas. As duas formulações mais explícitas também apresentaram a mesma soma das áreas cadastrais.

A principal diferença dizia respeito ao procedimento técnico e ao relatório produzido:

  • o prompt mínimo conduziu a uma pesquisa no catálogo;
  • o prompt intermédio levou à exploração do PostGIS e à utilização de SQL e Python;
  • o prompt detalhado solicitou explicitamente verificações e documentação das limitações.

Comparação dos três ensaios

IndicadorPrompt mínimoPrompt intermédioPrompt detalhado
Parcelas selecionadas232323
Soma das áreas cadastraisNão fornecida866 775 m²866 775 m²
Pesquisa dos dadosCatálogo TerraLabBase de dados PostGISBase de dados PostGIS
Camada de resultadosSimSeleção na camada cadastralGeoPackage exportado
Verificações explicitamente comunicadasPouco detalhadasResultado numéricoIdentificadores, limiar e interseções
Limitações assinaladasInterseção parcialÁrea total das parcelasÁrea em falta, data de referência e licenças desconhecidas

Esta experiência não demonstra que um prompt detalhado produza sistematicamente um resultado mais exato. Mostra, antes, que a precisão das instruções permite definir melhor os critérios pretendidos e exigir uma apresentação mais completa do trabalho realizado.

Para comparar diferentes formulações, é também necessário partir do mesmo projeto inicial e evitar reutilizar os resultados de um ensaio anterior. Caso contrário, estaríamos também a avaliar a capacidade do agente para conservar o contexto da conversa.


11. Limitações a ter em conta

Os 32 testes demonstraram capacidades interessantes, mas há vários aspetos que merecem uma atenção especial.

A proveniência dos dados

O agente consegue pesquisar e carregar fontes de dados, mas a data de referência exata, a data de atualização ou a licença nem sempre são indicadas no seu relatório.

Estas informações devem ser verificadas quando os resultados se destinam a uma utilização profissional ou à divulgação pública.

A distinção entre resultado e verificação

Um relatório pode indicar que foi realizada uma verificação. É preferível poder identificar o critério aplicado e, quando necessário, reproduzir essa verificação.

Nesta série de ensaios, os resultados numéricos foram validados manualmente. Este procedimento não deve ser confundido com uma garantia geral de fiabilidade do agente em todas as situações.

A qualidade cartográfica

O agente pode produzir um primeiro mapa ou uma composição cartográfica, mas as opções de representação, a legibilidade dos rótulos, a legenda e a documentação podem ainda necessitar de ajustes.

A interpretação no contexto da atividade

Uma operação geométrica corretamente executada não responde necessariamente a todas as questões relacionadas com a atividade em causa.

Uma parcela que intersecta uma zona de ordenamento urbanístico não está necessariamente incluída na sua totalidade nessa zona. Do mesmo modo, uma interseção geométrica não é suficiente para determinar as regras regulamentares aplicáveis a uma parcela.

A qualidade da análise depende, portanto, sempre da definição do problema e da interpretação dos resultados.


12. Conclusão: um assistente operacional, não um substituto da experiência em SIG

Estes 32 testes mostram que o TerraLab AI Agent consegue assumir um conjunto significativo de operações no QGIS: exploração de dados, estatísticas, processamento espacial, pesquisa de fontes, consultas SQL, criação de camadas e produção cartográfica.

Os resultados numéricos obtidos durante os ensaios foram validados manualmente. A comparação entre QGIS e PostGIS no cálculo das interseções com as zonas US1 confirmou também a reprodutibilidade dos resultados neste caso específico.

O interesse do agente não reside, portanto, apenas na sua capacidade para produzir uma resposta em linguagem natural. Consegue encadear várias operações técnicas e contribuir para acelerar a realização de trabalhos SIG.

No entanto, a automatização não elimina os requisitos fundamentais da geomática: qualidade dos dados, escolha dos métodos, coerência dos sistemas de coordenadas, rastreabilidade das fontes e interpretação dos resultados.

O utilizador continua a desempenhar um papel essencial na definição dos critérios, no controlo das operações e na validação da sua pertinência no contexto da atividade.

A melhor utilização de um agente de IA no QGIS não consiste, portanto, em delegar-lhe cegamente uma análise, mas em confiar-lhe uma parte do trabalho, mantendo o controlo do método e do resultado.


Artigo baseado numa série de 32 testes realizados no QGIS 4.2. A avaliação incide sobre as operações observadas e os resultados verificados no âmbito destes ensaios; não constitui uma garantia geral de desempenho em todos os projetos SIG.

Transparência: esta avaliação foi realizada no âmbito de um trabalho remunerado acordado com a TerraLab. As observações e conclusões apresentadas baseiam-se exclusivamente nos ensaios efetuados e na respetiva validação, e não numa garantia de resultados por parte do fornecedor.

Recurso: TerraLab AI Agent

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Are you human? Please solve:Captcha