5 usos de QChatGPT: La Inteligencia Artificial en QGIS

Si hace unas semanas os hablábamos de la inteligencia artificial y cómo se podía aplicar a los SIG, ahora os traemos un complemento de QGIS, denominado QChatGPT, que integra la API de OpenAI en QGIS.

Este complemento nos permite incorporar la API de OpenAI a nuestros proyectos de QGIS, facilitándonos el acceso a la tecnología de Inteligencia Artificial sin necesidad de tener experiencia previa con sistemas de IA.

En este artículo vamos a ver más sobre cómo funciona QChatGPT en QGIS.

ChatGPT en QGIS

Instalación

En menú superior de QGIS nos dirigimos a Complementos → Administrar e instalar complementos.

Tecleamos QChatGPT:

Instalamos el complemento y los paquetes de Python necesarios:

Creamos una API Key accediendo al siguiente enlace: https://platform.openai.com/account/api-keys, y lo introducimos en la pestaña Settings:

Nota: El uso de la API no es gratuito, tiene un coste por uso. Al crear una cuenta dispondrás de $5 en crédito gratis que puedes usar durante los primeros 3 meses. Actualmente el precio es de $0.002 / 1K tokens y 1 token equivale a 0.75 palabras.

Una vez introducida la clave ya podremos comenzar a utilizar el complemento.

Vamos a ver 5 usos que podemos darle a la inteligencia artificial en nuestro trabajo diario con QGIS:

1. Obtener datos sobre el proyecto

Con el plugin de ChatGPT en QGIS podemos obtener información del proyecto activo.

Human: ¿Cuál es el EPSG del proyecto?

AI: El EPSG del proyecto es 4326.

Human: Además del EPSG del proyecto, que otra información podemos obtener del proyecto de QGIS?

AI:

Alguna información adicional del proyecto QGIS incluye la fecha de creación, la extensión de la vista actual, el zoom actual, el archivo de proyecto utilizado, los controladores de datos, las capas usadas y los ajustes específicos para cada capa. También se puede ver la ubicación de las fuentes de datos y la configuración del Sistema de Referencia de Coordenadas (SRC) utilizado.

Human: ¿Qué capas contiene el proyecto de QGIS abierto?

AI: Esto depende del proyecto específico de QGIS abierto. Un proyecto puede contener una o más capas, como capas vectoriales, capas raster, imágenes de satélite, datos de bases de datos, etc.

En resumen: QChatGPT no es capaz de saber qué capas hay en el proyecto. Solo hemos conseguido obtener información del sistemas de coordenadas. El resto de información no sabemos de dónde proviene.

2. Obtener ayuda sobre geoprocesos

Human: ¿Cómo hacer un buffer en QGIS?

AI: Para crear un buffer en QGIS, abre la herramienta Vector > Geoprocesamiento > Buffer. Luego, selecciona tu capa de entrada, establece el tamaño del buffer y especifica la unidad de medida. También puedes elegir si deseas añadir el buffer a la misma capa, guardarlo en un nuevo archivo o hacer los dos. A continuación, haz clic en «Aplicar» para terminar. El buffer se mostrará en el Visor de Mapas de QGIS.

Bueno, grosso modo es correcto, aunque realmente debemos ir al menú superior Vectorial → Herramientas de geoproceso → Buffer, como se ve en la imagen siguiente:

Human: por favor, dame un punto en formato GeoJSON con la ubicación de Madrid

AI:

{ 
  "type": "Feature", 
  "properties": {}, 
  "geometry": {
    "type": "Point", 
    "coordinates": [-3.702756, 40.416775]
  }
}

En la última versión de QChatGPT se ha incorporado el botón Add on the map the last AI. De esta forma se añade el punto al lienzo  de QGIS:

3. Realizar consultas sobre complementos

El plugin QChatGPT nos ayuda a encontrar complementos de QGIS que nos ayudan a realizar ciertas funciones que no vienen por defecto en el núcleo de QGIS.

Human: ¿Qué plugin de QGIS puedo utilizar para añadir mapas online?

AI:El plugin de QGIS para añadir mapas online se llama QuickMapServices. Este plugin proporciona una capa base con diferentes tipos de mapas online, como Bing Maps, Google Maps, OpenStreetMap y muchos otros. Con este plugin, los usuarios pueden agregar fácilmente estas fuentes de datos a sus proyectos en QGIS sin tener que descargar los datos primero.

