Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
tutorial:incorporating_iterations_into_a_model [2017/01/02 19:52]
isabella
tutorial:incorporating_iterations_into_a_model [2017/01/25 17:56] (current)
francisco [What will you learn?]
Line 31: Line 31:
 Now assign a number to each //[[:Number Map]]// and then connect //[[:Load Map]]// and //[[:Load Categorical Map]]// to them.{{ :​tutorial:​inc._it._model_2.jpg |}} Now assign a number to each //[[:Number Map]]// and then connect //[[:Load Map]]// and //[[:Load Categorical Map]]// to them.{{ :​tutorial:​inc._it._model_2.jpg |}}
  
-Load ''​amazon_states.tif''​ using the //[[:Load Categorical Map]]// and "​Brazilian_amazon_landscape.tif"​ with //[[:Load Map]]//. Add a //[[:Number Value]]// from Map Algebra Supplementary tab inside ​the //​[[:​Calculate Map]]//, assign "​1"​ to it and write the following equation: \\+Load ''​amazon_states.tif''​ using the //[[:Load Categorical Map]]// and "​Brazilian_amazon_landscape.tif"​ with //[[:Load Map]]//. Add a //[[:Number Value]]// from hook tool in the //​[[:​Calculate Map]]//, assign "​1"​ to it and write the following equation: \\
 \\ **if i1 = v1 and i2 = 2 then 1 else null** \\ **if i1 = v1 and i2 = 2 then 1 else null**
  
Line 54: Line 54:
 Now you need to sum all cells that represent forest. Note that the output is a binary map with only ones and nulls, the latter is represented by zero. Next, use //​[[:​Extract Map Attributes]]//​ (Map Algebra tab) to extract the sum of non-null cells. ​ This functor produces as output a table with   ​[[:​extract_map_attributes#​Notes|these map attributes]].{{ :​tutorial:​inc._it._model_6.jpg |}} Now you need to sum all cells that represent forest. Note that the output is a binary map with only ones and nulls, the latter is represented by zero. Next, use //​[[:​Extract Map Attributes]]//​ (Map Algebra tab) to extract the sum of non-null cells. ​ This functor produces as output a table with   ​[[:​extract_map_attributes#​Notes|these map attributes]].{{ :​tutorial:​inc._it._model_6.jpg |}}
  
-The area extent is the sum of non-null cells (field 9) multiplied by the cell area in hectares (field 7). You need to add one //​[[:​Calculate Value]]//, located in the Table tab, to perform this calculation. Also, drag one //[[:Number Table]]// ​into it (from Map Algebra Supplementary tab), which will receive the attribute table output from //​[[:​Extract Map Attributes]]//​. You need to enter "​1"​ to assign an identifier for this table. Finally, write:\\ **t1[7]*t1[9]**\\ (cell area (in hectares) * sum of the values (excluding null cells))+The area extent is the sum of non-null cells (field 9) multiplied by the cell area in hectares (field 7). You need to add one //​[[:​Calculate Value]]//, located in the Table tab, to perform this calculation. Also, select ​one //[[:Number Table]]// ​clicking in Create a hook (magnet iconinside functor action bar, which will receive the attribute table output from //​[[:​Extract Map Attributes]]//​. You need to enter "​1"​ to assign an identifier for this table. Finally, write:\\ **t1[7]*t1[9]**\\ (cell area (in hectares) * sum of the values (excluding null cells))
  
 <note tip>​**TIP**:​ You can replace the\\ <note tip>​**TIP**:​ You can replace the\\
Line 73: Line 73:
 Now you need to fill in a table in order to store the area calculated for each state. The functor [[:​set_lookup_table_value|Set Lookup Table Value]] updates a lookup table placing a value to a position defined by a key. To fill in the entire lookup table, you need to develop a loop that enables this functor to browse through the lookup table. To close this loop, you will need a functor that is key to the development of dynamic models. Here we introduce the concept of Mux functor. Now you need to fill in a table in order to store the area calculated for each state. The functor [[:​set_lookup_table_value|Set Lookup Table Value]] updates a lookup table placing a value to a position defined by a key. To fill in the entire lookup table, you need to develop a loop that enables this functor to browse through the lookup table. To close this loop, you will need a functor that is key to the development of dynamic models. Here we introduce the concept of Mux functor.
  
-A //Mux// functor can be a map, a categorical map, a lookup table, a table or a value. Look at the Control tab to find //[[:Mux Lookup Table]]// and drag it into //​[[:​Repeat]]//​. Also drag //[[:Set Lookup Table Value]]// from the Table tab.+A //Mux// functor can be a map, a categorical map, a lookup table, a table or a value. Look at the Control tab to find //[[:Mux Lookup Table]]// and drag it into //​[[:​Repeat]]//​. Also drag //[[:Set Lookup Table Value]]// from the Lookup ​Table tab.
  
 {{ :​tutorial:​inc._it._model_9.jpg |}} {{ :​tutorial:​inc._it._model_9.jpg |}}
Line 121: Line 121:
 <note tip>​**TIP**:​ If //[[:Save Map]]// is placed inside //​[[:​Repeat]]//,​ it will save a file per time step and a digit representing the time step will be added to the end of the file name.</​note>​ <note tip>​**TIP**:​ If //[[:Save Map]]// is placed inside //​[[:​Repeat]]//,​ it will save a file per time step and a digit representing the time step will be added to the end of the file name.</​note>​
  
-At a last step, open //[[:Set Lookup Table Value]]// with the Edit Functor Ports. ​  {{ :​tutorial:​inc._it._model_16.jpg |}}+{{ :​tutorial:​inc._it._model_16.jpg |}}
  
-Test the model integrity, save it and if everything is O.K., click on the run button. This may take a short while. ​+Save it and if everything is O.K., click on the run button. This may take a short while. ​
 {{ :​tutorial:​inc._it._model_17.jpg |}} {{ :​tutorial:​inc._it._model_17.jpg |}}
  
-Go to //[[:Set Lookup Table Value]]//, open it with Edit Functor Ports and click with the right button on **Updated Table** to view the result. Also make a chart clicking on the chart button (bottom left).+Go to //[[:Set Lookup Table Value]]//, open inspect functor into functor action bar and click to inspect ​the output port **Updated Table** ​and run the model again to view the result. Also make a chart clicking on the chart button (bottom left).
  
 {{:​tutorial:​inc._it._model_19.jpg|}}{{:​tutorial:​inc._it._model_19_2.jpg|}} ​ {{:​tutorial:​inc._it._model_19.jpg|}}{{:​tutorial:​inc._it._model_19_2.jpg|}} ​
Line 134: Line 134:
 <note tip>​**TIP**:​ You can also open the CSV file with a spreadsheet program.</​note>​ <note tip>​**TIP**:​ You can also open the CSV file with a spreadsheet program.</​note>​
  
-__You have successfully completed the two introductory lessons__. Another way to solve the query of this lesson is through the use of a subset of Region functors. This will be the topic of the next lesso+__You have successfully completed the two introductory lessons__. Another way to solve the query of this lesson is through the use of a subset of Region functors. This will be the topic of the next lesson. 
 + 
 +[[tutorial:​using_the_concept_of_region|Next lesson]]