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
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