Human: ¿Qué plugin de QGIS puedo utilizar para trabajar con herramientas tipo CAD?

Para trabajar con herramientas tipo CAD en QGIS, puedes utilizar el plugin CADTools. Este plugin proporciona una variedad de herramientas para dibujar, modificar y manipular objetos CAD en QGIS. También incluye funcionalidades como la exportación a formatos DXF, la modificación de capas de línea, la creación de polígonos y la construcción de objetos 3D con una interfaz fácil de usar.

Ojo, que el plugin CADTools ya no existe, sin embargo uno de los mejorares plugin de QGIS para trabajar con herramientas tipo CAD es QAD.

Human: ¿existe algún plugin de QGIS para trabajar con BIM?

AI: No existe un plugin para QGIS específico para trabajar con BIM, pero hay herramientas disponibles que permiten importar y visualizar datos BIM a través de QGIS. Además, algunos modelos BIM se pueden exportar al formato GeoJSON, que es compatible con QGIS.

Si le vemos utilidad para ayudarnos a encontrar determinados plugins, ya que el repositorio actualmente supera los 1000, pero teniendo en cuenta que no tiene una base de datos de plugins actualizada, por lo que obviará los más recientes.

4. Consultas sobre recursos geográficos

Human: ¿de dónde puedo extraer datos LiDAR para trabajar en QGIS?

AI: Los datos LiDAR para trabajar en QGIS pueden extraerse de varias fuentes, incluidas el USGS National Map Viewer, el USGS EarthExplorer, el Global Human Settlement Layer (GHSL), el Earth Observation Data Portal y la Survey of India. También es posible descargar datos LiDAR a través de OpenTopography, GeoBase y el Grupo Internacional para el Desarrollo de Sistemas de Información Geográfica.

Human: por favor dime el WMS del PNOA de España

AI: El WMS del PNOA de España es: https://www.ign.es/wms-inspire/pnoa-ma?version=1.3.0

Es cierto que da resultados y mucha ayuda que de otra forma tendríamos que salir a Google a buscar, pero sin conocimientos de QGIS no sabremos que herramienta utilizar para añadir el servicio WMS.

5. Ayuda para crear scripts de Python

Human: ¿Puedes crear un script en Python que añada la capa del PNOA a QGIS?

AI: Sí, se puede crear un script en Python para añadir la capa del Catastro. Aquí hay un ejemplo de cómo construir un script para lograr esto:

import arcpy
from arcpy import env
# Establece la variable de entorno
env.workspace = "C:/PATH/TO/WORKSPACE"
# Añadir la capa al mapa actual
arcpy.MakeFeatureLayer_management (in_features='CatastroLayer', out_layer='CatastroLayer_lyr')
arcpy.AddLayerToMap (in_layer='CatastroLayer_lyr', add_to_TOC=True)

Oh wait!, un código para ArcGIS 😅!! Vamos a precisar un poco mejor la consulta….

Human: ¿Puedes crear un script en Python que añada la capa del PNOA a QGIS?

AI: No, no es posible crear un script en Python para añadir la capa del PNOA a QGIS. Esto se debe a que el PNOA es una base de datos que no admite scripts en Python. Sin embargo, es posible acceder directamente a los servicios web WMS/WFS del PNOA desde QGIS, utilizando la herramienta «Añadir capa WMS/WMTS» para obtener las capas de datos de interés.

Desistimos. Vamos a probar con otro script:

Human: crea un script para QGIS que lea los registros de la tabla de atributos de una capa y muestre los nombres de los campos de esa tabla

AI:

##Script para QGIS
#Importación de los siguientes módulos QGIS
from qgis.core import *
from qgis.gui import *
#Obtener la capa activa
layer = iface.activeLayer()
#Abrir un diálogo de cuadro de diálogo QGIS para leer los nombres de los campos
fields = layer.fields()
for field in fields:
print(field.name())

Al escribir el código en la consola de Python funciona perfectamente, listando los nombres de la tabla de atributos de la capa

QChatGPT y PyQGIS
ChatGPT + QGIS + PyQGIS

Hemos creado también un vídeo con algunas pruebas con QChatGPT:

Let’s connect!

Date de alta en nuestra newsletter y te enviaremos GRATIS el ebook que te ayudará a impulsar tu perfil GIS:
Vitaminas MappingGIS

Tan solo una vez al mes recibirás las últimas novedades del sector GIS y de nuestros cursos

