Planning for rainy days: optimizing school calendars with precipitation data and QGIS
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 156 | |
Author | ||
Contributors | ||
License | CC Attribution 3.0 Unported: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/68513 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
| |
Keywords |
00:00
Streaming mediaPersonal area networkState of matterPlanningSystem programmingSoftwareCore dumpPresentation of a groupLecture/ConferenceComputer animation
00:33
Core dumpState of matterPlanningSystem programmingSoftwareCondition numberLocal ringFaktorenanalyseCharacteristic polynomialMechanism designCross-correlationNegative numberProjective planeRight angleChannel capacitySoftware developerPlanningPhysical systemState of matterMultiplication signComputer animation
01:44
Mechanism designWide area networkCross-correlationNegative numberCondition numberFaktorenanalyseLocal ringCharacteristic polynomialMechanism designCharacteristic polynomialDivisorCondition numberField (computer science)Multiplication signLink (knot theory)Computer animation
03:05
FaktorenanalyseLocal ringCharacteristic polynomialCross-correlationNegative numberMechanism designDialectSound effectWebDAVLink (knot theory)Projective planeTouchscreenComputer animation
03:24
Sound effectPhase transitionMathematical analysisPrinciple of localityVector potentialComputer configurationImplementationData analysisExtreme programmingInformationSubsetGroup actionFocus (optics)WebsiteObservational studyMathematical optimizationLocal ringTask (computing)MereologyGoogle EarthBoundary value problemScripting languageProcess (computing)FrequencyTemporal logicExecution unitProjective planeFrequencyAverageDecision theoryLevel (video gaming)Point (geometry)Task (computing)Scripting languageImplementationLocal ringOnline helpMathematical analysisMultiplication signBoundary value problemScaling (geometry)Different (Kate Ryan album)AreaData analysisPattern languagePairwise comparisonTemporal logicMathematical optimizationCycle (graph theory)MereologyPersonal digital assistantComputer configurationPlug-in (computing)BuildingComputer animationXML
05:56
Mathematical optimizationFrequencyTemporal logicExecution unitMathematical analysisTask (computing)Boundary value problemGoogle EarthPhase transitionMereologyData analysisPlug-in (computing)Scripting languageProcess (computing)AreaScripting languageDifferent (Kate Ryan album)Plug-in (computing)Projective planeProcess (computing)Thermodynamischer ProzessMereologyMathematical analysisResultantSlide ruleComputer animation
07:03
Process (computing)AverageAreaDifferent (Kate Ryan album)Phase transitionScripting languageDialectLine (geometry)Software frameworkSequenceAlgorithmComputer animationProgram flowchart
08:06
Google EarthAreaAverageProcess (computing)Arithmetic meanView (database)Point (geometry)AverageMultiplication signFrame problemResultantSlide ruleFrequencyMusical ensembleMathematical analysisLevel (video gaming)AreaComputer animation
09:24
MeasurementInternet forumParameter (computer programming)Google EarthStapeldateiProcess (computing)AreaMenu (computing)Software frameworkProcess (computing)Computer animation
09:43
Google EarthAreaInternet forumMeasurementProcess (computing)LoginParameter (computer programming)Inclusion mapDivision (mathematics)StapeldateiMathematical analysisCalculationVector spacePolygonArithmetic meanOpen setFunction (mathematics)AlgorithmFrequencyoutputThresholding (image processing)Term (mathematics)CASE <Informatik>Validity (statistics)Projective planeCuboidSatelliteExtension (kinesiology)Computer configurationFrame problemScripting languageMultiplication signSet (mathematics)Pattern languageThresholding (image processing)Arithmetic meanResultantLimit (category theory)Default (computer science)outputFrequencyProcess (computing)AlgorithmMusical ensembleAreaLevel (video gaming)Medical imagingVector spaceGraph coloringMathematical analysisLengthTable (information)Attribute grammarRight angleRaster graphicsFilm editingMixed realityNumberRepetitionParameter (computer programming)Cellular automatonComputer animationProgram flowchart
16:56
Parameter (computer programming)StapeldateiThermodynamischer ProzessAlgorithmScripting languagePlug-in (computing)Least squaresComputer-assisted translationFrequencyClient (computing)Price indexDivision (mathematics)Different (Kate Ryan album)AreaPresentation of a groupCondition numberParameter (computer programming)MereologyMultiplication signAlgorithmPoint (geometry)Mathematical analysisMathematicsPlug-in (computing)Scripting languageOcean currentProjective planeSoftware frameworkControl flowProcess (computing)ResultantStapeldateiFiber bundleSet (mathematics)Computer animationLecture/ConferenceMeeting/Interview
24:09
Special unitary groupComputer-assisted translationLeast squaresLecture/ConferenceMeeting/InterviewComputer animation
Transcript: English(auto-generated)
00:00
So welcome to this GISPO session. I'm Mary and this is my colleague Juho, and we also had our friends from Unesco, IAP, with presenting or preparing the presentation, but unfortunately Amelie and Herman could not be here today. Who are we? We are a FOSFOTG company. We develop, we train, we support and maintain
00:24
all things FOSFOTG, basically, shortly said. GISPO was founded in 2012, and last year we were joined by GISPO Sweden. And now we've been working with UNESCO IIEP, which stands for International Institute for Educational Planning.
00:44
And her mission is to strengthen the capacities of UNESCO member states, and to plan and manage their education systems. They believe that education is a basic human right, and all individuals should have access to education, so that
01:01
they can live decent lives and access and exercise their rights. And we've been doing some work with Unesco before, and these are very fun projects because it's kind of a making a better world. Basically, we come down to Sustainable Development Core 4, which is quality education, and
01:22
there have been challenges in Sub-Saharan Africa in reaching this goal. So UNESCO IIEP is working on this, and there is some research behind it, which says that the time devoted to teaching and learning has crucial role in learning outcomes.
01:43
And basically what this means is the more time you spend in school, the more time you learn. And what defines how much time you actually spend in school is also the school calendar. And in Sub-Saharan Africa,
02:01
school calendars are very uniform throughout national territories and even across the countries. And they are mostly inherited from colonial times, so they pretty much neglect the local factors. That may interfere with the school attendance.
02:21
For example, climatic seasonal factors. If there is heavy rain, the children might not get to the school. Or cyclical activities like agriculture. If the children are on the fields collecting crops, they are not in school. Or economic characteristics like tourism. If the children are selling stuff to tourists, they are not in school.
02:44
But what we are focusing here is the rainfall. And there are two kind of mechanisms that have been proven to hinder the presence in school. So the children can't get to the school if it's too much rain. Or then the conditions in the school are too difficult to learn and study
03:04
because of the rain. We put some links in here, so if you want to study more about the research behind this, you can go there. So UNESCO has started this rather large project, and this is the screens of the project brochure that I wanted to show you because of the picture.
03:25
So this is what it means that you can't learn or study in the school during the heavy rain period. It is a large project. They are trying to build policy guidance and technical assistance to countries so that they can develop their own optimal local school calendars.
03:47
This has five phases. First, there's the desk research going on. What kind of school calendars are and what's happening in Africa anyway? And then there's the data analysis
04:00
with meteorological data and also agricultural cycles and stuff. Then there is country work going on selected countries to help them develop the optimal local school calendars in the countries that are interested in doing so. And then they also help developing the
04:21
policy options and guidance and also support implementation and offer technical support. But this is what the UNESCO is doing, and our part in this rather large project has to do with the data analysis. We were tasked to sign or create a tool that would find optimal time periods for school calendars.
04:47
It would analyze precipitation data and find temporal patterns in different areas, and it should also compare precipitation patterns in different areas. UNESCO wanted us to use data from Google Earth Engine, and because
05:03
national borders are kind of a sensitive thing, we were asked to use UNSALP boundaries for the analysis. There was also ways to do it in Python, ProcessingScript, or even develop a QGIS plugin.
05:20
So after this task, we had some questions about scale of time. Do we look at daily, or are we maybe looking on weekly levels? Is this week suitable for school week or not? And then the data is from several years. Are we supposed to calculate kind of an average year and
05:44
help make the decisions based on that, or are we supposed to look each year separately? The point in having the average year is kind of that you don't accidentally make decisions based on a year that is not like typical year in there.
06:03
And then we were wondering, what does the result of the analysis need to look like? This was, I think, the hardest part in the beginning of the process. What are we actually making, and what should it produce? And then the result, of course, the question, how much is too much rain?
06:22
How much rain does prevent going to school, and how much rain does prevent learning in the school? But what we actually did, I will let Johan tell you. Thank you. So let's move to the next slide. So we ended up
06:46
making, the result of this project was a QGIS plugin which consists of four different processing scripts. So we used the QGIS
07:01
processing framework, and these scripts are supposed to be used in sequence. So one after the other. And the first script, as you can see, is for downloading the data. So this is a script that
07:25
downloads the data from Google Earth Engine that can then be used in the other algorithms here. And the reason why there's this kind of dividing line in the middle, is that this data download phase is supposed to be
07:45
mostly a one-time thing. So you choose a large area, download all that data, and then you repeat steps two, three, and four to different sub-regions of that bigger area that you've already
08:04
downloaded. So I'll go over these steps more in detail in the next slides, but the next step here is to do a what is called daily mean analysis, which basically
08:23
we calculate the average precipitation of a given area for each day in a certain time frame. And then the third one is to take that, take those daily average values and
08:43
find a, find the longest periods in there that are uninterrupted by excessive rainfall. So those time periods, which from the point of view of precipitation, would be most suitable for the school year.
09:04
And then the final step is to visualize the results of steps two and three, and to create this kind of chart or a calendar heat map that shows the results pretty, pretty clearly in my opinion.
09:24
Skip over that one. So here is, we used the QGIS processing framework as I said, so this might look familiar to you if you've ever used QGIS processing. Uses the same UI here.
09:42
So this is the menu for the first script, which is the data download script. So here what you can do is you can choose a data set. There's only two options to choose from. The default one is this GPM
10:02
global precipitation measurement data set, which is derived from satellite data and produced by NASA. Google Earth Engine data is mostly in a raster format and
10:20
it's not entirely open data, so you have to have a valid Google Earth Engine project. In this case, the data is used for research, so it was okay for us to use it, but there are some limitations to that.
10:42
And then you, after choosing the data set, you choose the time frame that you want to inspect. So, the starting year and the end year, and then you choose the area that you want to download, and this is done by selecting an extent or just a bounding box of a certain area. And in this project, we were concerned with Africa, so
11:08
during this project, we downloaded data for the entirety of Africa from, I think, 2019 to 2023. And
11:22
yeah, then you can, once you've downloaded that data, you can repeat these next steps to any given sub-region of the bigger data set. So here, you can use any valid vector layer works here.
11:42
You select that, and then what this tool does, it's pretty simple, it just takes that area and calculates the average precipitation for each day in the time period that is included in the
12:01
data set that you downloaded. So here is maybe the most important script, the third one, which is called uninterrupted period analysis.
12:21
So here, you give the, as an input layer, the results from the last step, which is just a vector layer that contains a feature for each day in the time period and the mean precipitation of that day.
12:40
And this goes through those days and tries to find the most, kind of the patterns of precipitation where there isn't too much precipitation. And the way this works is that you set a certain threshold that you can customize.
13:05
That's one of the parameters here that you can set. And the way it works, you basically, it basically goes through each day and then it checks ahead x number of days. So in this example,
13:22
it checks ahead one week and then if three out of those seven days exceed the threshold that you set, then that cuts the period that we're kind of counting up currently, that cuts it and then we start looking for the next
13:41
next uninterrupted period. And typically you probably want to find the longest period in each year that is in the data set. So that's the default value here. You can also choose to keep more of them,
14:01
but typically you probably only want one per year. And then this produces, I don't know how well you can see, but in the right hand corner there's a an attribute table of the
14:23
vector lay that this algorithm produces. So it contains the length of the period in days and then the starting date and the end date. And then the final one is
14:40
called create calendar heat map. This is also a processing script and the main purpose here is to just visualize the results from steps two and three. So you give those layers from the previous steps as input and then you can also
15:03
have some options to customize mainly the colors of the resulting heat map. You can choose, I mean there's two options, you can either save it as a PDF file or a PNG image.
15:28
here's an example of the results of the final processing script. So this is the calendar heat map chart or whatever you want to call it.
15:43
So in here each one of these cells represent one day and they are colored according to the mean precipitation value of that day. And as you can see, there's a lot of red cells and what those represent
16:05
is days that exceed the unsuitability threshold that you set prior in the third script. Sorry, yeah, yeah, yeah the third one.
16:21
Mixing those up. And then the green borders represent the longest uninterrupted periods. So as you can see, there are some red days included in those uninterrupted periods.
16:42
And that is an example how we're kind of trying to look for patterns of precipitation and we don't necessarily want to, if there's one outlying day that doesn't necessarily have to kind of cut the period or stop the period.
17:02
So that's the idea here and as you can see the algorithms have found that it's kind of in the summer period where you get a lot more rain. I actually forget which area this was, do you happen to remember?
17:22
Maybe Angola, yeah. It's been a while since I took this picture. All right. So
17:40
as mentioned initially we developed these as just standalone Python scripts, but then UNESCO wanted us to kind of bundle them into a plugin, which definitely makes sense because they're very,
18:02
you know, you're supposed to use these scripts together and it makes sense to bundle them together. The plugin currently is not available publicly. I believe it's supposed to be opened up.
18:21
And we tried to make the plugin adjustable so that you can use any borders, any area that you want to run the analysis on you can. And the idea was to specifically run it for different administrative divisions
18:42
that the S-A-L-B data set contains. So, you know, you might not necessarily want the same school calendar in you know, let's say the northern part of your country than you have in the southern part of your country because the climatic conditions can be very different.
19:04
And also you can adjust the parameters so you can kind of play around with the values there and and get different results based on them.
19:21
I think I'm just about off time, but just, yeah. As a final point, because we're using the processing framework, it's pretty efficient and it can also, or you can also use the built-in batch processing that QGIS has
19:42
and you could even utilize the scripts in standalone Python scripts because the QGIS Python API enables that as well. So you can also automate things if you want to, or if you have to run many different areas at once.
20:03
Okay. I think that was it. Do you have anything to add? I can still answer the last two questions. How much is too much rain? We don't know and we don't need to know because whoever is going to use this to analyze things gets to decide and
20:20
experiment with that. And also, how is this plugin used in practice? We still don't know, but we are hoping to hear from our friends at UNESCO to hear how they are actually using it. Yes, thank you.
20:42
Thank you for your presentation. We will have five minutes for questions and then we will take five minutes break and go to the next presentation. So are there any questions to the presentation that we just heard?
21:08
Thank you for the presentation. It was really interesting. I was wondering if you experimented yourself with the kind of areas that you used. So if there was a big difference in
21:22
in what borders you used, for example, if you use the administrative borders or maybe more borders for the climate or something like that. I did try different areas, but maybe not kind of systematically as you maybe meant.
21:43
So I did try the different countries and different areas within countries. And there definitely are can be significant differences even inside a country depending on the the sub-region or the
22:01
division of the country. Is this still an ongoing project? Yes and no. For our part, as far as I currently know,
22:21
our part is kind of done. But the bigger project that we were only a small part of is still ongoing and we're kind of hoping to hear from the results of of when this gets used in practice.
22:47
I wonder if you've already got some indication from your client when it comes to the results. Do you think the results will lead to changes in the current school calendars?
23:01
Big changes? And what kind of changes? Well, we are not there yet or they are not. This is out of our hands already. But it really looks like and of course the school calendars are inherited from the colonial times. So what it was good at that time in Britain probably was never good in Africa.
23:22
So it will hopefully cause changes, but it has to do with the local governments and what they want to do. Yeah, the point is to produce policy proposals and that's kind of the main point and then how governments choose to apply those is maybe a different question as well.
23:49
But hopefully it will be helpful. We have time for the last question if there's some.
24:04
Seems like not, so thank you for your presentation and we will take a five minute break. Thank you.