Creando un Histórico Dinámico en PostgreSQL/PostGIS con la Ayuda de la IA

La gestión de cambios en bases de datos espaciales es crucial para mantener la integridad de los datos y permitir la reversión a estados anteriores. Los videos de CartoSiG UPV exploran cómo implementar un sistema de histórico sencillo en PostgreSQL/PostGIS, utilizando herramientas de inteligencia artificial como ChatGPT y Gemini para agilizar el proceso de desarrollo.


Parte 1: Fundamentos y Estructura del Histórico

El primer video, «Módulo 13. Creación de un histórico en PostgreSQL/PostGIS en plpgsql con chatgpt. Parte 1 de 2», introduce el concepto de un histórico para bases de datos espaciales, con el objetivo de rastrear inserciones, actualizaciones y eliminaciones en tablas PostGIS, como el fichero de cartografía cadastralparcel.sql. Esto permite deshacer cambios y mantener un registro detallado de las modificaciones.

Puntos clave de la primera parte:

  • Uso de IA para la Generación de Código: Se demuestra cómo ChatGPT y Gemini pueden generar el código PL/pgSQL necesario, como el fichero histo_gpt.sql, a partir de prompts. Puedes ver el chat completo de GPT aquí: chat_gpt.html.
  • Estructura de la Tabla Histórica: Se crea una copia de la tabla original en un nuevo esquema, añadiendo campos para registrar la fecha del cambio, el tipo de cambio (insertar, actualizar, eliminar), el usuario, la dirección IP, el GID original y un array de texto para listar los campos modificados en una actualización.
  • Lógica de las Funciones Trigger: Se explican las funciones para manejar operaciones de inserción, eliminación y actualización, asegurando que solo los valores cambiados se registren en el histórico durante las actualizaciones.
  • Funcionalidad de Restauración: Se presenta una función para restaurar la tabla a un estado anterior basado en una fecha específica.
  • Demostración Práctica: El video incluye una demostración en QGIS, mostrando cómo las operaciones en la tabla original se reflejan en el histórico y cómo se puede restaurar el estado.

Parte 2: Dinamización y Refinamiento con Gemini

La segunda parte, «Módulo 13. Mejorando el histórico en PostgreSQL/PostGIS en plpgsql con gemini. Parte 2 de 2», se centra en mejorar el script del histórico para hacerlo dinámico, permitiendo su uso con cualquier tabla, como el fichero nucleosche.sql.

Puntos clave de la segunda parte:

  • Dinamización del Script: El objetivo principal es transformar el script generado previamente por ChatGPT en una función PL/pgSQL que acepte el nombre de una tabla como argumento, generando dinámicamente la tabla histórica y sus triggers.
  • Interacción con Gemini: Se muestra cómo se le proporciona a Gemini el script existente y se le solicita la creación de funciones dinámicas para la creación y restauración del histórico, prestando atención al escape de código dentro de las cadenas. Puedes ver el chat completo de Gemini aquí: chat_gemini.html.
  • Funciones Dinámicas: Se destaca la función CREATE OR REPLACE FUNCTION crear_historico_tabla, que utiliza el método format de PostgreSQL para construir sentencias SQL de forma dinámica, incluyendo nombres de columnas y tipos. El código generado por Gemini se encuentra en gemini_historico.sql.
  • Funciones de Eliminación y Restauración Mejoradas: Se presenta la función eliminar_historico_tabla para eliminar los componentes del histórico y la función restaurar_tabla_a_fecha, con una corrección crucial para evitar la modificación incorrecta de la clave primaria (gid) durante las actualizaciones.
  • Importancia de la Revisión del Código: El video enfatiza la necesidad de revisar y comprender cada línea de código generada por la IA para asegurar su corrección y evitar problemas. Se resalta un error de clave duplicada durante una restauración inicial y cómo se corrigió el código.

Conclusión

Ambos videos demuestran el poder de combinar PostgreSQL/PostGIS con herramientas de IA para desarrollar soluciones avanzadas de gestión de bases de datos. La creación de un histórico dinámico no solo mejora la trazabilidad y la capacidad de auditoría, sino que también ofrece una robusta funcionalidad de «deshacer» para cualquier tabla espacial, optimizando la gestión de datos y reduciendo errores. La clave, como se subraya en el segundo video, reside en la revisión crítica y la comprensión del código generado por la IA para garantizar su fiabilidad y eficiencia.


Recursos Adicionales:

  • Fichero de cartografía utilizado en el primer video (QGIS): cadastralparcel.sql
  • Fichero de cartografía utilizado en el segundo video (QGIS): nucleosche.sql
  • Código fuente generado por ChatGPT (primer video): histo_gpt.sql
  • Código fuente generado por Gemini (segundo video): gemini_historico.sql
  • Fichero HTML con el chat de ChatGPT: chat_gpt.html
  • Fichero HTML con el chat de Gemini: chat_gemini.html

