• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar al pie de página
logo web Geoinnova

Geoinnova

Consultoría y Formación en SIG y Medio Ambiente

  • Geoinnova
    • Asociación
    • Equipo
    • Visor de proyectos Geoinnova
    • Geolibrería
    • Alianzas Estratégicas
  • Consultoría
    • Consultoría y Desarrollo en Sistemas de Información Geográfica
    • Consultora Ambiental
    • Turismo sostenible
    • Planificación urbana y ordenación del territorio
    • Planes Urbanos de Actuación Municipal – PUAM
    • Geomarketing
  • Servicios
    • Planero Web
    • QElectricGIS
    • Plugins
  • Formación
    • Todos los cursos
    • Webinars
    • Máster y Diplomas
    • Cursos de ArcGIS
    • Cursos de QGIS
    • Cursos de Teledetección
    • Cursos de Medioambiente
  • Medio Ambiente
    • Consultora Ambiental
    • Estudios ambientales para proyectos de energías renovables
    • Estudios de Impacto e Integración Paisajística
    • Evaluación Ambiental Estratégica de planes y programas
    • Estudio de Impacto Ambiental para proyectos
    • Cálculo huella de carbono
    • Educación Ambiental
    • Cursos de Medioambiente
  • Coworking
  • Blog
    • SIG
    • Medio Ambiente
    • Teledetección
    • Programación y Desarrollo SIG
    • Corporativo
  • Contacto
    • Soporte de Clientes – Tickets
SIG

Kart, el complemento de QGIS para control de versiones

22/12/2021 Deja un comentario

Recientemente ha sido añadido al repositorio de complementos de QGIS, el plugin Kart que permite trabajar con gestión de versiones distribuidas sobre nuestros datos vectoriales.

Aunque Kart es un desarrollo que ya existía, la aparición del plugin para QGIS desarrollado principalmente por Víctor Olaya, va a facilitar notablemente el uso de sistema de control de versiones (VCS) de datos geoespaciales, sobre todo para usuarios no iniciados en el uso de Git.

Contenidos ocultar
¿Qué es un sistema de control de versiones o VCS?
¿Cómo usaríamos el control de versiones sobre nuestros datos vectoriales?
Usando Kart
Complemento Kart para QGIS
Instalación
Creación de un repositorio
Importación de datos al repositorio
Commits de cambios
Acceso a historial
Primeras impresiones

¿Qué es un sistema de control de versiones o VCS?

Antes de exponer cómo trabajar con Kart, hemos creído oportuno hacer algunas referencias básicas sobre VCS.

Este tipo de sistemas son profusamente usados en el campo del desarrollo cuando queremos tener registrados los cambios realizados sobre los archivos digitales a lo largo del tiempo.

Gracias a la implantación de un sistema de control de versiones como Git, los desarrolladores pueden:

  • Regresar a versiones anteriores de nuestros archivos.
  • Comparar cambios a lo largo del tiempo.
  • Identificar quién modificó por última vez algo que pueda estar causando conflictos y resolverlo.
  • Permitir que varias personas estén trabando en versiones (ramas) del proyecto.
  • Unir cambios realizados por diferentes usuarios sobre los mismos ficheros.

¿Cómo usaríamos el control de versiones sobre nuestros datos vectoriales?

Si aplicamos este sistema de trabajo en nuestras rutinas GIS, podríamos acceder al historial de todos los cambios realizados sobre los datos vectoriales de un proyecto.

Esto nos permitiría conocer al detalle qué se ha hecho en cada momento, gracias a los commits. Un commit, podríamos traducirlo por confirmación o consolidación, sería una «fotografía» del estado de nuestros ficheros en un determinado momento.

Usando los metadatos (descripción, fecha, autor…) que acompañan a estas acciones podríamos saber con certeza qué trabajos se ha realizados, en qué momento y por quién.

Si nuestros datos están bajo un sistema de control de versiones, podremos también recuperar esta instantánea de nuestras modificaciones y restaurarla, volviendo con ello a la versión temporal concreta.

Estas son algunas de las mejoras que conlleva el uso de Git. Pero cuando este sistema de trabajo llega a su máxima utilidad es cuando se trabaja dentro de equipos. Varias personas podrían estar editando un mismo conjunto de  datos vectoriales usando distintas ramas. 

Una rama o branch es un espacio o área de trabajo independiente que será controlado por nuestro sistema. Así, mientras miembro del equipo puede estar trabajando sobre una rama destinada a la actualización de atributos de una capa, otro usuario podría seguir avanzando en la edición gráfica.

