Tutorial: Creación de una aplicación móvil de recolección de datos en campo aplicado a estudios de agua subterránea.
Sitio: | OpenCourseWare for GIS |
Curso: | Capacitación SIG (Sistema de Información Geográfica) orientado a aplicaciones hidrogeológicas. |
Libro: | Tutorial: Creación de una aplicación móvil de recolección de datos en campo aplicado a estudios de agua subterránea. |
Imprimido por: | Guest user |
Día: | jueves, 25 de abril de 2024, 20:39 |
Descripción
1. Introducción
En el tema anterior, aprendimos la utilización de datos que se encuentran disponibles en Internet.
A menudo, sin embargo, es necesario recolectar los datos propios, porque no se encuentran disponibles o tienen una escala amplia desde fuentes en línea. Actualmente es posible la utilización de una app para la recolección de datos propios.
Después de realizar este tutorial podrás hacer:
- Uso de QGIS para configurar un proyecto de levantamiento de campo
- Configuración de los temas de los mapas con capas en línea y fuera de línea
- Diseño de una forma para levantamiento de campos
- Sincronización del proyecto QGIS con el servicio en la nube "Mergin".
- Sincronización de la App de entrada en un teléfono móvil con el servicio en la nube "Mergin".
- Uso de la App en la recolección de datos en campo.
- Sincronización de los datos recolectados en campo con el servicio en la nube "Mergin" y el proyecto en QGIS.
Input es una aplicación sencilla de captura de datos en campo. La preparación de los formularios y los datos pueden utilizarse en QGIS, y la sincronización con la App mediante el repositorio y complemento "Mergin".
La aplicación no esta diseñada para ser un SIG, sólo considera la simplicidad, facilidad de uso y sincronización de los datos.
Un flujo de trabajo típico para las entradas de datos consiste en los siguientes pasos:
Preparación del proyecto: el usuario carga el mapa base y las capas de campo, configura los formularios, aplica estilo a las capas, configura los mapas temáticos y define las capas que se utilizarán en los propósitos de la recolección en campo.
-
Transferencia de datos/ proyecto: una vez configurado el proyecto, los usuarios transfieren los datos al dispositivo. Esto puede lograrse a través de "Mergin".
-
Trabajo con la entrada: navegación de mapas, edición de datos, incluyendo el llenado de formas, vistas y carga de datos; y acctualiza los datos en "Mergin".
2. Preparación del proyecto
Inicaremos la preparación del proyecto en QGIS.
En el proyecto, es necesario distinguir:
Capas base que proporcionan el contexto en la recolección de datos de campo. Es posible, la utilización capas online y offline en formato ráster y vectorial.
Capas de la recolección de datos en campo.
Nuestro proyecto, tendrá las siguientes capas base:
- Google satellite online
- Google satellite offline
- OpenStreetMap online
- OpenStreetMap offline
- Capa vectorial con los límites de la zona de estudio.
2.1. Adición del límite del Área de estudio
Primero, definamos el límite del área de estudio y agregar el polígono al proyecto, con ello, identificaremos los límites cuando se navegue por la App de recolección de datos.
1. Inicia un proyecto nuevo en QGIS
2. Cambia la proyección del proyecto a UTM Zone 36S/WGS-84 da un click en la esquina inferior derecha .
3. En la ventana de diálogo filtra el código EPSG 32736, selecciona la proyección y da un click en el botón OK.
Debido a que esta no es una capa de recolección de datos, se requiere una capa vectorial de sólo lectura. La entrada de la App lee sólo capas en modo lectura como capas que no son de un levantamiento.
30. En el menú principal selecciona Project | Properties...
31. Selecciona la pestaña Data Sources .
32. Verifica el ckeckbox Read-only para la capa Boundary .
2.2. Agregar capas en línea y hacerlas visibles offline
Si tienes conectividad a Internet en campo, se pueden utilizar los servicios WMS, WMT o mosaicos XYZ, como un mapa base.
En la sección anterior, agregamos la capa de OSM standard. En esta sección también se agregará la capa Google Satellite dentro del proyecto del levantamiento de campo. A su vez, haremos que las capas que se encuentren disponibles sin conexión, en el caso de que no tengamos conectividad e Internet en el campo.
Primero agregaremos la capa Google Satellite al proyecto.
1. Desde el menú principal, seleccionar Web | QuickMapServices | Google | Google Satellite.
Ahore veremos los puntos pivotes en forma clara.
El siguiente paso es hacer que las capas OSM Standard y Google Satellite esten disponibles offline para el área de estudio. Para ello. se requiere guardar el lienzo del mapa en un archivo MBTiles a un nivel de acercamiento. Primero elegiremos el nivel adecuado.
2. Desde el menú principal, selecciona View | Panels | Tile Scale.
El panel Tile Scale es visible.
3. Da un click sobre Google Satellite en el panel Layers y mueve el slider en el panel Tile Scale al nivel de acercamiento (zoom) adecuado.
Considera que si hay mayor nivel de acercamiento mayor será la resolución y el tamaño del archivo. En este caso utilizaremos el nivel 17.
4. Cierra el palnel Tile Scale.
5. Has un click derecho sobre la capa Bangula_study_area en el panel Layers y elige la opción Zoom to layer.
6. En el panel Layers quita la visibilidad de todas las capas, excepto la capa Google Satellite.
7. Accede a la caja de herramientas Processing Toolbox.
8. Selecciona Raster tools | Generate XYZ tiles (MBTiles)
9. En el cuadro de diálogo de "Generate XYZ tiles (MBTiles)" elige la extensión de la capa Extent Use Layer Extent...
10. Selecciona la capa Bangula_study_area y da un click al botón OK.
11. Coloca el nivel máximo y mínimo de acercamiento a 17.
Sí proporcionas un rango, se creará un archivo MBTiles para diferentes niveles de acercamiento. Por consiguiente, el archivo creado tiene un mayor tamaño, pero un nivel de acercamiento amplio hará que se pierdan detalles; la mayoría de las veces, es requerido un nivel de acercamiento detallado. Por lo tanto, hemos ajustado el nivel de acercamiento (zoom) a 17.
12. Guarda la capa en una carpeta dedicada con los archivos del proyecto como Satellite.mbtiles. Los demás parámetros por default.
Considera que los archivos MBTiles no se pueden guardar directamente al archivo Geopackage. Posteriormente, se cargará arrastrandolo al archivo Geopackage.
13. Da un click al boton Run. Cierra la ventana después del procesamiento con el botón Close.
14. En el panel de navegación Browser arrastra el archivo raster Satellite.mbtiles al archivo Geopackage Bangula_groundwater_survey.
15. Arrastra la capa Satellite al archivo Geopackage Bangula_groundwater_survey .
16. Repite los pasos anteriores para la capa OSM Standard.
17. Guarda el proyecto.
Ahora las capas online y offline están listas.
En la siguiente sección agregaremos las capas del levantamiento de campo.
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.
Creación de una capa vectorial con los atributos necesarios
1. Desde el menú principal, selecciona Layer | Create Layer | New GeoPackage Layer....
2. Da un click en el botón Browse 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
Elaboración de un formulario de atributos utilizando widgets
"Type" = 'Wells' OR "Type" = 'Boreholes'
. "Type" = 'Wells' OR "Type" = 'Boreholes'
Verifica la caja de Enforce expression constraint.
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.
2.4. Agregar temas del mapa
Para facilitar el cambio de mapas de fondo, podemos configurar temas de mapas en nuestro proyecto QGIS.
Con los temas de mapas, puede mostrar solo las capas visibles que están almacenadas en un tema.
Todos nuestros temas requieren una capa de levantamiento (Survey) en la parte superior, enseguida por la capa Bangula_study_area.
Crearemos temas de mapas que se aplicarán en:
- Google Satellite online
- Google Satellite offline
- OSM online
- OSM offline
3. Sincronización del proyecto con el servicio en la nube"Mergin"
"Input" tiene una funcionalidad incorporada para sincronizar sin problemas los proyectos y datos a través del servicio en la Nube "Mergin".
En esta sección, sincronizaremos el proyecto de previas secciones con el servicio en la nube "Mergin".
1. A partir del explorador de archivos, navega a la carpeta del proyecto y borra los archivos, excepto los siguientes:
Recuerda que anteriormente, creamos archivos MBtiles y otras capas intermedias. Todos deberían estar en el archivo Geopackage, para que se pueda eliminar estos archivos de forma segura. Observa que aparecen otros dos archivos con el nombre del archivo Geopackage mientras este abierto el proyecto QGIS. El servicio de "Mergin" no sincronizará esos archivos temporales.
2. Desde un navegador de Internet accede al sitio Mergin (https://public.cloudmergin.com/).
3. Desde QGIS instala el complemento Mergin.
4. Reinicia QGIS y carga el proyecto.
5. En el panel Browser encontrarás la carpeta Mergin.
6. Da un click derecho sobre Mergin y elige la opción Configure.
7. Una ventana nueva aparecerá:
- En el campo Username: teclea tu nombre de usuario en Mergin
- For Password: teclea tu contraseña de usuario en Mergin
- Da un click en el botón Test Connection se mostrará la etiqueta OK.
8. Da un click al botón OK y regresa al panel Browser.
Puedes ver bajo la sección de Mergin:
- My projects. Si expandes esta opción observarás tus proyectos sobre el servicio Mergin.
- Shared with me. Puedes encontrar proyectos que otros comparten contigo.
- Explore. En esta opción puedes explorar los proyectos públicos sobre el servicio Mergin.
Ahora, agregaremos nuestro proyecto.
9. Da un click sobre el icono de Mergin y selecciona Create new project.
11. Da un click en el botón OK.
Ahora nuestro proyecto se sincronizarpa con el servicio de Mergin.
Cuando la sincronización este completa aparecerá una ventana popup.
12. Cierra la ventana Close.
Ahora, encontrarás el proyecto bajo la secciónr My projects.
este icono indica que es proyecto local
este icono indica que el proyecto esta disponible en la nube pero no localmente.
El proyecto es visible desde el navegador
Si, das un click sobre el proyecto, observarás que este contiene el archivo Geopacke. Considera que para la sincronización a tu teléfono móvil en el siguiente paso, requerirás el espacio mencionado de 30.66 MB.
Ahora, estamos listos para sincronizar el proyecto con la App Input con el teléfono móvil. Explicaré esto en la siguiente sección.
4. Utilizando la App "Input" para la recolección de datos en campo
1. Instala la App "Input" desde Google Play Store o Apple App Store desde tu teléfono móvil o tablet.
La primera ocasión que abres la aplicación, aparecerá la ventana Home . En esta pantalla de inicio se desplegará los proyectos locales (en la ruta de la carpeta /sdcard/INPUT).
2. Accede a tus proyectos al servicio en la nube "Mergin" , selecciona My projects. Accede con tu login y contraseña al servicio en la nube "Mergin":
Cuando accedes, puedes descargar tu proyecto en forma local con el botón de "download" en la parte derecha.
3. Descarga el proyecto de recolección de datos de campo de sesiones previas por medio del icono .
Observarás el progreso de la sincronización.
Cuando la sincronización termine cambiará el estatus del proyecto.
El proyecto estará disponible para la carga en la App "Input" despúes de su descarga local.
4. Navega a Home y podrás observar el proyecto descargado:
5. Pulsa el proyecto para abrirlo en la App "Input".
Observa uno de los temas del mapa.
10. Agrega un nuevo registro (feature), pulsa el botón Record en la parte inferior del panel. Cuando pulsas el botón record, se listarán todas las capas, es posible su edición. En nuestro caso, sólo tenemos la capa Survey .
Nuestra capa survey es una capa de puntos, se mostrará una cruz con la posición GPS.
11. Mueve el mapa a la ubicación, donde deseas realizar el levantamiento y pulsa el botón Add Point . El punto indicado por la cruz, se utilizará como la ubicación grabada. Puedes deshacer el registro si lo requieres, pulsando el icono GPS . Es posible cambiar a otro Map themes que permita una mejor orientación.
5. Sincronización de la recolección de datos en campo a QGIS
Posterior a la recolección de datos de campo, sincronizaremos el proyecto a QGIS por medio del complemento (plugin) Mergin
1. Ejecuta QGIS
2. Da un click derecho sobre el proyecto, despliegalos bajo My projects y selecciona la opción Synchronize.
Cuando la sincronización se realiza, aparecerá una ventana popup.
3. Cierra la ventana con el botón Close.
4. Ahora, da un click derecho otra vez sobre el proyecto y elige Open QGIS project.
Ahora, observarás la capa de puntos recolectados en tu proyecto.
5. Da un click derecho sobre la capa Survey y escoge la opción Open Attribute Table. Elige la vista de formulario (form view).
Observa el formulario con el punto que ingresaste en campo, incluyendo una imagen.
6. Más recursos
Más recursos sobre el uso de QGIS, Input App y el servicio en la nube "Mergin" pueden encontrarse aquí: here.