Libro «PostGIS. Bases de datos espaciales». Revisión enero 2025.

Estimados lectores. Os presento la nueva edición de libro de PostGIS.

PostGIS: La guía definitiva para bases de datos espaciales

En el mundo de los Sistemas de Información Geográfica (SIG), PostGIS se ha convertido en una de las herramientas más potentes y versátiles para gestionar bases de datos espaciales. Su integración con PostgreSQL lo convierte en una solución robusta y eficiente para el análisis geoespacial, la producción cartográfica y la validación de datos espaciales.

El libro PostGIS: Bases de Datos Espaciales de José Carlos Martínez Llario es una referencia imprescindible para cualquier usuario, desde principiantes hasta expertos en SIG y bases de datos. En esta entrada de blog, te damos una visión general de esta obra y cómo puede ayudarte a dominar PostGIS.

¿Para quién es este libro?

Este manual está diseñado para distintos perfiles de usuarios, desde aquellos que desean iniciarse en bases de datos espaciales hasta profesionales que buscan profundizar en análisis espaciales avanzados o en la extensión de funcionalidades de PostGIS. Si provienes del mundo de los SIG de escritorio y quieres migrar a una plataforma más potente sin complicaciones, este libro te ofrece una transición estructurada y guiada con ejemplos prácticos basados en cartografía real.

Contenido del libro

El libro se estructura en nueve capítulos que abarcan desde los fundamentos hasta aspectos avanzados de PostGIS. A continuación, un vistazo a los principales temas tratados:

  • Introducción: Normativa, instalación y primeros pasos en PostGIS.
  • Núcleo: Conceptos fundamentales, relaciones espaciales y modelado de geometrías según estándares OGC e ISO.
  • Análisis espacial: Operadores espaciales y análisis vectorial aplicado a la superposición, proximidad y transformación de datos.
  • Validación cartográfica: Precisión, tolerancias, validación de geometrías y optimización del análisis espacial.
  • Programación: Creación de funciones personalizadas con PL/PgSQL para ampliar las capacidades de PostGIS.
  • Miscelánea espacial: Geometrías 3D, consultas avanzadas y herramientas para optimizar bases de datos espaciales.
  • Análisis raster: Gestión y análisis de datos en formato raster, incluyendo álgebra de mapas y reclasificación.
  • Extensiones: Integración con pgrouting para análisis de redes y topología persistente.
  • Anexos: Guía de SQL, administración de PostgreSQL y soluciones a problemas comunes.

¿Por qué deberías leer este libro?

Si estás trabajando con datos espaciales, PostGIS te permitirá ir más allá de las capacidades tradicionales de los SIG de escritorio. Este libro es la guía ideal para aprender a gestionar datos espaciales con eficiencia, realizar análisis complejos y optimizar flujos de trabajo geoespaciales en bases de datos relacionales.

Además, el autor pone a disposición recursos adicionales en su blog oficial, donde puedes descargar cartografía y código SQL para los ejercicios propuestos. También ofrece cursos online certificados por la Universitat Politècnica de València, ideales para quienes buscan una formación estructurada y guiada.

Conclusión

Ya seas un usuario de SIG buscando mejorar sus habilidades o un profesional de bases de datos que quiere incorporar capacidades espaciales en sus proyectos, PostGIS: Bases de Datos Espaciales es la referencia definitiva. No pierdas la oportunidad de explorar todas las funcionalidades que PostGIS tiene para ofrecer y llevar tu análisis geoespacial al siguiente nivel.

Para más información y acceso a los cursos online, visita: https://cartosig.webs.upv.es.

Puntos de venta

El libro «PostGIS: Bases de Datos Espaciales», publicado en 2025, está disponible en diferentes formatos y puntos de venta:

  • Formato eBook (Print Replica) y versión papel con tapa blanda: Disponible en Amazon en el siguiente enlace: Amazon (ebook). Amazon (papel).
  • Editorial de la Universitat Politècnica de València: Publicado en formato papel con tapa blanda con un precio muy contenido de 29 euros, y con una calidad de impresión y papel muy superior a la versión de Amazon. Disponible en la tienda oficial de la UPV en el siguiente enlace: La Librería UPV.

Material complementario

El índice detallado y las primeras 60 páginas (revisión 5) se puede obtener aquí.

Para descargar los datos utilizados en la publicación (ejemplos, código fuente y cartografía) debe comprobar el número de revisión del libro (se encuentra en la contraportada) o el ISBN/ASIN.

Curso online de Bases de datos espaciales: PostGIS

El autor del libro imparte también un curso online de PostGIS de 90 horas. El alumno obtiene un certificado oficial de aprovechamiento de la Universidad Politécnica de Valencia a su finalización.

Es un curso con un amplio temario (13 módulos) a lo largo de 10 semanas.

Para más informacion, precios, proceso de matriculación visite la sección de cursos.