 So for today, we will have the task to design an app for a field data collection. The objectives of this class of today is that you'll be able to, after this class, use QGIS to set up a surveying project to configure map themes with online and offline layers because sometimes you'll have an internet connection probably most of the time not. So how do we configure things to be used offline? To design the field form, QGIS has many nice options as you will see to design forms for the attribute table and the app can take over those forms. Then how to synchronize your QGIS project with the emerging cloud service to have your whole project in the cloud and then synchronize a mobile app, the input app that we're going to use with the cloud service. So you have basically your QGIS project in your mobile phone. To use for field surveying, which will be the next thing that you'll be able to do using the input app for surveying. And after surveying, getting back that data into the cloud and into your QGIS project to further process for analysis. So as ground water specialists, you know that not all the data that you need is available online. So everything we learned yesterday is very useful, but a lot of data is probably lacking and you need to go out there by yourself in the field. And if you need to map for ground water studies, then often you need to map features such as springs, wells and boreholes, but maybe also other things that are useful for your study. And we also want to link other properties to these features. For springs, for example, are these unprotected or protected springs? If we have wells or boreholes, we want to know the depth of it. We also want to know the water level. We want to know the elevation of the borehole well compared to the surface. So we have a lot of reference data and in the end, we can further process this data when we are back from the field into ground water models or do other things with that. Now, traditionally, as you see on the picture, we do that with field forms that we print out. It's very important to design them well before going to the fields to have a good field plan because you know that logistics are difficult field logistics and it's expensive. So if you forget something and going back is very expensive. So the preparation phase is a very good investment and GIS can play a very important role in designing your field experiments or your field surveys. You definitely need to have base maps with all the roads and to track where you are in the field and to know where you're going every day, where you expect the wells and boreholes and springs to be. So preparation is important and then design your field form, print them out many times and keep copies. But we are now, of course, in the age where things are going more digital and there are some advantages of digital mapping. It's quicker in the field. So you don't have to have this field book and then write down all the answers to the questions that you have in the field form, but you can simply use an app and tap the right answers in a prepared field form that you really designed to make it efficient to use in the field. You can have conditional questions on paper. Of course, you need to use your brains to think, okay, now it's a borehole so I can put the depth for a spring, I don't do that. But in a field form in a digital format, you can put these conditions. If it's a well, then ask the depth. If it's a spring, then hide the question to ask the depth or don't allow to fill it in. What is also very nice is that you can register pictures with the data collection points. That's also something you will do with the app that we are going to design today. And then everything is together in one database which is all linked together with your data that you collect from the field. It's very easy, but also important to make digital backups. And you can do that from the field once you have internet connection to synchronize back to the cloud or to make an offline backup on a USB stick that you can plug into your device or you synchronize locally to your computer. These things are all possible. Well, with a paper form, yeah, probably in the evening when you're back from the field, you will make your copies or you make pictures with your mobile phone and it's all not very easy. And it's not completely computer readable. So that will be a bit difficult to process. With digital field forms, we can also fill in the defaults automatically. So if you have a field, for example, on the person who is doing the data collection and for the whole campaign, it's the same person then you can already fill it in. There are also automatic things that we can do like filling in the date and the time when you just start filling in the field at a point instead of typing that. So it's easy to synchronize it with GIS software. There's no need to digitize it first. In the past, you need to digitize every point. So you have the coordinates on paper then you need to put it in a spreadsheet or CSV and then import it like you learned yesterday to further process it. In this case, you will just simply synchronize your project from your phone to the cloud, from the cloud to QGIS and then you will have your whole data set in your project that you can further use. There's another thing here that I forgot to mention an extra bullet is that you also automatically collect the GPS coordinate from your mobile device. You can also attach extra external GPS if you want to increase the accuracy but generally a phone GPS or a handheld GPS, a normal one is in the X and Y around five meter accuracy and in the Z it is three times less accurate that has to do that the satellites are only above us in the sky and not below. So the equations have some inaccuracies when we solve them. So if you have a maximum of five meter accuracy in the X and Y then your GPS Z coordinate is 15 meters less accurate. So your plus or minus 15 meters. So keep that in mind that the GPS is not the best way to measure your altitude. A better way to do that is to use barometric methods where you have an altitude that works with air pressure and you calibrate every day on a no point where what the elevation is. Other ways is to link the X, Y coordinates that you register to a digital elevation model with a high accuracy to get the elevation. That's something we will do in the last tutorial that we are going to sample the elevation from boreholes. As a backup in your field forms, also your digital field forms, you would also have an X and Y field where you fill it in manually just as a backup. And you can read that from a second device that you use. What is also important is that you know the projection in which you collect your GPS coordinates because they depend on the settings of the GPS. So always make sure that they are in the correct settings and that if you fill in the values in a field form, whether it's some paper or digitally that you also mentioned the projection that is used, that's very important, especially if you are in a big organization with many GPSs and you have to deliver it back, then afterwards you don't know what the setting was. So some other good practice advice with field data collection apps. As already said, and that's also for paper, make a good design prior to going to the field that saves a lot of cost. Test your equipment before going to the field. Just go out, set up the app in your own environment where you live and test it, go out and do some sampling of wells. Even if there are no wells, just make some imaginary wells like cars that are parked or find something just to test if everything works because you can still adjust if you're in your office or at home, but not when you're in the field it will be very difficult. Take power banks because, yeah, disadvantages of working digitally is that, yeah, you're very dependent on technology and technology needs power. So power banks, chargers, maybe a car charger if you drive around and a backup phone with the same software installed so you can always fall back on a backup. As already said, frequently make backups of the data collection in the cloud on a USB stick on your laptop that you might have in the car when you go and field data collection, preferably on multiple sources because when data is lost, it's very expensive then to go back to the field and very annoying, especially if you have interviews with people about their water use, for example, then yeah, it's very annoying if you need to do that all again. Take care of that your data and GIS are not always available offline and that you need to make them available offline if you expect that you are in an area without network coverage or if you're depending on expensive bundles and you will learn that today. And another one that's a bit more technical but often these apps use some caching which means that if you already opened the app before going on your whole field campaign and maybe in the same area and you've zoomed into the area that it will much quicker load when you go surveying because it is already in the memory of the phone. So caching is an important thing to try to make it more smooth. If you have very big data sets on your phone, it will be very slow to collect the data. So also keep that in mind not to make huge projects on your phone that need a lot of memory and loading and downloading and synchronizing with the internet. And also check your memory availability on the device. It would also be very sad if you have this very heavy app on your phone and then you want to take field pictures but they don't fit anymore in the memory on your phone. So that's also something to take care of. So what we are going to do today is develop an app or configuring an app. It's a tool which is called input and it's developed by Lutra Consulting. It's a great company that is located in the UK and they developed a lot of nice things for QGIS. For example, the 3D view and the mesh functionality in the newest versions to have hydraulic model outputs visualized in QGIS. That's all their work but also the tools that we're going to use today. The input app is designed to be compatible with all mobile devices. So it works both on the Apple iPhone as on Android devices. You can find the app in the Google Play Store and in the App Store. The app is free and open source. So if you can program, you can customize even further or install it in different ways or do branding. It has support for custom forms. That's what you are going to make today. And of course, capturing location-related media like if you're in the field and want to take a picture or a video, you can store it as you can see there on the examples in the screenshots. That's also what we're going to configure today. It's very user-friendly. So it is a whole QGIS project on your phone but it looks very user-friendly because it's adapted to be used on your phone. It has support for external GPS receivers but it will otherwise use your mobile phone location services. And it has a setting that you can check the accuracy of the GPS with color codes. So you're on the screenshot on the right. You see that the GPS signal gives green, which means it's good. It has like these traffic light colors to indicate if you have a good or a bad reception. Now linked to this app, we also have the merging cloud service. That is where you synchronize your projects either from QGIS to the cloud or from the mobile phone to the cloud to exchange the data. And it's a great collaborative space where you can log in together with people from your project and to share your QGIS projects. This version management, it works very well if you use geo-packages. Then as you see here on the screenshot, different versions of the project and you can roll back to all the versions. You can easily clone projects. So if you have a groundwater app for one area and you want to have another one for another area, you can simply clone the project. If other users of your team are registered in the merging, you can easily share your projects with other users by simply using their username and sending them the message with the share from the platform. It comes with a web client. I'll show that also later in the demo. And it comes with a QGIS plugin that we use for synchronizing the different projects with the cloud. So the workflow that we're going to follow today is this one. You design your project in the field forms and put all your layers that you want to use ready in a QGIS project. Then you use the merging plugin to synchronize that project with the merging cloud service. And then you will find your project in the cloud service and you can then check if everything is there, how big it is and some other data. And then we synchronize it to the mobile phone. Then you can do the field data collection and when you get back from the field after a field day or during the field day when you want to make a backup, we reverse the approach. So you have your mobile phone from the app. You synchronize to the merging cloud and you use the merging plugin in QGIS. And then back in QGIS, you have your new points added to your project synchronized from the mobile app via the cloud service. So that's very useful. So if you go to the open courseware website, then like yesterday, you will find this training, QGIS training for hydrological applications here. I would like to also point out that many other free courses are available here. So introduction to modflow and modemuse is quite useful for groundwater people. And yeah, a lot of nice things. Here's my open courseware GIS course with a lot of new tutorials that are available. So have a look at all these free courses. You don't need to log in. You simply click on the course and then you find the instructions. Today we go to the field data collection tab and there you find this tutorial to create a field data collection app for groundwater studies. Basically, we're gonna prepare the project. We're going to add first the boundary of the study area because also in the field you want to see where the boundary is. We're going to add online layers. We're going to add the open street map layer and Google satellite. And we are also going to make those available for the project offline so we can use these layers in the field when we have no internet connection. We're going to add a survey layer. That is where we design our field form. We're going to add map themes. That is these are presets of layers that are taken over by the app. So you can choose the backgrounds that you want if you want Google satellite as a background or open street map. That's what you configure here. Then we will synchronize the whole project with the Merging Cloud service. And then we will synchronize to the app on the phone and do some field survey which in the demo will be of course something imaginary. And then we synchronize the survey back to QGIS and look at the results. And there's a link here to more resources there are lots of other videos. I have a playlist on my YouTube channel so you can have a look at that. There's also an other tutorial which focuses on some other aspects. Here we'll have the easy workflow for simple groundwater mapping but you can extend it a lot with other things as you like and you get more experience with the tool. So I'm going to move to QGIS. So have a new fresh empty QGIS. As I said yesterday you can move your layers panel over the browser panel. So you have these two tabs. I always find that very pleasant. And we're going to prepare the project. We need to look for the study area and what we first need to do is set the projection of our project to the one that we are going to use in the project. And GPSs can be always set to UTM coordinates and yesterday we already used UTM coordinates. So I go here to the lower right and when I click there I can choose another projection of the project. And I'm going to filter for the one that we need and the EPSG code is 32736. There's a video on my YouTube channel on projections. Several videos there where you can also learn how to find these EPSG codes. It was also in your online course. SpatialReference.org, you can look them up. So I selected here, you can see it's over Malawi. So we are looking at the same area in this tutorial as yesterday. Click okay. And now the projection of this empty project is now set to UTM. The next thing is that I need some reference. There's a nice trick here in coordinates. I can, this is not part of the tutorial, I just wanna show that. You can use a world map. If I type world, you get a world map and you can use that as a base layer. Let's know what I'm going to use now. So I'm gonna remove it because I want an open street map background. I see that the on the flight projection has changed. So always keep an eye on that. Not sure why that happened. So I set it again because we're gonna work in that projection. The next thing I'm going to install a plugin is to have background layers. So I go to the plugins menu, manage and install plugins. And remember you need an internet connection for that. I go to look for the quick map services plugin, this one. And this nice plugin will give us access to all kinds of background layers. So I'm gonna install this plugin. I can close the dialogue after it's successfully installed. And then I find here under web, I find quick map services. And it has this list of online layers that we can use, but there's much more and therefore you need to go to settings. In the settings, you can go to the tab more services. And then you click get contributed pack. And when you get this popup last version downloaded, you click okay and you click save here. And then under web, you find a lot of other resources. Today we're going to use two of them. We're going to use the Google satellite and we're going to use the open street map. I'm going to start with open street map for the reference and I load OSM standard. Now get the world map in our projection. Depends a bit on the internet connection, how fast it loads. But I'm interested in a specific area. And we're going to Malawi and I want to go to an area that is close to the place Bangula. Now how to find this place? There's a nice other plugin. I go to manage and install plugins. And it's called the geocoding plugin. Here it is. And it uses the Nominatim database from OpenStreetMap and the Google web services to find addresses. So if you have streets and house numbers, you can even look them up in the plugins. I'm going to install this plugin. It's quite light. And it will simply add another button to your toolbar, this one, the geocoding icon. And I can look here for places. So I'm going to look for Bangula. Click okay. And I get all the things that it found. There's something that looks like it in Colombia. That's not the one that we need. I'm going to choose this first one, Bangula and Sanje in Malawi. And then I click okay. And it will put a point on our map. I'm going to zoom in to the place. This point, by the way, is a memory layer. If you want to keep the point, you can export it like we learned yesterday to a geo package or a shape file. Here we just need it for our reference to find the study area. And this is the imaginary study area in the same bigger area that we used yesterday. But that area of yesterday is too big for the field survey. So I also, for a demo, don't want to make it too big. So we are going to focus on this agricultural area. There we have pivots that obviously water use, maybe groundwater, maybe surface water. And we have some lagoon here with the Shire River. There's another river and we have the city there. So I found it. I can remove this layer. We don't need it anymore. Okay, I see it again changed the projection here. So I'm going to change that again. Not sure why that's happening now. But anyways, keep an eye on that. Make sure that you have the UTM projection. Now the next step is to define our study area. Well, normally you will have a layer for that or you can digitize a new layer. So you can under layer, create layer, make a new geo package layer and then start digitizing. Here I'm going to simply use the extent of the map canvas and use that as the boundary of our study area. So for that, I go to the processing toolbox. And there I'm going to look for a tool to find the extent. And there is this tool, create layer from extent. It's under factor geometry. You can always use the search box. And basically what this does is it will create a new polygon layer based on the extent. And therefore it's important that your projection here is correct because it will use those coordinates. So always click on these three dots to see what you can do. And there's some options here. If you have another layer, you can use that extent. But here I use the canvas extent. And it will simply use the corner coordinates and put it here in the extent field. And then I'm going to save this to a new geo package. And I'm gonna work in that geo package further. So save to geo package. I'm going to make a new folder. Yesterday we learned some good practice. So dedicated folder, tutorial two, I call it. And there I'm going to save it as a new geo package which we call angular study area. And then a layer name. Oh, sorry, that was the wrong one. I should of course call the geo package something else. I see that's missing in the tutorial, but that doesn't matter much. Well, yeah, we can call it Bangula study area. And then we call the layer the same. So go back to that's tutorial two. So notice that there's a difference between the geo package name and the layer name, but you can also give it the same name. Bangula study area. And then here, so Bangula study area. And there it is. And then I run and it creates a nice purple box there. Close the dialogue. And if I zoom out, I can see indeed that it took the boundary coordinates and that's our study area. Let's style it, go to the layer styling panel. And there I change from simple fill to simple line. And let's make it red. All these styling will be taken over by the app. So that was the first step, adding the study area. Now I'm going to add layers, online and offline layers. And let's load the Google satellite first to have a closer look at this area. So through the quick map services plugin, you go to Google and then to Google satellite. And the OSM is still on top, but here's the Google satellite. And if you zoom in, you can find a lot of details here that are useful for our field survey. And we really want to use this online and offline. Well, using it online in the app is simply having it here in the layers list, but having it offline, you need to process it a bit further. So we have the OSM standard and the Google satellite and we're going to make them both available for offline use. And then we need to determine the zoom level that we're going to use, because you can imagine that this will generate a lot of data for your mobile phone if you want to use all these detailed tiles offline. And normally in the field, you are zoomed into a certain area and you want the detailed information specifically for that area and you don't need all the zoom levels. So I go here to view and to panels and then I'm going to add here tile scale. I close this layer styling panel and the processing toolbox. And here we see the tile scale and of course I have to select a layer that uses the tile scales and I can then move to different zoom levels. And this is important because it will give us the value. So if we move it, we see zoom level 17 for example, and that looks quite appropriate for our project to use zoom level 17. So you use this tool to find the appropriate zoom level that has just enough detail for you in the field. If you make it too detailed, it will be a super big file with lots of tiles and too big for your phone. And if you make it too small, then you don't see anything. So here are probably the optimators around 17. Then we're going to process that into an offline file with all these tiles. And we go back to the processing toolbox. I'm going to close this tile scale processing toolbox. And there is a tool there to create MB tiles. It's this one. Before we do that, I want to zoom to our study area because it will use what we have here in the map canvas and I'm going to remove the study area boundary. Otherwise it will also be in our tiles and that's not what we want. And I'm going to double click on the tool and there we first going to set the extent. In this case, we're going to use the layer extent from the study area boundary. So the Bangla study area. There it is with the EPSG 32736 projection. And you can give a range of zoom levels that is for many other applications useful and it will simply download all the different zoom levels. But as said, we only want a detailed map and want to save space on our mobile phone. So I changed this to zoom level 17, both for the minimum and maximum. So we have only one zoom level and it will generate tiles. So it's quite efficient to visualize on your mobile phone. I keep the other things as default and I'm going to write the output file, save to file. You cannot save it directly to a geo package. We'll convert it later to the geo package. And I'm just going to call this satellite. There it is. And then I run it. That will take a little bit. It will now download all these tiles within the study area boundary from the internet and save it to the MB tiles file so you can use it offline. And later we're going to repeat this procedure for the open street map. You can do this for any online file. So the app also supports WFS from GeoNode. So if you have already data on the Sadek GIP, you can add it to your QJS project and use the layers on your mobile phone even with a live connection with the SDI. So that might be something useful. Okay, it's done. I can close it. You see that it's ready now. This big file has been downloaded. It's not automatically added to your layers list. So I'm going here to the browser panel and I'm going to add it to the GeoPackage. So first I'm gonna find it in the tutorial two folder here. And here we see our GeoPackage with the study area. And we see here the MB tiles. It comes with two files, but the one that we need is the raster. And we can simply drag it to our GeoPackage and then it will be imported. It will take a little bit, these are big files. And it needs to convert the format to be compatible with the GeoPackage. Okay, it says import was successful. So that's great. So we see here satellite. So that's good. And I can already drag it here to the map canvas and then it will load. There it is. It looks a bit bad, but remember we have a very high zoom level. So if I remove here the Google satellite and I'm going to zoom in, then you see what we have created. And this is zoom level 17. Got a little bit compressed, but good enough. If you're not happy with it, you can increase the zoom level, but remember it will make the file bigger. But this will be already good if we're walking around here to know that if we are next to a tree, we can already see it or the roads. So let's do the same for the OSM standard. So we're going to add the open street map there. I can't see it because this one is on top. There is it. And in the same way, I'm going to determine the zoom level. So I go here to the view, panels, tile scale. And again, we're going to determine which zoom level is best to use. And also there are 17 or 16 seem to be okay. I'm just gonna take 16 here. But 17 would also be good. It depends a bit on what you like, the amount of detail that you see here. So go back to the processing toolbox. Again, generate the XYZ tiles, double click, use the layer extent of our boundary from the study area, change the zoom level. I'm gonna use here 16, keep the defaults and I'm going to save this one to OSM and there we go. And it will download now the tiles from OSM. It's much faster because there's a different type of data. And it's done. I close the dialogue. I go to the browser panel. I see here the OSM MB tiles. I drag it into our geo package. So it will be imported and import was successful. And what we can do now is drag also the OSM layer in the map canvas. So if I remove this, then you see we have the study area with the OSM, study area boundary. You have the satellite layer, which is loading. If you zoom in, it will be faster because of all the tiles. It will only show the ones that's in your zoom level. And we have the online layer and we have the online satellite layer. And what we can do now is save the project. And we can save it to a geo package, but the input app does not support the project in the geo package. So what you need to do is save your project in a normal project file. And I go here to that tutorial two. And I'm going to save this one as Bangula Roundwater. And now it's a QGZ file. Now the next step is that we're going to add the so-called survey layer. So we have the boundary, we have the online and offline background layers from OpenStreetMap and from the Google satellite. But now we also want a layer that we're going to use for surveying with all the field forms. So I'll close the processing toolbox and I'm going to add a new layer. So you simply go here to layer, create layer. And we're going to create a new geo package layer. I'm going to connect to the database. There it is. And I'm going to give this a new name and you can give this layer name, survey or something else. Define the geometry. It's point geometry. We're going to map points. Input also allows mapping of lines and polygons, but in most cases you will have points. Change the projection to the one you're going to use in the field. So that's the one of the project. And now we are going to add the different fields that we need. And in the tutorial, you can see the whole list. I'm going to add them one by one. So the first one is that I want an observation ID and that will be an integer number. If you have codes with letters you choose text, I will here just use a simple integer number. The geo package comes with also a feature ID built-in number, but that's automatically controlled and you might in the field want to give your own numbers. Also if you make mistakes with numbering or anything else. So I'm going therefore to add this observation ID field, define it as a whole number, and never forget to click this list at two fields. And the next one that I need, I want also to register in the field the date and the time. I'll just call it date. And the type is date and time. Time is important because it gives us extra information on the conditions in the field if you add the time. And you can synchronize it with other time dependent data such as data loggers. So add it to the list. Then of course I want also to know who is the observer because you want to maybe work in a team and use the field form with different people and different people observing different ways. So it's always important to add an observer name. That will be text data. So I'll add it. Then I want also a picture. And for picture we put text data because basically it will be a link to a file in your project and on your phone that will be used later. So always configure picture as a text data. If you want multiple pictures, then you need to define for each picture a field. You cannot store multiple pictures in one field. That is a limitation. But if you want 10 pictures, then you just make a field picture one, picture two, et cetera. Then as a backup, I want to ex-coordinate that we read from an other GPS or from a map. And that will be a real number, decimal number. And I add it to the list. Same for the Y coordinate, also a real. I also want the Z, the elevation. Maybe we have a barometer in the field, an altimeter and we can read that or we do a rough estimate from the GPS. And that's also a real. Then I want to know the type of feature. Is it a spring or a borehole or a well? And that will be a text format. You can also encode it in numbers, but let's do text here. So we can see it in a written word. Add it to the field list. For those fields, I also want to know the depth. And that will be a real number. You might want to enable to use decimals for that. So edit. In the field form, we can determine the units that you will use. Then we want to know the groundwater level for wells and boreholes, also a decimal. We want to know name. Maybe we are in a compound of somebody and we want to have some reference so we can put a name there, text data. I can edit. And maybe also have the address. If you want to go back, you can easily find it back. Also text data. And it's always good practice to add an extra field which is called remarks or notes where you can write other things that are not captured by the field form and that you might want to capture. So you're completely free to design this in the way you want but you need to think in advance what kind of fields do you want. And now these are all the fields, so I do okay. And it will ask now to override the database or add the new layer. We want to add this empty layer to our geo package. So I do add new layer. And there it is. If I open the attribute table, I can find here all the fields that we have added in attribute table format. The next step is that I want to have a marker. So the input app also takes the styling that we use here in this project. So I'm going to change the styling. I go to the layer styling panel and I'm going to change these markers to a combination of two simple markers. I'm going to click the plus button. So I have now two simple markers. I'm first going to style the first one. And what I'm going to do there is to make the field color transparent. And I'm going to make the stroke color black. It's already black. And I'm going to make the size a bit bigger. So let's make this one four millimeters. And I'm going to make the stroke width a bit thicker. And I'm going to put that to one millimeter. And I'm going to use the second simple marker. What I'm going to design is a crosshair because that's easy in the field. So what we're going to do there is I'm going to choose another marker symbol there. I'm going to choose the cross. So we get the crosshair but of course it needs to be much bigger. And I'm going to change some sizes in here. So I want the size of the crosshair to be eight millimeters. And I want also the stroke. So it's clearly visible in the field, the stroke width. I'm going to change this to also one millimeter. And now we have a nice crosshair that's very clearly visible when we are in the field under conditions where we have a lot of sunlight. So you can take care of that. But feel free to make any kind of symbol that you want. So that's the styling that is defined. And let's frequently save the project also. So now the styling is also there saved with the project. And the next step is to design our field form. And that's a nice functionality that you might not know in QGIS. It's to design widgets. So I click right and I go to the layer properties of our survey layer. And when you are there, you see many options. And one of the options that you probably have not used is attributes form. And what we see there is widgets and our different fields that we have defined. And we are going to define a widget for each field and the input app will take over those widgets. So FID is the internal numbering of the geo package. And we don't want that to be visible. So the widget type here, we change this one to hidden. That's the only thing we need to change for the FID. For the observation ID, we can put an alias. An alias is what is visible in the field form. So on the phone and in the form attribute table in the form view, which I will show later. And we can call this observation number. So people can see that name there. And what we're also going to change there is the widget type. It should be a text edit. So for numbers and for text, we all use text edit. It's just simple entry fields that we want. And I want to have a constraint. I want that every field observation has an observation number. So under constraints put here, not null. And you can enforce the constraint. So you cannot save the observation without putting the observation number if you enforce this. If you only have checked not null, it will indicate that it's a mandatory field, but you can still continue with that. So that's okay for the observation ID. Let's go to the date. And there I want an alias date and time. Oops, typo. And I changed the widget to date and time, but it's already there because our data type was already date and time. It recognizes it. But the display has a format that we might not want to use. So we can change that to a custom format. And if you click this button, you see a lot of options to customize it. Here I want the day in a number. I want the month in a number. And while I'm building this, you can see the preview here. And I want to have the year in four numbers. So that's today's date. And then I want the time in 24 hour notation. And I want the minutes and I want the seconds. So this is how you can build a custom field. And we don't need the calendar pop up. The app will simply have a button to add the current date. And that's what we configure here under defaults. The default value will be now, dollar now is a function to have the current date and time. So if I type here dollar now, I can see the current date and the time expressed. And in the app, it will also use that one when you collect a data point. So the default value will be the current date and time. The next is observer. And I'm going to use there as an alias the observer name. And that is a text edit, that's okay. And you can put their default value. So not every time you have to fill that in. So I can use my own name, but you use the single quote because it is like a, it is a string and for strings into these kind of fields. As you have learned, we use single quotes and I can then type my name close with a single quote. And then you see in the preview, my name without those quotes. So that's our observer name. Then for the picture, we need to change a few things. The rigid type for the picture is the attachment. And we need to change there to relative paths because on your phone, it will have a different path. So it's important to change that. And the other thing we need to change there is the rigid type, sorry, the content type is an image. And we keep the other things as defaults on auto size based on the size of your screen or the size in the attribute table related to your picture. And this one, I'm not going to make mandatory. So just also to play with that, we don't have to fill in an alias. We can just use picture. And then I go, in between click on apply, so it will be applied. I go to X coordinate, leave the default text edit, and I don't need constraints. The same for the Y coordinate. Also no constraints. For Z, I'm gonna change the alias to elevation in meters. So always make clear what kind of units you want in the field form, so people don't make mistakes there. No constraint. Then we go to type. And the type needs to be a list that people can choose from. So I'm gonna change first the alias to feature type. And I'm going to change the widget type to value map. And what a value map does, it will map a description what you will see in the field form to a value what will be substituted in your attribute table. So we could, if we would have numbers, we could say number one is a well. So when people choose well, it will substitute number one in the attribute table. In our case, we chose to have text and we can then keep them the same in this case. So choice number one is the borehole. And in the field form, it should also show up as borehole that people can select from a dropdown menu. Second one is a well, third one is a spring. And don't forget to also have an other field if there's something else and you want to be flexible in the field, we use other. And we want to enforce this choice. So it cannot be null and it needs to be enforced. Then we go to the next one, that's the depth. And we're going to change the alias to depth to bottom in meters. So make again clear what you mean. It should be a text. And there are some constraints there because we don't want that for springs. So I'm going to build an expression here under constraints. You can open this expression dialogue by clicking this button and I go to fields and values. And I want that type equals boreholes or type equals wells. You can see that it's valid, can make it a little bit bigger so you can read it. So only when the type equals boreholes or the type equals wells, we can fill in the depth to the bottom. If it's a spring or other, we cannot. So do okay. And then it's filled in here. And you can add a description here to explain what you meant with that. That's just for reference. If another person reads why you've put there and then say depth only for boreholes or wells. And you can enforce the constraint. And we do the same for the groundwater level. So that would be the water level in the well or the borehole in meters. It's a text field. And I want to have again that expression. I go back to depth and I simply copy the expression and paste it in here. And paste it in here. And also I can do that with part of this one, level only for boreholes or wells. And enforce this choice and apply. And then we go to the next one, name. That is something we can keep with the text edit. And for address, that might be a bit longer. So I'm going to change this. I keep the text edit, but I want it multi-line. So you can have a bit more space in the field form to write the complete address. And I'll do the same for remarks. Also want it multi-line. I do apply. And now I can click okay. And if I now open the attribute table, you see here the table view, but maybe you've noticed these two buttons on the bottom. If I click this button, then we have the form view. And here we see our field form. It's empty because we have no entries here, but this will also be used by the app. And then you can, when you synchronize back, you can visualize the result in this form view. So remember that these two buttons are to toggle between the table and the form view. Now there's one more step that we can do here to add the map themes. Because we want to give the user of the app the choice to switch between online and offline maps and between OpenStreetMap and Google Satellite. And therefore we use a function that is called map themes. So what I want to do first is to rename a few layers here. So rename just to make it clear for ourselves because we can get confused. So this is Satellite online. That's what we are looking at. And I can save it here as, oh yeah, keep an eye on the order. The survey layer needs to be on top. And then we can use the boundary. And then we have the layer under it that we want to visualize. So I go to this button and I'm going to add theme. And I'm going to call this one Satellite online. The user will have the same choice there. I will show that later. Now we have OpenStreetMap. And I'm going to rename that layer too. Call this one OpenStreetMap online. And I'm going to add it also as a separate theme. I'm going to call the theme OSM online. We also have the OSM offline. So I'm going to rename this. And I'm going to add this one to a map theme, OSM offline. And we have the offline Satellite. I'm going to rename it to Satellite offline. That's the layer name. And I'm going to add a name of the theme Satellite offline. Now what's the use of this? I can choose a map theme. And it will automatically select the layers that we have chosen. And the app will take over those settings. So I'm going to now save this project. And the next step is to synchronize this with the Mergin plugin and then to synchronize this with the input app. There's a link in the tutorial where you can go to the cloud service of Mergin. And that's a service provided by Lutra Consulting and you can sign up here to get access. Just scroll down. It gives a little explanation on how it works, what the main features are, how to use it, which I will also explain. And the plugin that will come in a bit, the mobile app that you will use. But if you scroll all the way to the bottom, then you can see that it is free to use in a community license where you will get 100 megabytes of storage, which is sufficient for this project that we are doing here, where you can have unlimited public and unlimited private projects. But you might want to have more space if your mapping projects are bigger. So then it has some different licenses that you can go for. But you can also choose to have it installed on your own servers and customized. And I'm always imagining that it would be very nice to connect it to an SDI. So you have the mapped data in some way, collected also live, put on your SDI. So these things are all possible, but these companies, they provide you services and of course that comes at a cost. But the great thing for us is that the basic license already offers us enough to experience the product. So after you have signed up with a username and a password, then you can use the plugin in QGIS. So I'm gonna switch now to the other screen. Okay, so once you have configured your username and password in the Merging Cloud Service on the web, you need to install the Merging plugin. You go to plugins, manage and install plugins. And there you're going to look for Merging. Here it is. And then you install the plugin and then you can close this. After installing the plugin, you need to restart your QGIS because otherwise you don't see it here in the browser panel. There it is, I open the recent project and there it is. And now we see that we have the Merging group here in our browser panel. I can expand it, but I need to configure it first. So I click right, I go to configure and there it asks me my username and my password. That's what you just registered for. You can choose to save your credentials. So you don't have to put that there every time. You can test the connection and it says okay. And here's another way to sign up if you don't have an account yet. It will bring you to the same website. I click okay. And now it will show me my projects shared with me and explore. My projects are the ones that I already have in the cloud service. Shared with me is our projects that are specifically shared with me from the cloud service. So if you work in a team, you can share your project with a specific user in Merging and explore our public projects that you can just use to figure out how it works or maybe you find some useful project that's already made for your purpose. Now what we need to do is to initiate our project. And the first thing that we need to do is to clean up the folder with our project. And here we see the folder. And basically the only thing we need is QGZ, the project file and the geo package. When you have your project open, QGIS will also have these temporary files related to your geo package. You leave them there, don't remove them. But we don't want these MB tiles because they're already in our geo package. So I'm going to select them and delete. So we only have these ones left over. And then when we synchronize Merging knows that it needs to take the geo package and the project file. So make sure that you remove the files that you don't need. Otherwise it will take up space in the cloud but also on your mobile phone. So if I would have kept these MB tiles, it will make the file three times bigger than I need. And also for your internet connection, it's heavier. So basically this folder is going to be shared with Merging. So there's one more setting that you need to do before you can use your QGIS project on your mobile phone as a survey project because how does the tool now know which layer is the survey layer? Because these are both vector layers that you can use. So you need to go to the project properties and there you can go to the data sources. And the rule is that it will identify the survey layer if it is not read only. So we need to put the other vector layers on read only. That's an important setting. Otherwise this study area polygon will also become a survey layer and you can add data to that. And that's not, of course, the purpose. So put that one on read only but keep the survey layer as also writable. So okay, save the project and go back to Merging. Then I'm going to create a new project. Project name, Angula groundwater mapping. Make it public, initialize from the local drive. And there I go to the folder tutorial two, select folder, click okay. And it will now connect to the cloud and upload my project. That will take a bit based on the size of your project and your internet connection. This is not a very big project. So it says it's uploaded successfully, click close. And then I find it under my projects here at the top, Bangula groundwater mapping. It shows this folder symbol which means you also have it as a local folder. And these other ones, I don't have it locally and they are only in the cloud and then I can synchronize it. So let's confirm that this project is now in the cloud. So I go to the Merging cloud and I'm going to sign in. And I see here the Bangula groundwater mapping project, its size, it's only 30 megabytes. And this means that it is uploaded in the cloud and it's completely synchronized. Here I see the files, the geopackage and the project file and it all looks okay. With this button, you can share it with others. There are all kinds of settings that you can do including deleting it. You can clone this project and you can make it private. And there's a history to track the changes of their two files added for the rest, nothing happened. Okay, now a project is synchronized. With the cloud, so the only next step to do is that we need to use it on the mobile phone. And there, I have downloaded the input app from the app store. It works on both Android and on the iPhone. And I tap the input app and it brings me to the home screen. And there you can, for the first time, you need to log in to your account. In my case, I'm already logged in. So I don't change anything here, but you have to first log in. When you're logged in, you can find on the home screen your active projects that you're working on. And you can then go to my projects there. And under my projects, you see all the projects that you have in the cloud. And you can see with different icons here. This one is synchronized. And these ones I can download to the phone. So here on the top of the list, we see my new project for groundwater mapping that I just made. And I can now simply tap that it will download the project that takes a bit depending on the speed of your phone, the size of the project and your internet connection that you're using on the phone. So do that prior to going to the field because you also want to test it first before using it. And then it will download to the file system of your mobile phone, almost there. There it is. So we now see this nice sign here that it is synchronized. What I do now, I go back to my home screen and I find there this new project. So it's this one that we have just downloaded. And now I'm going to tap it to open it. So here we see our project with the bounding box that we created and the GPS location. And I can zoom in further on the OpenStreetMap offline layer. And I can look at the different map themes and try them out. So let's put a satellite image in the background and use the offline one. And that all seems to work well. Remember that you need to zoom in very well to use the satellite layer. Otherwise, it needs to load a lot of detailed tiles that you're not using. So only use the satellite background when you're really zoomed in an area that you're going to map. I can see the status of the GPS is green. If you go here to more and then to settings, you can see here different color codes for the GPS accuracy. And you can set there the threshold to give a warning that the signal is bad. I keep it as default here. If you switch on follow GPS with map, that is when you are driving around or moving around, then the maps will follow your GPS signal, which is good for navigating. I switched it off now. So let's add a point. When I tap record, I get the point at the GPS location. But sometimes you need to move it. For example, if you observe something behind a fence, you can't access the well, then you simply move it with your fingers to the right spot and then you tap add point. Now you see the field form and we can fill it in. Let's start with an observation number. I put one and it automatically fills in the date and time that you have now. But if you tap the calendar icon, it will update the time. When we scroll down, we can take a picture. Here I'll make a selfie and then you tap okay. And the picture is added to the field form. You can fill in the coordinates. That's optional here. And I choose borehole, then it's mandatory to also fill in the depth. And the water level, which in the case of spring, we wouldn't do. I can fill in their name and address and give a remark. If everything's okay in the form, let's double check. Then I tap save and the point is stored. And we see there the crosshair appearing at the spot that we have indicated. It's not very clear in this forest of background. So you might want to go back to your project and change the colors. You will see that if I use another map team, open street map offline, for example, that it's much more visible there. So we have added this point. If I know I can collect more points, but for the demo, this is okay. I go back to projects and then I move to my projects. And there I see the project and I can tap the arrows to synchronize it back with the merging cloud. So that's a quick update because it just needs to send the changes. And when you see that green icon, it means that it's correctly synchronized and we can proceed on the desktop. You have some other functionality here. You can go to the shared tab if things are personally shared with you and you have the explore tab where you can look at other merging projects that are public and use those. That was the mobile phone part. So I'm gonna stop sharing the mobile phone and gonna prove that it's synchronized. So we're back from the imaginary field work and to go to my merging in the browser. And there's the project and I click synchronize and it will download the new project data. And the pop-up says that the synchronization has been successful. There I open the project from Virgin. And when I open the attribute table, I see now that the fields are filled in. And when I maximize it, I can see there the data that has been captured.