10 comentarios en «5 usos de QChatGPT: La Inteligencia Artificial en QGIS»

  1. estoy comenzando a usar QChatGPT, logro generar la Api key, pero sin haber hecho ninguna consulta previa me sale que eh rebasado el limite de consultas, cual seria la solucion, ya eh porbado con la version mas estable qgis 3.28 y con qgis 3.30

    Responder
  2. Buen día, excelente post. Una pregunta, puedo ordenar a la IA que dentro de un raster me ubique figuras geométricas o lo más similar que se encuentre en el raster a las figuras geometricas, que estoy trabajando? Saludos.

    Responder
  3. Hola Aurelio. Al instalar el complemento me muestra el siguiente error:

    No se pudo cargar el complemento ‘QChatGPT’ debido a un error al llamar a su método classFactory()

    ModuleNotFoundError: No module named ‘openai’
    Traceback (most recent call last):
    File «C:\Users/avfpa/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\QChatGPT\qchatqpt.py», line 45, in
    import openai
    File «C:\PROGRA~1/QGIS32~1.12/apps/qgis-ltr/./python\qgis\utils.py», line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
    ModuleNotFoundError: No module named ‘openai’

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File «C:\PROGRA~1/QGIS32~1.12/apps/qgis-ltr/./python\qgis\utils.py», line 423, in _startPlugin
    plugins[packageName] = package.classFactory(iface)
    File «C:\Users/avfpa/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\QChatGPT\__init__.py», line 35, in classFactory
    from .qchatqpt import qchatgpt
    File «C:\PROGRA~1/QGIS32~1.12/apps/qgis-ltr/./python\qgis\utils.py», line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
    File «C:\Users/avfpa/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\QChatGPT\qchatqpt.py», line 51, in
    import openai
    File «C:\PROGRA~1/QGIS32~1.12/apps/qgis-ltr/./python\qgis\utils.py», line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
    ModuleNotFoundError: No module named ‘openai’

    Versión de Python: 3.9.5 (tags/v3.9.5:0a7dcbd, May 3 2021, 17:27:52) [MSC v.1928 64 bit (AMD64)]
    Versión de QGIS: 3.22.12-Białowieża Białowieża, b8534cb1

    Ruta de Python:
    C:/PROGRA~1/QGIS32~1.12/apps/qgis-ltr/./python
    C:/Users/avfpa/AppData/Roaming/QGIS/QGIS3\profiles\default/python
    C:/Users/avfpa/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins
    C:/PROGRA~1/QGIS32~1.12/apps/qgis-ltr/./python/plugins
    C:\Program Files\QGIS 3.22.12\bin\python39.zip
    C:\PROGRA~1\QGIS32~1.12\apps\Python39\DLLs
    C:\PROGRA~1\QGIS32~1.12\apps\Python39\lib
    C:\Program Files\QGIS 3.22.12\bin
    C:\PROGRA~1\QGIS32~1.12\apps\Python39
    C:\PROGRA~1\QGIS32~1.12\apps\Python39\lib\site-packages
    C:\PROGRA~1\QGIS32~1.12\apps\Python39\lib\site-packages\win32
    C:\PROGRA~1\QGIS32~1.12\apps\Python39\lib\site-packages\win32\lib
    C:\PROGRA~1\QGIS32~1.12\apps\Python39\lib\site-packages\Pythonwin
    C:/Users/avfpa/AppData/Roaming/QGIS/QGIS3\profiles\default/python
    .
    C:\Users/avfpa/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\qgis_resource_sharing
    C:\Users\avfpa\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\qgis_resource_sharing
    C:\Users\avfpa\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\qgis_resource_sharing\ext_libs

    He probado tanto e MacOS como en windows y en ambos me aparece. Cómo puedo solucionarlo?
    Gracias de antemano.

    Un saludo

    Responder
  4. Hola, felicitaciones tu artículo, es bastante ilustrativo. Yo usé el complemento sin problemas, pero de pronto, de un día para otro me sale el siguiente error en dos computadoras diferentes: «QChatGPT : openai.error.AuthenticationError: Incorrect API key provided. You can find your API key at https://platform.openai.com/account/api-keys.» Tal vez tuvo que ver alguna actualización. No he logrado resolverlo

    Responder
  5. Hola Aurelio, he intentado probar ChatGPT, pero me pide la API de OpenAI. Creé una y la copié y pegué en la configuración del plugin, pero sigue sin funcionar. ¿Cómo configuraste la API para que funcione el plugin? Gracias.

    Responder

Deja un comentario