Saltar a contenido

Documentación del sistema QFieldCloud

El objetivo de este documento es proporcionar una visión general del sistema QFieldCloud para entender la lógica y la tecnología subyacentes.

Entidades y conceptos

Proyecto QGIS

En el contexto de QFieldCloud, un proyecto se refiere a todos los archivos de datos que son necesarios para que el proyecto de QGIS funcione correctamente. Lea más sobre los proyectos de QGIS.

Acción de capa

Cada capa del proyecto de QGIS se puede configurar con una "acción de capa". La acción determina cómo deben tratar la capa QFieldSync y QField.

Hay dos acciones que se pueden configurar: acción de nube y acción de cable. Estas trabajan en el contexto de QFieldCloud y de la exportación tradicional por cable respectivamente.

Existen las siguientes acciones, que se explican con más detalle a continuación:

Nombre mostrado en el IU Modo de trabajo Tipo espacial
Edición fuera de línea nube y cable Vectorial
Acceso directo a la fuente de datos nube y cable Cualquiera
Quitar del proyecto nube y cable Cualquiera
Copiar cable Cualquiera
Conservar existente (Copiar si falta) cable Vectorial

Configuración de acciones en la nube

La acción de nube establecida en QFieldSync es aplicada por QFieldCloud sólo en el momento de empaquetar un proyecto para QField.

Este es el comportamiento de QFieldCloud (libqfieldsync) con las capas:

Acción Capa basada en archivo Capa basada en servicios (por ejemplo, WMS) Capas de base de datos (Postgres)
Edición fuera de línea Cree una copia consolidada de los datos en el momento de la extracción y aplique el archivo delta en el momento de la transmisión a la fuente de datos original. N/A Crear una copia consolidada de los datos en pull, aplicar el archivo delta en push a la fuente de datos original.
Acceso directo a la fuente de datos Crear una copia de sólo lectura en un GeoPackage individual Sin acción sobre la capa Sin acción sobre la capa
Quitar del proyecto Quitar la capa del proyecto Quitar la capa del proyecto Quitar la capa del proyecto

En resumen, con QFieldCloud:

  • Edición fuera de línea significa que una copia fuera de línea de los datos será generada por QFieldCloud y descargada a QField. Los datos de las capas Edición fuera de línea se almacenarán como múltiples capas dentro de un único data.gpkg. Cada vez que se realice una modificación en QField, se generará una estructura JSON llamada Cambio (o Delta) sólo para los objetos espciales que hayan sido modificados, sólo para los atributos o la geometría que hayan sido modificados. Al hacer push, se actualizará la fuente de datos original, incluida la base de datos para las capas de base de datos.
  • La fuente de datos de acceso directo se utiliza principalmente para capas basadas en servicios que se encuentran en un servidor accesible desde Internet. Los datos de estas capas son modificados directamente por QField. Algunos ejemplos son las capas WFS, WM(T)S o las capas procedentes de una base de datos, como las capas PostGIS. Si la capa está basada en archivos, estará en modo de sólo lectura.
  • Quitar del proyecto simplemente eliminará la capa del proyecto (no la empaquetará para QField).

Con QFieldSync en QGIS será posible actualizar un proyecto ya cargado en QFieldCloud.

En caso de que los cambios sólo afecten a los estilos, formularios, etc., pero no a los datos ni a la estructura de las capas, simplemente se actualizará el archivo del proyecto QGIS (.qgs/.qgz) en el servidor.

Si se producen cambios en los datos o en la estructura de las capas, se actualizarán los nuevos archivos de origen de datos.

Ten en cuenta que cambiar la estructura (o esquema) de las capas, como añadir, eliminar o renombrar atributos, cambiar restricciones no nulas, etc. puede tener efectos. Si estos cambios se envían a QFieldCloud, asegúrate de que todos los usuarios de QField han enviado sus cambios con antelación. De lo contrario podría ser imposible para QFieldCloud aplicar estos cambios/Deltas de versiones anteriores del proyecto QGIS.

Comportamiento de QField

Dependiendo de las acciones establecidas para cada capa en QFieldSync para QFieldCloud o la exportación de Cable, QField actuará de la siguiente manera:

Acción Capa basada en archivo Capa basada en servicios (por ejemplo, SGA, base de datos) Notas
Edición fuera de línea Crear e impulsar un Cambio N/A
Acceso directo a la fuente de datos La capa es de sólo lectura Editar la base de datos en línea
Quitar del proyecto N/A N/A la capa no está disponible en QField
Copiar Crear y sólo lectura N/A
Conservar existente (Copiar si falta) Crear y sólo lectura N/A

Nombres técnicos de las acciones

Los nombres técnicos de las acciones disponibles en QFieldSync son:

Nombre mostrado en el IU Nombre interno de la acción
Edición fuera de línea OFFLINE
Acceso directo a la fuente de datos NO_ACTION
Quitar del proyecto QUITAR
Copiar COPIAR
Conservar existente (Copiar si falta) KEEP_EXISTING

Casos de uso

Edición sin conexión en el campo, QFieldCloud conectado a la base de datos

Modo de edición híbrido con sincronización en el servidor

Modo de edición híbrido
Modo de edición híbrido

Edición sin conexión en el campo, QFieldCloud no conectado a la base de datos

Modo de edición sin conexión con la sincronización del escritorio

Modo de edición sin conexión
Modo de edición sin conexión