Ejemplo de trabajo con ramas o branches

Llegado un momento determinado, estos trabajos se podrían unir a la rama principal (main o master) que analizaría si existen conflictos entre los distintos trabajos, permitiendo unir (merge) los cambios al trabajo principal o corregir previamente las posibles diferencias.

Usando Kart

Lo primero que debemos realizar es la instalación en nuestro equipo del programa Kart desarrollado por Koordinates. Accederemos a la página del proyecto y descargaremos la versión según nuestro sistema operativo.

Instalado Kart en nuestro equipo, estaremos en disposición de controlar las versiones de conjuntos de datos GIS de tipo Shapefile, GeoPackage o PostGIS usando los comandos correspondientes para ello mediante consola.

El flujo básico consistiría en:

  • Crear un nuevo repositorio (carpeta) e inicializar el control de versiones con Kart.
  • Importar los datos vectoriales que van a ser controlados por el repositorio.
  • Gestionar los commits, ver estado, crear ramas…
Gestión de versiones con Kart mediante consola

Complemento Kart para QGIS

Si no estamos acostumbrados a usar comandos Git todo esto puede sernos complicado. Es aquí cuando el complemento para QGIS nos va a facilitar la vida.

Instalación

Lo primero que debemos hacer instalar el complemento desde el administrador de complementos de QGIS.

Plugin Kart para QGIS

Una vez instalado, se habrá añadido un nuevo submenú dentro de Complementos denominado Kart. Desde aquí podremos acceder al panel de repositorio, pero también indicar algunas configuraciones básicas y ver el entorno tecnológico del complemento.

Opciones del complemento

Creación de un repositorio

Abierto el panel lateral re repositorios, las opciones disponibles son las de crear un repositorio nuevo o bien cargar un repositorio existente. Vamos de nuevo a crear un nuevo repositorio como hemos hecho usando el cliente de Kart, pero en esta ocasión desde QGIS.

Creación de un repositorio

Importación de datos al repositorio

Tras crear el repositorio donde se almacenará toda la estructura para versionar nuestros datos, el paso siguiente será importar los datos vectoriales al repositorio. Los datos corresponden a una capa de edificaciones en formato Geopackage. Hacemos clic derecho sobre el repositorio y a continuación usando la opción «Import layer into report».

Importación de capa a repositorio

Estos pasos podemos repetirlos para todas las capas vectoriales que queramos. Finalizadas las importaciones, añadimos las capas «controladas» arrastrándolas al área de mapa.

Commits de cambios

A partir de ahora, cualquier edición geométrica o de atributos que hagamos en la capa se ira registrando mediante el control de versiones. Una vez terminados los trabajos, deberemos añadirlos al historial.

Sobre la capa «edificaciones» hemos añadido nuevas geometrías y editado sus atributos. Los cambios se almacenarán en el repositorio haciendo clic sobre el dataset y usando posteriormente la opción «Commit working copy changes for this dataset».

Commit de cambios

Se abrirá un formulario para añadir una descripción del commit. Es fundamental realiza una correcta descripción sobre los trabajos.

Formulario de comentarios

Acceso a historial

El complemento incluye un acceso al historial de cambios. Esta opción se encuentra haciendo clic en el repositorio y a continuación en la opción «Show log».

Se presenta ahora un listado con todos los commits realizados que pueden filtrarse por rango de fechas o palabras clave dentro de la descripción.

Historial de cambios

Accediendo a cada commit pueden realizarse varias opciones. La más llamativa a simple vista es la que nos permite ver las diferencias entre los cambios realizados, tanto alfanuméricos como geométricos (Show changes intruces by this commit).

Para los cambios alfanuméricos se indican el tipo de cambio realizado y los valores anteriores y posteriores.

Visualización de cambios en atributos

En cambio, para las diferencias (transformaciones) entre las geometrías, pueden apreciarse visualmente de distintas formas dinámicas (trasparencia, mapa partido o vértices).

Visualización de modificaciones de geometrías,

Primeras impresiones

Hay que comentar en primer lugar que el uso del complemento Kart requiere tener unos conocimientos básicos de cómo funciona Git, su terminología y comandos. Hay gran cantidad de recursos web sobre este tema si se quiere comenzar profundizar.

El plugin en su primera versión es realmente completo y además de las opciones vistas incorpora gran cantidad de funciones para poder gestionar nuestro sistema de versiones (gestión de ramas, trabajo con repositorios remotos mediante push y pull).

