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

Un proyecto QGIS es un archivo .qgs o .qgz. Un proyecto se crea en QGIS Desktop y se sube a QFieldCloud usando el complemento de QGIS QFieldSync. Antes de subir el proyecto QGIS, es necesario para cada capa del proyecto QGIS una "acción" que determine cómo QFieldSync y QField deben tratar la capa. Hay dos tipos de acciones de acciones que se pueden configurar - una para QFieldCloud y otra para la exportación tradicional por cable.

Esta información se guarda dentro del proyecto QGS como capa customProperty, con la clave QFieldSync/action.

Las acciones disponibles son:

Nombre interno de la acción Nombre mostrado en el IU
OFFLINE Consolidar
NO_ACTION Capa actual
QUITAR Ignorar capa
COPIAR Copiar
KEEP_EXISTING Mantener

Este sería el comportamiento de QFieldSync con las diferentes acciones de la capa:

Acción Capa basada en archivo Capa no basada en archivo
OFFLINE Crear una copia consolidada de los datos Crear una copia consolidada de los datos
NO_ACTION N/A Sin acción sobre la capa
QUITAR Quitar la capa del proyecto Quitar la capa del proyecto
COPIAR Haga que la ruta de origen sea relativa y copie el archivo N/A
KEEP_EXISTING Hacer la ruta de origen relativa y copiar el archivo si no existe N/A

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

Acción Capa basada en archivo No basado en archivo
OFFLINE 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. 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.
NO_ACTION N/A Sin acción sobre la capa
QUITAR Quitar la capa del proyecto Quitar la capa del proyecto
COPIAR Haga que la ruta de origen sea relativa y cree una copia de los datos en el pull, aplique el archivo delta en el push a la fuente de datos original N/A
KEEP_EXISTING Haga que la ruta de origen sea relativa y cree una copia de los datos en el pull, aplique el archivo delta en el push a la fuente de datos original N/A

Este es el comportamiento de QField con las capas:

Acción Capa basada en archivo Capa no basada en archivo
OFFLINE Crear y empujar el deltafile N/A (siempre se basa en el archivo en este punto)
NO_ACTION N/A Editar la base de datos en línea (en vivo)
QUITAR N/A (la capa ya no está) N/A (la capa ya no está)
COPIAR Crear y empujar el deltafile N/A
KEEP_EXISTING Crear y empujar el deltafile N/A

En resumen, para con QFieldCloud:

  • NO_ACTION se utiliza para las capas en línea que se encuentran en un servidor accesibles a través de Internet y que son modificados directamente por QField.
  • HYBRID significa que se generará un geopackage en el servidor (o directamente en el escritorio para las capas basadas en archivos) y descargados por los clientes. El cliente generará archivos delta de los cambios.
  • OFFLINE se utiliza, por ejemplo, para trabajar con bases de datos locales no visibles por QFieldCloud que se consolidan antes de ser cargados desde el escritorio al servidor y no están sincronizados con los datos originales de QFieldCloud.
  • REMOVE simplemente eliminará la capa del proyecto.
  • KEEP_EXISTENT no se utilizará para las sincronizaciones de QFieldCloud.

Desde QFieldSync será posible actualizar un proyecto ya cargado en QFieldCloud. En el caso de que los cambios se refieran sólo a estilos, formularios, etc. pero no a la estructura de las capas, el proyecto en el servidor simplemente se actualizará. Si hay cambios en la estructura de las capas, el proyecto se en el servidor (se borrarán los archivos delta) y para cada cliente será necesario cliente será necesario descargar la versión actualizada del proyecto antes de poder empujar los nuevos cambios.

Proyecto QFieldCloud

Se compone de un único proyecto QGIS y de los posibles archivos relacionados (por ejemplo, geopackages, imágenes, ...) incluidos el paquete de datos fuera de línea o paquete de datos híbrido.

Casos de uso

Híbrido

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

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

Base de dato sin conexión

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