This is an old revision of the document!


PHP's gd library is missing or unable to create PNG images


LESSON 14: Using "For" to make successive calculations


In this lesson we will calculate the biomass of the expanded Legal Amazon Protected Areas per year. For this, we will use:

  • The protected areas map in the year 2000 Guidebook_Dinamica_5/Database/Protected_areas/protected_areas_2000.tif
  • The protected areas map in the year 2006 Guidebook_Dinamica_5/Database/Protected_areas/protected_areas_2006.tif
  • The Legal Amazon Biomass map Guidebook_Dinamica_5/Database/biomass/biomass.tif


Initially, we must open all the files that will be used. Grab two Load Categorical Map functors and place them on the sketch. Double click each Load Categorical Map and open the protected areas map files for 2000 and 2006. Also grab and place one Load Map and open the Legal Amazon Biomass map.



Grab and place on the sketch one Calculate Map. Click on the hook tool to insert three Number Maps. Assign a number to each Number Value. Connect the Load Map and Load Categorical Map to the Number Map functors.



Now, write the following code inside of Calculate Map to calculate the biomass in expanded protected areas (2000-2006) using the Number Map functors:

  if not isNull(i2) and isNull(i3) then
      i1
  else 
      null




Select the IEEE 754 32 bit real as the data cell type. Grab and place on the sketch a Save map and connect Calculate Map to it. Open Save Map, browse to Guidebook_Dinamica_5/Models/Set_3/basics/3_calculate map4/ and chose a file name (e.g. expanded protected areas biomass.tif). Grab and place on the sketch Extract map attributes and connect Calculate Map to it.



Now, grab and place on the sketch one Calculate value functor. Click on the hook tool to create three hook functors inside the Calculate Map: one Number table and two Number value functors. Click on the Number value functor and number table with the Functor Editor tool and enter “1”, “2” and “3”, respectively. This is a number identifier for each element and will be represented within the equation box as v1 (value 1), v2 (value 2) and t1 (table 1) respectively.
Grab and place on the sketch two Real value functors to insert a double precision real constant: A CO2 conversion factor (3.666) and a Carbon Content (0.47). Connect the Extract map attributes Map to Number Table and the two Real Value functors to Number Value Functor inside the Calculate Value.



Now, write the following equation inside to Calculate Map to calculate CO2 content in expanded protected areas (2000-2006):

  t1["cellSum"] * t1["cellArea"] * v1 * v2





TIP: You can copy an equation from a text editor (using Ctrl+C) and paste it in the equation box (using Ctrl+V).



Grab and place on the sketch one Set Lookup Table Value Functor to insert the calculate values into a lookup table. It is important to pay attention to add correctly the key to the line in which the value will be inserted.



Click on the Input/output from the library window, grab and place on the sketch the Save Lookup Table functor.
Connect the Set Lookup Table Value to Save Lookup Table. Open Save Table, browse to ''Guidebook_Dinamica_5/Models/Set_3/basics/3_calculate map4/ and write the name file (expanded protected areas co2.csv).
Save and run the model.
Click on the Execute Layout and your final model will look like the one below:



Now, click on eye button of “Save Lookup Table” to see the result. This functor output is table that looks like this:



Now, an output map and an output table are produced for each iteration, Calculate Map outputs a map containing the remaining forest for each category.
Grab the container Repeat from the Control tab and place it on the sketch. Drag the previous model into it:


Double-click the For container and in the window that opens enter the values 1 as the initial step and 3 as the final step:


\\ The Step functor associates to the enveloping container passes to Calculate Map the current step (1 to 3, that refer to each type of protected area). Thus for each iteration Calculate Map produces a map containing the current Amazon Protected areas for each time step.

Now you need to fill in a table in order to store the area calculated for each category. To close this loop, you will need a functor that is key to the development of dynamic models.

Mark the eye button at the top of “Save Table” to viewer the results hereafter.

Save and run the model!

The final result will be 3 biomass maps and 3 tables (one for each category).

Congratulations, you have successfully completed this lesson! Now let’s move to the next lesson: LESSON 15: Using "while" to make successive calculations