 So we're almost starting. It's nine o'clock here in the Netherlands in the European summertime, sorry for all the confusion that caused. Time is relative as you know, so for us it's still nine o'clock, but something changed. And the weather is improving. This weekend is going to be my spring weather here, although that's of course a bit tricky with the corona situation. So we hope that everybody will not crowd in the cities and in the nature reserves and those places, but just do a lot of GIS at home of course to keep us healthy. So GIS is healthy as you can see. So what do we have for you today? It's the third session and we're going to cover spatial analysis with map algebra, so a lot of raster stuff that will go on. Before we start and still some people will enter, I'll go through some slides where we'll introduce ourselves to the new ones and then I'll show what the plan is for this evening and then we'll start doing the practice. So if you are just attending in the chat, you can say who you are, where you're from, and anything else you want to share during the whole webinar, you can use the chat box to ask your questions and we'll answer them. Kurt will do it while I'm demonstrating and in the end we'll of course have our geo beers where you can interact more with us. Okay, so I'm Hans van der Krust. I'm a senior lecturer at IIT Delft Institute for Water Education. My background is that I'm a physical geographer and that I did my master's at Utrecht University also my PhD and during my PhD I was working already a lot with GIS and with Python. I was integrating satellite images in soil moisture modeling and looking at patterns of soil moisture in mostly Morocco but also did fieldwork in Spain. And then I started working as a researcher at the Flemish Institute for Technological Research that is in Flanders in Belgium. Had a great time there with a group of enthusiastic researchers and we were starting to build up the open source tools in the unit. We started even a Python user group and shared knowledge on using Python so it was a great time. I was working there on land use change models, a lot of GIS work in the unit. We also worked on air quality models and water quality and since 2012 I work at IIT Delft as an institute which is a little university specialized in water and there I give GIS classes. I'm a board member of the Dutch QGIS user group which just started last year and my interests are obviously open source GIS and also open source modeling tools like CURT. I'm also a QGIS certified instructor which means that if you follow classes with us that you get the official QGIS certificate which contributes 20 euros per certificate to the QGIS project and that's a win-win for the participant to have an official certificate for QGIS to have some income to benefit the software and for us as an institute to help QGIS further. Other interests are remote sensing for hydrology. That's an important part of my work also at IIT with the water accounting and water productivity group. We also give trainings for FAO for example. In my projects I work a lot with spatial data infrastructures, help organizations to set up, to share data, to learn about open data also the value of data and the value chain. I've been teaching those things also in the past days to environmental sciences students at IIT. Hope some of them are attending now. They're doing a great job today we were covering and yesterday also catchment delineation and now over the weekend normally they're a bit free in the weekend but now in the corona times they can use their time to delineate the catchment of their choice so I hope they come up with very nice results. Of course they're using our book, talk a bit more about it later. Also I like a lot doing field work behind the computers of course nice and do the analysis but you also really need to understand the process in the field and especially understanding how measurements are taken and monitoring is done and how to use that data in a proper way in your models and your tools. So if you want to know more and want to be in touch with me you can always send me an email or connect through LinkedIn and follow the stuff I do or Twitter and Instagram and I have a YouTube channel which you probably know about where I post regularly videos and the more I'm at home the more videos there you'll be over there so probably more updates in the next days and weeks. I'll hand over to Kurt. Hi everyone I'm Kurt Menke I'm based in Albuquerque, New Mexico and I run my own GIS consulting business named Birds Eye View and I also have been working with another initiative called the Q cooperative and that's an umbrella organization I set up with myself and five or six QGIS developers and power users and collectively we are trying to offer QGIS support services so you can find me at Birds Eye View or at the Q cooperative and just a little on my background I've been working with QGIS since about 2005 and I've been teaching with QGIS for the last 10 or 12 years and I use it in my business on a day-to-day basis so I'm kind of a mix of consultant educator and author I've authored six books on QGIS at this point the latest being Discover QGIS 3x and that's a big 400 page workbook that is a very thorough treatment of all the analysis and data visualization and cartographic capabilities in QGIS also data management and as Hans mentioned I'm also a QGIS certified instructor right now I don't have anything online I saw that question but I am working on getting some online courses up that would be QGIS certified and Dr. van der Kwaas is doing the same so stay tuned for those and yeah I'm definitely a Phosphor G advocate I think I'm really I think it reduces a barrier for entry into GIS and so I'm definitely kind of promote the democratization of technology and I think open source is very important from that perspective as is open data so that's an introduction to me you can find me also on LinkedIn and Twitter at my handle geomenky thanks Kurt so this webinar is one of a series of seven webinars in the first one we addressed preparing data from hard copy maps and we learned about digitizing in in geopackage format and a bit of styling of those factors and labeling last time we covered importing tabular data spreadsheets into QGIS and do spatial interpolation we discussed even two of those interpolators and today I said we will cover spatial analysis with map algebra more in the next slides next time we will have like the masterpiece of GIS for hydrology is that stream of catchment delineation then yeah once you have delineated your catchment you also want to add data to your catchment and these days a lot of data is available on the internet so in the fifth session we will cover adding open data from open street map and web map services to your catchment and then yeah you also want to do some analytics and in the sixth webinar we will dive into vector processing tools and dealing a bit more with the the attribute table to calculate the percentages of land cover per sub catchment and then in the last session we also want to have a nice match of what we all calculated like the one on the cover of the book so Kurt will in that session guide you through all the the nice stuff that QGIS offers for styling and making your map in print layout so that's the full package and basically that follows each chapter of the book QGIS for hydrological applications and it's really useful to have the book next to the webinars and follow the steps while we go along those steps are far more detailed than we can cover in the webinar that's more like a demo there are lots of other videos that I have around but but the book really illustrates every step very nicely and there's additional information and links in there so if you're interested in the book you can go to the website of locatepress so locatepress.com slash hit and there you'll find the book also the book that Kurt mentions mentioned discovered QGIS 3.x a great book I can really recommend that if you want to know all the ins and outs of the current version of QGIS then that's that's a place to to look for it okay so for today we're going to do spatial analysis using map algebra map algebra is a technique it's already quite old that that was used and is still used to deal with raster data I will not cover much of the theory so I can really recommend to watch the video on raster analysis on my youtube channel which covers all the principles and the concepts of map algebra and the data types of rasters I'll cover a bit of that of course today but if you really want to know the details and that's the video to watch at the end I will show you where all the supporting materials can be found because we have now a little website for for this webinar where we collect all the stuff so what we will do today is we work with a case study and the case is that we have an imaginary place so it doesn't exist in reality it's an oasis we called it ion QGIS it's in Morocco in the desert it's it really doesn't exist and that municipality wants to assess which wells in that area are unsuitable for its inhabitants based on on three conditions so suitable or unsuitable so wells are seen as suitable if they are within 150 meters from houses or roads if there's no industry mine or landfill within 300 meters of the wells and the wells should be less than 40 meters deep to be considered accessible and for this task we have a few raster layers one with buildings one with roads one with elevation and we have the groundwater level in the wells in yeah levels with reference to the to the sea level so absolute levels of the groundwater there's a little anecdote about this data I'm still figuring out if you can get a good story out of this but this data set I've been using during my own studies but it's much older so I do track the university during the GIS classes already going back I guess to the to the early 90s they used this data set but then during the development of exercises they of course changed and well one complaint of my students was with the artificial coordinate system that it had in the past it didn't really had a coordinate system that yeah that it was difficult for them so therefore I moved it to a desert in Morocco and and named it then after this area this oasis so this data set's interesting it's still used and what we will have in the end is this map so this is the end product of of today's webinar where we can see which wells are suitable here in green together with the label with their depths and which are unsuitable based on those three conditions that we have so let's get started started here QGIS and the first thing I'm going to do is I'll go to to the browser and I have a folder with these layers the folder webinar and the nice thing about the browser so you'll learn also a few new features of the browser is that you can make a folder as a favorite so I don't have to scroll through all my folders here and I can just stick to the favorites here on top and we're here in chapter three and I've got these four layers and the first thing that is wise to do is to check the meta data of these layers because we just got this from this municipality and we want to know what it is if you click right and can go to the layer properties and there you can find the projection here the epsg code you can find the units we find the dimensions so 60 rows and 60 columns that's what this means you see the format the geotiff it gives here the statistics the minimum and the maximum value so that's very important to know and the pixel size 50 and minus 50 we can have different x and y dimensions but yeah if they are the same then it's 50 and minus 50 and it's square pixels that's what we also cover here for the rest there's not much more information that's useful here so this buildings layer has a minimum of zero and a maximum of five that doesn't tell anything about the data type itself so we have to figure that out a bit then we have the dtm similar projection and the minimum and maximum range so that's useful groundwater level same projection also good to know because we can only do map algebra if it is in the same projection all the layers have the same projection and then we have roads so I can add these layers from the browser I select them and I can drag them to the map canvas and here I have these layers now QGIS and also other GIS desktop software automatically styles this but based on yeah nothing actually so we see all these kinds of black and white legends and minimum and maximum that is not really useful so we really need to know what the data is before we can use it and so therefore you need metadata you need to know what it is and the best thing to do then is to style the layers so the first thing that we need to do we have this criterion if you have the book you can read along but the first criteria was condition was to find the wells that are within 150 meters from houses or roads so let's start to calculate the ones that are 150 meters from the houses and therefore I'm going to first style this layer because this layer rusters can have different formats they can be discrete if they have classes continuous if it's continuous data they contain real numbers and they can be boolean if it's only true and false and in this case we have classes so it's discrete and each class is a is a land use in this case so if you have discrete rusters you go here to palleted unique values that's one of the newer styling functions of rusters it disappears now because we also have to click classify and then it gives a random color to each of the pixel classes and then we can modify it so it's nice to mention that this palleted unique values option came into QGIS because of a crowdfunding so people have have funded this option if they find it useful and it is very useful for styling discrete classes because it takes all the unique values from the ruster and then we can give it colors now the legend of this map can of course be found in the book but class number zero is non so that's background so i'll make it white so you can use different types of we can get the colors or use your recent colors or use the recent ones and with this button you just go back class number one is are the houses we can read class number two is public building purple and then three is landfill the darker color would be more appropriate something like that and then four is industry so remember that ruster layers don't have attribute tables so we can only store pixel values in the pixels but not the class names therefore we need to do this coding if we want to provide the legend later let's make industry still a bit darker this one and then we have here the mines and they come on black here so that's how you style discrete rusters so we use palleted unique values these are the values in the ruster these are the labels and you set the colors so that gives a bit more information and we are interested in the houses so to calculate the distance to the houses which is one of the conditions 150 meters i need to filter out the houses of this map there are two ways of doing it the first way is to use the ruster calculator later i'll show another way of reclassification so the ruster calculator is what it says to calculate rusters to do all kinds of operations with rusters and i just double click on the ruster layers name you see this at one that means it is band one in this case these are all single band rusters but if you have remote sensing images for example you can have map stacks where you can point them in the ruster calculator to a specific band and to just get out the class house i need to specify the class number of house and that is one and then just do the equal so i say building equals one that's a conditional expression it's basically says if the pixels in building equal value one so their houses then return me one which is true and return me zero for all those other pixels that are not true so the output of this calculation is a Boolean layer so i go from a discrete one that's this input layer to a Boolean with true and false is then uh what i will call houses there it is the rest we keep as default this is just if you want to modify the extent and i just want the same extent as the input so click okay and then we have this map with true and false and then it's still good practice to also style that one Boolean uses the same render as discrete because it's still classes it's just a specific type of it so it has only two classes zero and one so i go to pelleted unique values and i click classify and the two classes are classified now i want false to be red and true to be green because that's more intuitive if i later want to combine it i want to also visualize this in a clear way so zero means no houses and one means houses so that's step one we have now the pixels that are houses and now i need to calculate 150 meters around those houses because that's the condition for wells to be accessible so to calculate those uh distances we need the raster analysis tools and there we find um the proximity tool raster distance and we get this dialogue and there make sure that the input layer is indeed houses and we're going to use as distance units the georeference coordinates because it's in meters and the nice thing about this tool is that there's an option to indicate already the maximum distance and that's what we want because we want the maximum distance to be 150 meters and we want all those pixels that apply to that distance to get a value true so that will be one and all the others will be zero and then basically in this one step we calculate and the distance and it converts it to a Boolean layer which has true for all the pixels that are less than less than equal 150 and zero for all the ones that are further away and we have to change this output data type because it's Boolean so we need the byte output type which means only zeros and ones and then i can give here the output map and this will be houses 150 meters tiff file not a raster layer you see that it runs a python geodoproximity script to calculate this so there it is and we see this and again i want the ones to be green and the zeros to be red so i can simply copy the style from houses and paste it here and there we see in green all those pixels that are close to houses the houses themselves are red and also the areas outside of the 300 meters buffer the 150 meters buffer correct 150 meters buffers are red and have the value zero if you are ever in doubt which values are green or zero you can also use the identifier tool and click and then check and there you find then the values so zero and this is one so that's all useful to do if you want to check the outcomes now we need to do the same for the roads because we also need to be 150 meters from roads now let's have a look at this roadmap so move it to the top there you also see that rasters are difficult to combine because i now moved roads to the top and i can't see what's below so that's very important that you keep an eye on the orders of your layers and there i want to calculate 150 meters from the roads there are two road types here apparently so i'm going to style it using the palette of unique values and i click on classify and this one is no road this one is dirt roads this one is tarmac so let's make no road also white and then dirt roads you make it something like yellow not very clear but it's okay and then tarmac something like black so the different road types and i just want the distance to roads that's the condition so it doesn't matter if it's dirt or tarmac so i'm gonna do again the raster calculator and now this one then would be roads and uh you can do it in different way but i think roads larger than zero that will mean one or two will it will be true and get value one and all the other pixels will get zero i'm gonna save it i call it this road dot diff and then i do okay and i can still paste the colors a style there so the roads are in green and the no roads are in uh in red of course i need to modify the text here so roads and roads and then again uh 150 meters so also that's repeated analysis proximity and there don't forget to put it on geo reference coordinates also 150 as a criterion and then one and zero and the output will be bite and then i call it roads 150 not diff okay then i paste the style and uh again rename it that's then larger than 150 meter and this one is larger equal 150 meter so it's clear let's uh also adopt this one so this one was larger than 150 meters from houses and this one less equal 150 meters okay so that was condition 150 meters around houses and roads then condition number two is uh no industry mine or landfill within 300 meters from the west so we need again our map that we created before with these buildings but now i want to isolate the landfill industry and mine and give them the value one to be true and the others value zero to be false and then calculate 300 meters from the industry to be true so these are some different methods that we're going to use so i'm going to open the processing toolbox and before i continue i'm going to change the setting a default setting in the processing toolbox i'll explain why here in the general there is a default setting prefer output file name for layer names normally it's switched off and it needs to be switched on so make sure that if you do this exercise that you check it because otherwise if you do several times a certain toolbox function it will output the name of the algorithm well it is more clear if you every time get the name of the file in the layers panel so by checking this box you will get the layer name as the file name and not the name of the processing tool that you used so that's a setting so i'm going to do a reclassification reclassify by table that's the one we are going to use because i'm going to make a lookup table so make sure that here you use the buildings layer and i'm going to make this reclassification table so i'm going to click here and we have six classes including the zero so i add six rows and then we fill in the minimum and the maximum they're the same because in you can also use these tables to reclassify ranges in this case the input is already discrete i need to put zero of course so class zero remains zero that was no buildings and class one is also zero these are the houses class two project buildings also zero then we have class three that's the landfill that needs to be value one class four typos also one and class five also true so there's a lookup table where basically we reclassify each of the discrete values to zero boolean and one boolean to okay and we need to change some settings here these range boundaries are important so in our case the minimum and maximum are the same so we need to put it on the less than equal for both ranges that are in the first two columns of the lookup table so it really uses the value so that's important there's some other settings use no data when no range matches value we cover all the values so we don't need to change that and then the output is again byte so that's basically what we need to do for the reclassification and then i can save the reclassified raster to a file that i call industry yep let's run it hopefully i didn't make a mistake here and you can see the the summary of what it did almost graphical way so that's very nice and close and the output is here it was where your cursor was it will put the layer so because i changed that house's legend my cursor was there therefore the output layers put there so i need to drag it to the top to see it and then i again paste the style so and rename it no industry and industry there we are the next thing is that i need to calculate the distance from the industry because the condition is that suitable wells are at least 300 meters from the industry so tree at least 300 meters from the green pixels now when we do this proximity tool we could set a maximum distance but not a minimum distance it is the inverse so we can do we can do this in different ways in gis there are always different solutions but what i will do is i will calculate all the distances so we get a continuous map with all the distances to industry and then i'm going to use a raster calculator to select the distances that are larger than 300 so i need to put it on geo reference coordinates i now don't fill in the maximum distance and these things i just want all the distances so the output is a floating point and then i'm going to save the file and i call it in gist there it is and then i run it and and i get this layer so now we don't have a discrete or boolean output but we have a continuous layer and we need to style it as good practice so if you want to style continuous layers so the definition of continuous layers is that it can have real values so it can be decimal like this one and uh and it's uh yeah things that are gradually changing in the in the landscape so for the styling of continuous layers we use single band pseudo color and then we can use ramps there are many ramps offered here and uh let's see if we find a suitable suitable one uh if it's further away it's better in this case so uh something that goes from red to green yeah so closer to the industry is bad and further is good so from red to green that's one option um now the next step is to select those pixels that are further than 300 meters i just check if it was equal in the example that we used or not yep larger equal so well i guess you know it by now we do raster calculator also in this case and i use the in dist and then i say larger or equal than 300 also always check if the expression is valid and this means if the pixels are larger or equal than 300 meters then give it boolean one two else give it zero false so i call this industry 300 meters dot diff save and and i run it and i get this nice one nice piece of art would be a nice print on a t-shirt and then i style it place the style and then this is less than 300 meter and that is larger equal 300 meter so that's condition number two now we have one more condition condition number three is we need to look for wells that are less than 40 meters deep now what i have here is a layer with the groundwater level i'm going to put that on the top and basically this layer let me just hide all and i'll show that one basically this layer gives us the elevation of the water level um compared to the the reference which is sea level now to get the depth of the well we need the elevation of the surface which is in the dtm that's this one now as a good practice let us first style the dtm the dtm is a continuous raster so we need single bent pseudo color and then we can choose a ramp and a bit a hidden secret is if you go to create new color ramp and you can go to cpt city here that's a catalog where you can choose all kinds of presets for ramps and i go here to topography and i can use here for example the sda one and there it is and another nice trick that we will also use later next time in the catchment delineation and the styling of that is we can duplicate this layer and there's a special renderer for hill shade here and it looks now very blocky because they're very large pixels in a small area but if you choose here the resampling and you put it on the linear and it smooths and if we now combine the dtm with the hill shade let me also just rename it also good practice that we know what we are looking at so hill shade so the hill shade it's not calculates it's the dtm and it's just rendered by the hill shade renderer and now i put the dtm on the multiply blending mode and then we can see a bit more really effects there so that's a quick way of doing that i'm going to style the ground water level now these are just pixels at locations with the wells with the level of the ground water it's continuous data because it has decimals so single band pseudo color also here and i would say the deeper the more red so another nice trick here is that you can invert the color ramp now these are deeper wells than the the yellow and the green ones so now we have styled it and basically what we need to do to calculate the depth of the well so from the surface to the bottom to the water level in the well we need to subtract both so also there i use the raster calculator and this is the surface level the dtm and i do minus you see that i also click those things because then the if you click those buttons the syntax is better and you can make mistakes minus ground water level you can of course type this but then you have a risk of making typos it says it's valid then i save this one to well depth and i run it and now we get the values relative to the elevation of the surface i'll style it again single band pseudo color inverted and of course the same results in terms of colors and now i uh the criterion the condition was uh to look for wells less than 40 meters deep now that becomes simple then raster raster calculator well depth and then uh yeah depending on what you want you can do uh less than or less or equal but i'm going to use less than here like in the book and then uh 40 meters and i'll call this one not deep and then i run it and i can paste uh the style because it's boolean again so the green ones are the not deep ones and the red ones are the the deep ones and i'm going to um style it always good to do a check so um what i'm going to do is use this and check if this one really is what we want so not the zero and if i then go to this one then i see indeed that is deeper than 40 meters so it's always good to check these things so you can choose the layers for which you want the results or you say i want uh all the layers or a selection of layers so you can play with it okay now we have the three conditions independently uh evaluated now we need to combine all these in uh in one map where all the conditions apply so we have the selection of the wells that are suitable so i go also to the raster calculator here and there we use so-called boolean logic so you see these operators and and or uh and means that uh all the conditions need to be true to give the output map the value one which is true if it's or it means that one of the two or both need to be true there are some other ones that we use in boolean logic like exclusive or then they always have to be different and not which is the inverse um so there are a few of those that are mentioned in my theoretical video so the first condition was uh larger uh our houses within 150 meters so let's so that's not this one that's of course the condition houses 150 meters and roads 150 meters and industry 300 meters so further away than 300 and not deep this one so these are this was the first condition roads and houses 150 second to one industry 300 and not deep so what it does it's going to evaluate all the zeros and ones in those uh rasters and if a raster has in all these maps one it will get a one in the output in all other cases it gets a zero so um i'm going to give the output uh name uh that's uh accessible i think we chose here is the example yes accessible wells and i run it and there it is i style it and what we see there is that just these three wells in the corner are accessible and the others are not and uh let me just also change then the legends uh the problem is that this is raster and it is not really uh the nicest way to present this to the end user the municipality in this case so what i'm going to do is to convert the raster to uh to vector and if you go to the tools here uh and you see conversion then you can get polygonized but these are points we don't want polygon so we need to do this in a different way and therefore we use a tool from the processing toolbox and uh that tool uh is uh raster pixels to points if i just look for points i find of course a lot uh raster then there's under vector creation raster pixels to points that's exactly what we need if you do the polygonize every pixel will end up in a 50 by 50 meter polygon that's of course not what we want so in this dialogue you have to point to the right layer and you can give the name of the attribute of the the field and attribute table that the pixel values will go to and that one we will call accessible and it will get a zero or a one from the raster that's basically what this tool does takes the center of the raster i'm going to save it to a file stop a video of somebody okay and i'll save this one as access as wells and then i run it that's very quick and i see now the points of the the wells so i'm going to hide a few layers that we're not going to use now in the visualization keep the dm and now we have our points there and if i look in the attribute table i find there the zeros and the ones it's a bit strange that it has all these decimals but of course computer doesn't know that it's boolean but this is uh this is still what we need and what we can do also is add the other data to this point file and that's another thing that is handled in that chapter which is very useful so what i actually want i want also the elevation of the surface i also want to know the distance to houses etc on all these points now how do you do that therefore we use a certain tool which is called the point sampling tool and you can install it manage and install plugins and look for the point sampling tool this one my case was already installed and i'll demonstrate how it works so you get this icon and it detects the vector point layer that we have so that's well so it automatically selects that and it puts here all the layers that you have switched on so if i want more i have to switch them on you can also do here now show all the layers and then if i use the tool you can then see them all in here and uh yeah what i want is a few of these layers i want to know the well depth i want to know the groundwater level i want to know the dtm i want to know industry was in 300 meters the exact distance to industry roads 150 meters houses 150 meters and i can save it here i'll choose a shape file in this case but we all know that of course the geo package is better and i call this uh well data or something so it makes a copy and what's important is you can also go to this fields column and a field step and there you can fill in the names of those columns that you want in the attribute table you can change this one in elevation for example then i do okay and it creates the layer and if i look at the attribute table and i get all that data sampled at those points so i know for each point then the value of the different criteria and the distances etc so very useful tool if you want to uh sample on points okay now i want to style this i'm gonna hide uh all the layers and i just keep let's keep this one and the dtm here let me check if uh if this one also had the good and the bad ones the ones in the zeroes no it didn't so should have added that one so i'm going to use this one the wells because i only want to visualize um well i also want to visualize the elevation of the well so let's do this step again so you can also see it so i'm going to remove uh this one uh with sorry the one with all the data because it's missing uh the data from the the the depth of the wells which i also want to visualize um so it doesn't have the true and the false combined with the the depth of the the wells let's just do it again it's very quick so i have to switch them all again point sampling tool and because it makes a copy of course it doesn't add it to the existing one so you need to select this one the wells accessible and um we need uh the depth of it so the well depth that's this one and for now i leave the others out so you can also see how that works in fields i just call this one depth and i'm going to output it and i call this wells with depth okay so i get now if they're accessible or not and i get their depth and that's what i would like to present to the end user the municipality in this case so now it's time to do the styling and i'm going to show you a few new features that are described also in the book so go to the layer styling panel and uh first of all i want to make categories so i choose here categorized and we use the categories from the accessibility if it's one or if it's zero i want to show that and then i click classify so i get zero and i get one and i get these all other classes that if there's no data uh so it's not one or zero then it belongs in this class it's always added in the renderer but uh we don't need it so we remove that one and uh now i want to change the colors so you can double click on the color and i want to make this one red because it's false and i want to make the other one green and i make it a bit bigger four and uh i have to hide a few layers here otherwise it gets a bit confused so until the dm everything that's below the dm cannot be seen except that with the distance calculation maybe we lost a layer here or the dm is a little bit smaller the next thing that i'm going to do to make the visualization better is we can go here to the layer rendering and i'm going to use some of these draw effects so i switch on the draw effects and go to this uh button here customize effects and there you can give all kinds of effects to your points layer in this case i want to drop shadow here it is the source one is of the original data so if i switch it off i only see the shadow so if you keep the source on you can get these other effects around the original point so in this case i do drop shadow and if you click on then that effect you can also change then some parameters so i'm going to make this shadow a bit smaller maybe maybe use their failure of one and now we see that so that's that's very nice to use these effects then we need some labels because i want to show the depth of those wells from the colors the user can see which are accessible which aren't and then with the value i want to show the depth so i go here to the label engine and i choose here single labels and uh yeah we want to show the depth but that doesn't really look nice if we do it like this so let me tune this a little bit let's first make sure that we have all the information in there so i go to this button here where i can add some functions and what i first want is a string and we learned last time that you put that in single quotes so well depth that's in single quotes and i'm just going to remove this so we can see in real time what happened so now the output of this is just well depth for every point and i can add something to that with this button can concatenate and now i can add the well depth to that but i want it on a new line so i use this new line button then it jumps to the next line and i go here to fields and values and i can add here depth by double clicking on it and you see it uses double quotes there but i forgot to concatenate so you see the expression is invalid and um so i need to add and now you see it also appearing here in the example but this has a lot of decimals so i also want to change the format of the number so there are functions for that we also used it in the beginning so format number is a function so i add it here it opens a bracket and it just needs the amount of decimals so i add here two decimals that will be sufficient for us and there we see now 44.06 they also want a unit so i'm going to add again a string put a single quote space meters and now it says well depth 44.06 meters that that's what i want so i do okay and now we see it is implemented then i want to change a few things here so i'm going to change the font to sans serif for example make it a bit smaller and what i want is to change the placement the video ends a bit abruptly here because the recording ended but i hope you enjoyed this webinar and looking forward to see you at the next one next friday where we're going to cover extreme and catchment delineation