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
Base de dato sin conexión¶
Modo de edición sin conexión con la sincronización del escritorio