Tutorial: Creación de una aplicación móvil de recolección de datos en campo aplicado a estudios de agua subterránea.

2. Preparación del proyecto

2.3. Agregar una capa de levantamiento en campo

Las capas vectoriales pueden agregarse como una capa de levantamiento de campo como entrada en la App móvil.

Es esta sección, crearemos una capa de levantamiento de campo que colecte datos de agua subterránea.

Los siguientes pasos serán cubiertos:

  • Creación de una capa vectorial de puntos con los atributos necesarios.
  • Estilizado de la capa de puntos.
  • Elaboración de  una forma para los atributos utilizando widgets.
  • Configuración del panel de vista previa de la entrada.
Continuemos con el mismo proyecto de la sección previa.


Creación de una capa vectorial con los atributos necesarios

1. Desde el menú principal, selecciona Layer | Create Layer | New GeoPackage Layer....

Create new geopackage layer

2. Da un click en el botón Browse  Browse button  navega a la carpeta del proyecto y elige el archivo GeoPackage de las secciones previas, en nuestro caso bangula_study_area.gpkg.

3. En el caso del nombre de la tabla Table name teclea Survey. En el tipo de geometría Geometry type elige Point. Asegurate de selecciona el Sistema Coordenado EPSG: 32736.

4. Ahora, agregemos los atributos. Proporciona los atributos como en la ventana inferior. Agrega cada campo a la lista con un click al botón Add to Fields List.

5. Da un click al botón OK.

6. Una ventana popup te preguntará si deseeas sobreescribir o agregar una nueva capa. Selecciona el botón Add New Layer así se agrega al archivo GeoPackage.


Estilizado de la capa de los puntos de  levantamiento de campo

La capa de entrada de la App utilizará el mismo estilizado como el definido en QGIS. Ahora, crearemos la simbología de la capa de puntos.

7. Da un click al botón   que abre el panel Layer Styling.
8. Utiliza el tipo de rendereo Single symbol y da un click al botón  que agrega la simbología a la capa.
9. En el caso de la primer símbolo de la capa indica en el parámetro Fill color como transparente y en el parámetro Stroke color como negro. Incrementa el tamaño (Size) a 4 mm y el ancho  Stroke width a 1 mm. En el caso de la simbología de la segunda capa elige un marcador de símbolo tipo cruz (cross) y el  Stroke color a negro (black). Incrementa el Size a 8 mm y  el ancho Stroke width a 1 mm.



Elaboración de un formulario de atributos utilizando widgets

El siguiente paso es el diseño de un formulario con los atributos usando widgets
10. Da un click derecho sobre la capa Survey y selecciona Properties...
11. En la ventana de  Properties, elige la pestaña Attributes Form.

Diseñaremos la forma, usemos la opción por default Autogenerate . Bajo la sección de fields se encuentran los campos de la capa Survey.

12. Da un click en el campo fid. En el lado derecho de la ventana se configura el widget. El valor del campo fid  es asignado automáticamente por  QGIS a las capas GeoPackage, no es necesario que el usuario las edite. En el campo Widget type seleccionar como tipo  Hidden este campo será invisible en la forma.

fid

13. Da un click sobr eel campo Observation ID.  En la sección del Alias teclea Observation number. Así aparecerá renombrado en el formulario. Selecciona el widget Text Edit y verifica las cajas Not null   y  Enforce not null constraint bajo la sección Constraints. Esto implica que este campo es obligatorio. Manten los otros campos como default.

Observation number

14. Da un click en el campo Date. Teclea Date and time como Alias. Widget Type es automaticamente como Date/Time. Cambía Widget Display a tipo Custom y cambia el formato a  dd-MM-yyyy HH:mm:ss. Verifica el formato de salida como se muestra en la vista previa. Desmarca la caja de Calendar popup. Bajo el tipo Defaults indica la variable $now que llena el campo automáticamente con la fecha/hora actual.

Date and time

15. Da un click sobre el campo Observer. En la sección de alias teclea Observer name. Elige el widget Text Edit y verifica la caja Not null y Enforce not null constraint bajo Constraints. Si hay un especialista por default, indica su nombre  entre comillas simples en el campo Defaults como Default value. Manten los otros campos como default.

Observer

16. Da un click en el campo Picture. En el tipo de Widget selecciona Attachment. Verifica la caja de  Relative paths. Bajo el campo Integrated document viewer selecciona Image. Bajo la sección de  Constraints verifica la caja Not null.



17. Los campos X coordinate Y coordinate los mantenemos como  default con el widget Text edit y sin constraint.

18. Da un click sobre el campo Z. Coloca en el Alias a Elevation. Mantén  el tipo de widget Text edit widget y sin constraint.

19. En el campo Type indica como Alias a Feature type. Indica el Widget type a Value Map. Llena los campos de  Value Map como se muestran en la parte inferior.  Para el usuario se mostrará una lista de desplegable y llenado del campo Description . El valor correspondiente a Value se escribirá a la tabla de atributos. Bajo la sección de Constraints verifica la caja de Not Null y  Enforce not null constraint.

Feature type

20. En el campo Depth indica en el Alias como  Depth to bottom (m). Mantén el tipo de Widget type como Text edit. Sólo se requiere este campo para indicar el tipo pozo (wells o boreholes). Por lo tanto, agregaremos una Expression bajo la sección Constraints:
  "Type"  = 'Wells' OR "Type" = 'Boreholes'.

Verifica la caja Enforce expression constraint.

Depth

21. En el caso del campo GW level teclea como Alias  a Water Level (m). Mantén Widget type como Text edit. Sólo requerimos este campo para el tipo de campo de los pozos (wells o boreholes). Así, indicaremos una  Expression bajo la sección Constraints:
  "Type"  = 'Wells' OR "Type" = 'Boreholes'
Verifica la caja de Enforce expression constraint.

Water level

22. Mantén para el campo Name el widget por default Text edit y sin constraint.

23. Mantén para el campo Address, el widget como Text edit verifica la caja Multiline que permite agregar multiples líneas.


24. En el campo Remarks mantém el windget Text edit y verifica la caja Multiline que permite agregar múltiples líneas.

25. Da un click en el botón OK para cerrar la ventana y aplicar los cambios.

26. Abre la tabla de atributos de la capa Survey y cambia a la vista Form View utilizando el botón  que nos permitirá verificar los widgets.

Attribute table form view

Configuración de la vista previa del panel

Parecido al funcionamiento de  Google maps, cuando seleccionamos una entidad vectorial sobre el mapa, un panel de vista previa aparecerá. Habilitar la capa de identificación, la opción debe habilitarse en el GIS desktop, bajo la opción Project properties.

27. Para la configuración de la vista previa del panel, requieres dar un click derecho sobre la capa de Survey layer en el panel de Layers y selecciona la opción de  Properties. Entonces selecciona la pestaña de Display.

28. Cambia el nombre del campo Display Name a Observation ID. Esta acción mostrará la etiqueta Observation ID cuando se agrega un punto de levantamiento.

29. Agrega las siguientes líneas bajo la sección HTML Map Tip:

# image
file:///[%@project_folder%]/[% "Picture" %]

Esta expresión será interpretada en la entrada por la App y mostrará una imagen cuando se agrega un punto de levantamiento.

30. Da un click en el botón OK y cierra la ventana de diálogo.

La capa Survey layer esta lista.

En la siguiente sección, afinaremos la configuración del proyecto.