<div class="xblock xblock-public_view xblock-public_view-vertical" data-course-id="course-v1:digitalearthafrica+DEA101+2021" data-init="VerticalStudentView" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="vertical" data-usage-id="block-v1:digitalearthafrica+DEA101+2021+type@vertical+block@e5c5470e3586486ab29dffcd1803199c" data-request-token="09b498da4d0211f1b4d66b8c55c4de7e" data-graded="False" data-has-score="False">
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@761c7b563d34429a8fd67d559f94e513">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-course-id="course-v1:digitalearthafrica+DEA101+2021" data-init="XBlockToXModuleShim" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="html" data-usage-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@761c7b563d34429a8fd67d559f94e513" data-request-token="09b498da4d0211f1b4d66b8c55c4de7e" data-graded="False" data-has-score="False">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<p class="pf0"><span class="cf0">Now that you have learned to open and close notebooks, this section will teach you how to run an analysis using one of the existing </span><span class="cf0">Jupyter</span><span class="cf0"> notebooks. This will teach you the initial knowledge to be used in later sessions.</span></p>
<p class="pf0"><span class="cf0">Jupyter</span><span class="cf0"> is an interactive coding environment compatible with the programming language Python. Digital Earth Africa is based on a Python library called the <a href="https://www.opendatacube.org/" target="_blank">Open Data Cube</a>, so the Sandbox contains Python-based notebooks. </span></p>
<p class="pf0"><span class="cf0">It is helpful, but not required, to be familiar with Python programming.</span></p>
<p class="pf0"><span class="cf0"><strong>Watch this video</strong>: <a href="https://www.youtube.com/watch?v=ecVjImPy2_A" target="_blank">Working with Notebooks - measure crop health</a></span></p>
</div>
</div>
</div>
<script type="text/javascript">
(function (require) {
require(['/static/js/dateutil_factory.be68acdff619.js?raw'], function () {
require(['js/dateutil_factory'], function (DateUtilFactory) {
DateUtilFactory.transform('.localized-datetime');
});
});
}).call(this, require || RequireJS.require);
</script>
<script>
function emit_event(message) {
parent.postMessage(message, '*');
}
</script>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-course-id="course-v1:digitalearthafrica+DEA101+2021" data-init="VerticalStudentView" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="vertical" data-usage-id="block-v1:digitalearthafrica+DEA101+2021+type@vertical+block@cd396f5c537c4d7d9f57e52362e352b7" data-request-token="09b498da4d0211f1b4d66b8c55c4de7e" data-graded="False" data-has-score="False">
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@770209e263014279a554b67d30932191">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-course-id="course-v1:digitalearthafrica+DEA101+2021" data-init="XBlockToXModuleShim" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="html" data-usage-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@770209e263014279a554b67d30932191" data-request-token="09b498da4d0211f1b4d66b8c55c4de7e" data-graded="False" data-has-score="False">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<p><span class="cf0">This activity will demonstrate how to run one of the <strong>Digital Earth Africa Sandbox notebooks</strong>. The notebook is a real world example showing how to measure crop health. Follow the instructions below to create your own copy of the notebook. The next unit will cover how to run the notebook.</span></p>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@c6e3cdfaaf6e4fb88bf38a2a8e69f5c3">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-course-id="course-v1:digitalearthafrica+DEA101+2021" data-init="XBlockToXModuleShim" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="html" data-usage-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@c6e3cdfaaf6e4fb88bf38a2a8e69f5c3" data-request-token="09b498da4d0211f1b4d66b8c55c4de7e" data-graded="False" data-has-score="False">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<h3><strong><span class="cf0">5.3.2.1 Make a "Training" folder</span></strong></h3>
<p><span class="cf0">The Sandbox comes with a large number of existing notebooks, which you can use as reference material. To keep these in their original format, we recommend making a copy of a notebook when you want to run it. For the rest of this training material, we will ask you to make copies of notebooks and store them in a new <strong>Training</strong> folder. Follow the instructions below to set up this folder and add a copy of the notebook for this session.</span></p>
<p style="padding-left: 30px;"><span class="cf0">1. </span><span style="font-size: 1em;">Click the <strong>Folder icon</strong> in the folder path to make sure you’re in the <strong>Home</strong> folder.</span></p>
<p><span style="font-size: 1em;"><img height="290" width="500" src="/assets/courseware/v1/caaa2841300d3669e13a4e435590f4cb/asset-v1:digitalearthafrica+DEA101+2021+type@asset+block/Image34.png" alt="Image with home folder" /></span></p>
<p></p>
<p style="padding-left: 30px;">2. <span style="font-size: 1em;">Click the <strong>New Folder</strong> icon and name the new folder <strong>Training</strong>. Press <strong>Enter</strong> to finish creating the folder.</span></p>
<p></p>
<p><span style="font-size: 1em;"><img height="334" width="500" src="/assets/courseware/v1/7ae331b15b07b8e9ef5017c21bf89102/asset-v1:digitalearthafrica+DEA101+2021+type@asset+block/Image35.png" alt="Training" /></span></p>
</div>
</div>
<div class="vert vert-2" data-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@6fca4b1eb2da4746936b3a722f1f2bb8">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-course-id="course-v1:digitalearthafrica+DEA101+2021" data-init="XBlockToXModuleShim" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="html" data-usage-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@6fca4b1eb2da4746936b3a722f1f2bb8" data-request-token="09b498da4d0211f1b4d66b8c55c4de7e" data-graded="False" data-has-score="False">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<h3 class="pf0"><strong><span class="cf0">5.3.2.2 Copy the Crop Health notebook</span></strong></h3>
<p class="pf0"><span class="cf0">The next step is to identify and copy the notebook you want to work on. For this exercise, this will be the </span><code><span class="cf0" style="color: #ff0000;">Crop_health.ipynb</span></code><span class="cf0"> notebook, which is in the </span><strong>Real_world_examples</strong><span class="cf0"> folder. Follow the steps below to copy it.</span></p>
<p class="pf0" style="padding-left: 30px;"><span class="cf0">1. </span><span class="cf0">Double-click the </span><strong>Real_world_examples</strong><span class="cf0"> folder to open it. The </span><span class="cf0" style="color: #ff0000;">Crop_health.ipynb</span><span class="cf0"> notebook is selected in the image below.</span></p>
<p class="pf0"><span class="cf0"><img height="350" width="653" src="/assets/courseware/v1/56125fdbfeb7416394d86d4be31070f8/asset-v1:digitalearthafrica+DEA101+2021+type@asset+block/Image36.png" alt="Real world examples" /></span></p>
<p class="pf0"></p>
<p class="pf0" style="padding-left: 30px;"><span class="cf0">2. Next, right-click on the notebook and click <strong>Duplicate</strong> to create a copy. By default, this will be called <code><span style="color: #ff0000;">Crop_health-Copy1.</span></code></span><code><span class="cf0" style="color: #ff0000;">ipynb</span></code><span class="cf0">.</span></p>
<p class="pf0"><span class="cf0"><img height="397" width="653" src="/assets/courseware/v1/7ba8d56d90da496ac0e1a890194cf0f2/asset-v1:digitalearthafrica+DEA101+2021+type@asset+block/Image37.png" alt="Image" /></span></p>
<p class="pf0"></p>
<p class="pf0" style="padding-left: 30px;">3. <span style="font-size: 1em;">Click and drag <code><span style="color: #ff0000;">Crop_health-Copy1.ipynb</span></code> to the <strong>Folder icon</strong> to move it to the <strong>Home folder</strong>.</span></p>
<p class="pf0"><span style="font-size: 1em;"><img height="360" width="655" src="/assets/courseware/v1/dd5873be6aac2f31716f52c5ef50572b/asset-v1:digitalearthafrica+DEA101+2021+type@asset+block/Image38.png" alt="Image" /></span></p>
<p class="pf0"></p>
<p class="pf0" style="padding-left: 30px;">4. <span style="font-size: 1em;">Return to the <strong>Home</strong> folder by clicking the <strong>Folder</strong> icon. You should see the <code><span style="color: #ff0000;">Crop_health-Copy1.ipynb</span></code> notebook. Click and drag this file to the <strong>Training</strong> folder you created.</span></p>
<p class="pf0"><span style="font-size: 1em;"><img height="359" width="653" src="/assets/courseware/v1/b753b1e177bc8dcbbcc82cf668289118/asset-v1:digitalearthafrica+DEA101+2021+type@asset+block/Image39.png" alt="Image" /></span></p>
<p class="pf0"></p>
<p class="pf0" style="padding-left: 30px;">5. <span class="cf0">Double-click the <strong>Training</strong> folder. Right-click the copied notebook and click <strong>Rename</strong>. Rename the notebook to </span><code><span class="cf0" style="color: #ff0000;">Crop_health.ipynb</span></code><span class="cf0">.</span></p>
<p></p>
<p class="pf0"><span class="cf0"><img height="228" width="661" src="/assets/courseware/v1/4ec62c13c040256369a3414f96b312ed/asset-v1:digitalearthafrica+DEA101+2021+type@asset+block/Image40.png" alt="Image" /></span></p>
</div>
</div>
</div>
<script type="text/javascript">
(function (require) {
require(['/static/js/dateutil_factory.be68acdff619.js?raw'], function () {
require(['js/dateutil_factory'], function (DateUtilFactory) {
DateUtilFactory.transform('.localized-datetime');
});
});
}).call(this, require || RequireJS.require);
</script>
<script>
function emit_event(message) {
parent.postMessage(message, '*');
}
</script>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-course-id="course-v1:digitalearthafrica+DEA101+2021" data-init="VerticalStudentView" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="vertical" data-usage-id="block-v1:digitalearthafrica+DEA101+2021+type@vertical+block@8809756424db4d0f8f23c0c62f7b2038" data-request-token="09b498da4d0211f1b4d66b8c55c4de7e" data-graded="False" data-has-score="False">
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@b9e656fcb24f44e2802bee170784695b">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-course-id="course-v1:digitalearthafrica+DEA101+2021" data-init="XBlockToXModuleShim" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="html" data-usage-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@b9e656fcb24f44e2802bee170784695b" data-request-token="09b498da4d0211f1b4d66b8c55c4de7e" data-graded="False" data-has-score="False">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<h3 class="pf0"><strong><span class="cf0">5.3.3.1 Clearing the notebook</span></strong></h3>
<p class="pf0"><span class="cf0">Notebooks on the Sandbox come pre-run. This means some of the outputs will already be visible, but some will not. It is best practice to restart and clear the notebook before running.</span></p>
<p class="pf0"></p>
<p class="pf0"><span class="cf0">Double-click your copied </span><code><span class="cf0" style="color: #ff0000;">Crop_health.ipynb</span></code><span class="cf0"> notebook to open it.</span></p>
<p class="pf0" style="padding-left: 30px;"><span class="cf0">1. In the main menu, click <strong>Kernel -> Restart Kernel and Clear All Outputs</strong>. When asked whether you want to restart the kernel, click Restart. </span></p>
<p class="pf0"><span class="cf0"><img height="232" width="672" src="/assets/courseware/v1/05268b04b709e07bbc77585f3e39335e/asset-v1:digitalearthafrica+DEA101+2021+type@asset+block/Image41.png" alt="Image" /></span></p>
<p class="pf0" style="padding-left: 30px;"><span class="cf0">2. </span><span style="font-size: 1em;">Read the <strong>Background</strong> and <strong>Description</strong> sections in the notebook to learn more about the notebook.</span></p>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@1d06ff46e0754918b7ae9ccc4f0a28ed">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-course-id="course-v1:digitalearthafrica+DEA101+2021" data-init="XBlockToXModuleShim" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="html" data-usage-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@1d06ff46e0754918b7ae9ccc4f0a28ed" data-request-token="09b498da4d0211f1b4d66b8c55c4de7e" data-graded="False" data-has-score="False">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<h3><strong>5.3.3.2 Loading packages and functions</strong></h3>
<p class="pf0"><code>______________________________________________<br /></code></p>
<p class="pf0"><span style="background-color: transparent; color: #37474f; font-family: 'Roboto Mono', monospace; font-size: 9pt; white-space-collapse: preserve;">%matplotlib inline</span></p>
<p dir="ltr" style="line-height: 1.7999999999999998; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #1967d2; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">import</span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #37474f; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;"> datacube</span></p>
<p dir="ltr" style="line-height: 1.7999999999999998; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #1967d2; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">from</span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #37474f; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;"> deafrica_tools.app.crophealth </span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #1967d2; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">import</span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #37474f; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;"> load_crophealth_data</span></p>
<p dir="ltr" style="line-height: 1.7999999999999998; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #1967d2; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">from</span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #37474f; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;"> deafrica_tools.app.crophealth </span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #1967d2; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">import</span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #37474f; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;"> run_crophealth_app</span></p>
<p><span style="font-family: monospace, serif;">______________________________________________</span></p>
<p class="pf0"></p>
<p class="pf0"><span class="cf0">To load the necessary packages and functions:</span></p>
<ol>
<li><span class="cf0">In the </span><code><span class="cf0" style="color: #ff0000;">Crop_health.ipynb</span></code><span class="cf0"><code><span style="color: #ff0000;"> notebook</span></code>, click on the code cell that matches the code block above.</span></li>
<li><span class="cf0">Press <code><span style="color: #ff0000;">Shift + Enter</span></code> on your keyboard to run the cell.</span></li>
<li>When the cell has finished running, the <code style="background-color: #ffffff;"><span style="color: #ff0000;">[ ]</span></code> icon to the left of the cell should change to <code style="background-color: #ffffff;"><span style="color: #ff0000;">[1]</span></code>, as shown below. This indicates that the cell has finished running. The number <code style="background-color: #ffffff;"><span style="color: #ff0000;">1</span></code> indicates that this was the first cell run in the notebook. </li>
</ol>
<p></p>
<p><img height="139" width="667" src="/assets/courseware/v1/387138fcaec547f761c5de293bcfa6c3/asset-v1:digitalearthafrica+DEA101+2021+type@asset+block/Image42.png" alt="Image" /></p>
</div>
</div>
<div class="vert vert-2" data-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@17a88b22bf5d43eeb80399f552d5a355">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-course-id="course-v1:digitalearthafrica+DEA101+2021" data-init="XBlockToXModuleShim" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="html" data-usage-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@17a88b22bf5d43eeb80399f552d5a355" data-request-token="09b498da4d0211f1b4d66b8c55c4de7e" data-graded="False" data-has-score="False">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<h3 class="pf0"><strong><span class="cf0">5.3.3.3 Picking a study site</span></strong></h3>
<p class="pf0"><span class="cf0">Next, we have to provide the area of interest using latitude, longitude, and a buffer, which describes how many square degrees to load around the set latitude and longitude values. We also set a date. Data from two years up to this date will be loaded.</span></p>
<p class="pf0"></p>
<p class="pf0"><span class="cf0">For now, keep the values that have been set. The notebook will turn this into a bounding box, which will be used to load the data.</span></p>
<p class="pf0" style="padding-left: 30px;"><span class="cf0">1. </span><span style="font-size: 1em;">Click on the cell corresponding to the code block below in the notebook.</span></p>
<p class="pf0"><span style="font-family: monospace, serif;">______________________________________________<br /></span></p>
<p dir="ltr" style="line-height: 1.7999999999999998; margin-top: 10pt; margin-bottom: 0pt;"><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #b80672; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;"># Define the area of interest for the analysis</span></p>
<p dir="ltr" style="line-height: 1.7999999999999998; margin-top: 10pt; margin-bottom: 0pt;"><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #37474f; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">lat</span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #b80672; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;"> </span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #37474f; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">=</span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #b80672; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;"> </span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #c5221f; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">14</span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #37474f; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">.</span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #c5221f; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">789064</span></p>
<p dir="ltr" style="line-height: 1.7999999999999998; margin-top: 10pt; margin-bottom: 0pt;"><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #37474f; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">lon</span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #b80672; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;"> </span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #37474f; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">=</span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #b80672; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;"> </span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #c5221f; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">-17</span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #37474f; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">.</span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #c5221f; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">065202</span></p>
<p dir="ltr" style="line-height: 1.7999999999999998; margin-top: 10pt; margin-bottom: 0pt;"><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #37474f; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">buffer</span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #b80672; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;"> </span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #37474f; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">=</span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #b80672; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;"> </span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #c5221f; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">0</span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #37474f; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">.</span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #c5221f; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">005</span><span style="background-color: transparent; font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #37474f; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">date</span><span style="background-color: transparent; font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #b80672; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;"> </span><span style="background-color: transparent; font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #37474f; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">=</span><span style="background-color: transparent; font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #b80672; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;"> </span><span style="background-color: transparent; font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #188038; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">'2020-08-01'</span></p>
<p class="pf0"><span style="font-family: monospace, serif;">______________________________________________</span><span style="font-family: monospace, serif;"></span></p>
<p class="pf0"></p>
<p class="pf0" style="padding-left: 30px;"><span class="cf0">2. Press <code><span style="color: #ff0000;">Shift + Enter</span></code> on your keyboard to run the cell.</span></p>
<p class="pf0" style="padding-left: 30px;">3. When the cell has finished running, the <span style="color: #ff0000;"><code>[ ]</code></span> icon to the left of the cell should change to<span style="color: #ff0000;"><code> [2]</code></span>.</p>
<p></p>
<p class="pf0"><span class="cf0"><img height="182" width="658" src="/assets/courseware/v1/3e1048390dfb1b9a5a73db029def4e15/asset-v1:digitalearthafrica+DEA101+2021+type@asset+block/Image43.png" alt="Image" /></span></p>
</div>
</div>
<div class="vert vert-3" data-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@3e5b0975900d470280b73698c5b7b266">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-course-id="course-v1:digitalearthafrica+DEA101+2021" data-init="XBlockToXModuleShim" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="html" data-usage-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@3e5b0975900d470280b73698c5b7b266" data-request-token="09b498da4d0211f1b4d66b8c55c4de7e" data-graded="False" data-has-score="False">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<h3 class="pf0"><strong><span class="cf0">5.3.3.4 Loading the data</span></strong></h3>
<p class="pf0"><span class="cf0">This notebook uses a special function called </span><span class="cf0">load_crophealth_data</span><span class="cf0"> to load the required data. Later in this training course, you will learn how to write your own data loading commands.</span></p>
<p class="pf0"><span class="cf0">The cell containing this function is shown in the </span><span class="cf0">codeblock</span><span class="cf0"> below<br /><span style="font-family: monospace, serif;">______________________________________________<br /></span><span id="docs-internal-guid-70c22051-7fff-d37c-79ea-45118ddbe440"><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #37474f; background-color: transparent; font-style: italic; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">dataset</span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #1c1c1c; background-color: transparent; font-style: italic; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;"> </span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #37474f; background-color: transparent; font-style: italic; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">=</span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #1c1c1c; background-color: transparent; font-style: italic; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;"> </span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #37474f; background-color: transparent; font-style: italic; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">load_crophealth_data(lat,</span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #1c1c1c; background-color: transparent; font-style: italic; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;"> </span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #37474f; background-color: transparent; font-style: italic; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">lon,</span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #1c1c1c; background-color: transparent; font-style: italic; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;"> </span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #37474f; background-color: transparent; font-style: italic; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">buffer,</span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #1c1c1c; background-color: transparent; font-style: italic; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;"> </span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #37474f; background-color: transparent; font-style: italic; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">date)</span></span><span style="font-family: monospace, serif;"><br /></span><span style="font-family: monospace, serif;">______________________________________________</span><span style="font-family: monospace, serif;"></span></span></p>
<p class="pf0">The <span id="docs-internal-guid-5952c397-7fff-17ad-e9e2-f9a77970c461"><span style="font-size: 9pt; font-family: 'Courier New', monospace; color: #e74c3c; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">load_crophealth_data</span><span style="font-size: 10.5pt; font-family: Inter, sans-serif; color: #1c1c1c; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;"> </span></span> function goes through a number of steps. It identifies the available Sentinel-2 data over the last two years, then masks the bad quality pixels such as cloud and cloud shadow. After the masking step, the function only keeps images where more than half the pixels are good. Finally, it calculates the Normalised Difference Vegetation Index (NDVI) and returns the data. The returned data are stored in the <span id="docs-internal-guid-fef891b8-7fff-472e-1fe6-bdbbd3173d29"><span style="font-size: 9pt; font-family: 'Courier New', monospace; color: #e74c3c; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">dataset</span></span> object.</p>
<p class="pf0"></p>
<p class="pf0"><span class="cf0">To run the cell:</span></p>
<ol>
<li><span class="cf0">Click on the cell corresponding to the code block above in the notebook.</span></li>
<li><span class="cf0">Press <code><span style="color: #ff0000;">Shift + Enter</span></code> on your keyboard to run the cell. Outputs should start to appear below the cell.</span></li>
<li><span class="cf0">When the cell has finished running, the <code><span style="color: #ff0000;">[ ]</span></code> icon to the left of the cell should change to <code><span style="color: #ff0000;">[3]</span></code>.</span></li>
</ol>
<p></p>
<p><span class="cf0">As the cell is running, you should see outputs describing the function’s actions. The output is shown in the image below:</span></p>
<p><span class="cf0"><img height="158" width="656" src="/assets/courseware/v1/33b75c88b4fea8dfe5d5e07ed33b78bd/asset-v1:digitalearthafrica+DEA101+2021+type@asset+block/Image44.png" alt="Image" /></span></p>
<p></p>
<p><span class="cf0">In this case, the function identified 164 observations over the last 5 years, then kept and loaded 104 that met the quality requirements.</span></p>
</div>
</div>
<div class="vert vert-4" data-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@febc366f2d5e4387bd20cc55a3dbf0a0">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-course-id="course-v1:digitalearthafrica+DEA101+2021" data-init="XBlockToXModuleShim" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="html" data-usage-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@febc366f2d5e4387bd20cc55a3dbf0a0" data-request-token="09b498da4d0211f1b4d66b8c55c4de7e" data-graded="False" data-has-score="False">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<h3 class="pf0"><strong><span class="cf0">5.3.3.5 Running the Crop Health app</span></strong></h3>
<p class="pf0"><span class="cf0">After loading the data, you can visualise the health of various fields using the </span><code><span class="cf0" style="color: #ff0000;">run_crophealth_app</span></code><span class="cf0"> function. This is a special function for this notebook, which takes the <code><span style="color: #ff0000;">dataset</span></code> you loaded, as well as the latitude, longitude and buffer parameters that define the area of interest. It then starts an interactive app that you can use to measure the average NDVI in different fields.</span></p>
<p class="pf0"></p>
<p class="pf0"><span class="cf0">The cell containing this function is shown in the code block below:<br />_______________________________________________________________<br /><span id="docs-internal-guid-37f9c127-7fff-7d8d-f867-e16fe0e930d4"><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #37474f; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">run_crophealth_app(dataset,</span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #1c1c1c; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;"> </span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #37474f; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">lat,</span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #1c1c1c; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;"> </span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #37474f; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">lon,</span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #1c1c1c; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;"> </span><span style="font-size: 9pt; font-family: 'Roboto Mono', monospace; color: #37474f; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-variant-position: normal; font-variant-emoji: normal; vertical-align: baseline; white-space-collapse: preserve;">buffer)</span></span><br />_______________________________________________________________</span></p>
<p class="pf0"></p>
<p class="pf0" style="padding-left: 30px;"><span class="cf0">1. Click on the cell corresponding to the code block above in the notebook.</span></p>
<p class="pf0" style="padding-left: 30px;">2. <span style="font-size: 1em;">Press <code><span style="color: #ff0000;">Shift + Enter</span></code> on your keyboard to run the cell. An interactive app should appear, as shown in the image below:</span></p>
<p class="pf0"><span style="font-size: 1em;"><img height="420" width="655" src="/assets/courseware/v1/dab34fe1164430fd200d1d3700b52a78/asset-v1:digitalearthafrica+DEA101+2021+type@asset+block/Image45.png" alt="Image" /></span></p>
<p class="pf0"></p>
<p class="pf0" style="padding-left: 30px;">3. <span style="font-size: 1em;">The left-hand side of the app contains a map, which will allow you to draw a polygon around a field of interest. Click the <strong>Polygon icon</strong>, then click points on the map to outline an area, as shown below:</span></p>
<p class="pf0"><span style="font-size: 1em;"><img height="419" width="654" src="/assets/courseware/v1/a1b47c879cedbdbf0ac01f3d089226b3/asset-v1:digitalearthafrica+DEA101+2021+type@asset+block/Image46.png" alt="Image" /></span></p>
<p class="pf0"><span class="cf0"><strong>Note:</strong> The map in this app shows an ESRI </span><span class="cf0">basemap</span><span class="cf0"> which is higher resolution than the Sentinel-2 data used to calculate the NDVI index. The purpose of the map is to guide you in drawing field boundaries.<br /><br /></span></p>
<p class="pf0" style="padding-left: 30px;"><span class="cf0">4. </span>Click the first point of the polygon to finish selecting the area. The app will then calculate the average NDVI for that area and display it on the right-hand side of the app, as shown below:</p>
<p class="pf0"><img height="295" width="658" src="/assets/courseware/v1/7e7291a434554bf0e90263e13eb2e480/asset-v1:digitalearthafrica+DEA101+2021+type@asset+block/Image47.png" alt="Image" /><br /><br /></p>
<p class="pf0" style="padding-left: 30px;">5. <span style="font-size: 1em;">The cycles in the graph are likely related to growth and harvesting events. </span>It is possible to draw multiple polygons and compare the vegetation index over time of different fields. Click the <strong>Polygon icon</strong> to draw a second polygon:</p>
<p></p>
<p class="pf0"><img height="291" width="657" src="/assets/courseware/v1/b8ddd7923811a8978dc03f36bb2fcf53/asset-v1:digitalearthafrica+DEA101+2021+type@asset+block/Image48.png" alt="Image" /></p>
</div>
</div>
</div>
<script type="text/javascript">
(function (require) {
require(['/static/js/dateutil_factory.be68acdff619.js?raw'], function () {
require(['js/dateutil_factory'], function (DateUtilFactory) {
DateUtilFactory.transform('.localized-datetime');
});
});
}).call(this, require || RequireJS.require);
</script>
<script>
function emit_event(message) {
parent.postMessage(message, '*');
}
</script>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-course-id="course-v1:digitalearthafrica+DEA101+2021" data-init="VerticalStudentView" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="vertical" data-usage-id="block-v1:digitalearthafrica+DEA101+2021+type@vertical+block@21d7db4c9c1440e189a036caeb8d7da0" data-request-token="09b498da4d0211f1b4d66b8c55c4de7e" data-graded="False" data-has-score="False">
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@a1ea2a9369c94fba88b5e7aed58ca247">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-course-id="course-v1:digitalearthafrica+DEA101+2021" data-init="XBlockToXModuleShim" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="html" data-usage-id="block-v1:digitalearthafrica+DEA101+2021+type@html+block@a1ea2a9369c94fba88b5e7aed58ca247" data-request-token="09b498da4d0211f1b4d66b8c55c4de7e" data-graded="False" data-has-score="False">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<p><span class="cf0">If you would like to learn more about Python coding, check out the <a href="https://learn.digitalearthafrica.org/courses/course-v1:digitalearthafrica+DEA101+2021/courseware/e7f02990db074390b22910fbb6d18041/7dab7ba47e0949078964a2c431c88881/?activate_block_id=block-v1%3Adigitalearthafrica%2BDEA101%2B2021%2Btype%40sequential%2Bblock%407dab7ba47e0949078964a2c431c88881" target="_blank">Python Basics</a> session. This is an optional course and not a necessity for finishing the second part of this Introduction course.</span></p>
</div>
</div>
</div>
<script type="text/javascript">
(function (require) {
require(['/static/js/dateutil_factory.be68acdff619.js?raw'], function () {
require(['js/dateutil_factory'], function (DateUtilFactory) {
DateUtilFactory.transform('.localized-datetime');
});
});
}).call(this, require || RequireJS.require);
</script>
<script>
function emit_event(message) {
parent.postMessage(message, '*');
}
</script>
</div>