Para terminar, comentar que el complemento está abierto a aportaciones y comentarios de posibles errores y mejoras usando el sistema de issues de GitHub y cuenta una documentación completa sobre las opciones del complemento.

Etiquetas: git, qgis

Apúntate a nuestra newsletter semanal

"*" señala los campos obligatorios

Consentimiento*
*
Este campo es un campo de validación y debe quedar sin cambios.

Información legal

Cumplimos el RGPD (Reglamenteo General de Protección de Datos) y esta en la primera información que debes saber. Responsable: Asociación Geoinnova. Finalidad: Apuntarte en nuestra base de datos para poder enviarte nuestra newsletter y cualquier otra información de interes. Legitimidad: Nos das tu consentimiento para comunicarnos contigo. Derechos: Tienes derecho a acceder, rectificar, limitar y suprimir tus datos. Para una información más ampliada entra a nuestra política de privacidad.

Artículos relacionados

Cómo instalar y agregar nuevas fuentes en QGIS
29/11/2022
Extraer valores ráster en QGIS
27/10/2022
Cómo instalar librerías python en PyQGIS
06/10/2022

Patricio Soriano

Geógrafo “Full-stack” y desarrollador web especializado en Tecnologías de Información Geográfica. Vinculado con la labor de consultoría, ha realizado diversos proyectos sobre análisis urbanístico, planes de vivienda y gestión patrimonial, así como la puesta en marcha de Sistemas de Información Geográfica corporativos para la administración pública. Dentro de los trabajos como desarrollador se encuentran el diseño de varias aplicaciones webmapping y desarrollos para QGIS (Spanish Inspire Catastral Downloader, CDAU Downloader o qgis2mapea). Autor del blog www.sigdeletras.com y organizador de Geoinquietos Córdoba. Actualmente se encuentra incorporado al equipo de desarrollo de Geoinnova en aplicaciones Open Source. Como docente lleva impartiendo cursos profesionales de SIG desde 2007 para diferentes entidades y en diferentes modalidades (tanto presencial como online). Especializándose en los últimos años en cursos de QGIS a distintos niveles.

Interacciones con los lectores

¿Quieres comentarnos algo? Adelante! Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Footer

Menú Legal

  • Aviso Legal
  • Política de privacidad
  • Política de cookies
  • Términos y condiciones

Otras páginas de interes

  • Promociones y descuentos en formación
  • Formación bonificada FUNDAE

Contacto

Calle Luis Morondo Urra nº 8 Bajo A
31006 Pamplona (Navarra)
info@geoinnova.org
+34 948 117 137

Horario de atención

Lunes a Viernes - 09:00 a 14:00 y de 16:00 a 19:00.
Fines de semana y Festivos - Exclusivamente por mail.
Horario de Verano (01 de julio al 30 de agosto): De lunes a viernes de 8 a 15h.
Entidad adherida a Confianza Online Certificado de inscripción en el Registro de huella de carbono, compensación y proyectos de absorción Logo Plazox

© 2023 · Desarrollada por Geoinnova en colaboración con OikosMSP

Gestionar el Consentimiento de las Cookies
Utilizamos tecnologías como las cookies para almacenar y/o acceder a la información del dispositivo. Lo hacemos para mejorar la experiencia de navegación y para mostrar anuncios personalizados. El consentimiento a estas tecnologías nos permitirá procesar datos como el comportamiento de navegación o las identificaciones únicas en este sitio. No consentir o retirar el consentimiento, puede afectar negativamente a ciertas características y funciones.
Funcional Siempre activo
El almacenamiento o acceso técnico es estrictamente necesario para el propósito legítimo de permitir el uso de un servicio específico explícitamente solicitado por el abonado o usuario, o con el único propósito de llevar a cabo la transmisión de una comunicación a través de una red de comunicaciones electrónicas.
Preferencias
El almacenamiento o acceso técnico es necesario para la finalidad legítima de almacenar preferencias no solicitadas por el abonado o usuario.
Estadísticas
El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos. El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos anónimos. Sin una requerimiento, el cumplimiento voluntario por parte de su proveedor de servicios de Internet, o los registros adicionales de un tercero, la información almacenada o recuperada sólo para este propósito no se puede utilizar para identificarlo.
Marketing
El almacenamiento o acceso técnico es necesario para crear perfiles de usuario para enviar publicidad, o para rastrear al usuario en un sitio web o en varios sitios web con fines de marketing similares.
Administrar opciones Gestionar los servicios Gestionar proveedores Leer más sobre estos propósitos
Preferencias
{title} {title} {title}