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:introduction [2019/08/13 16:47]
argemiro [What will you learn?]
tutorial:introduction [2020/02/18 10:55]
argemiro
Line 1: Line 1:
 +{{ :​logo_logo.png?​400 |}}
 +\\
 +\\
 ===== Introduction ===== ===== Introduction =====
 +\\
 +DINAMICA EGO (Environment for Geoprocessing Objects) (www.dinamicaego.com) is a spatially explicit, high performance,​ modeling freeware used by many scholars around the world. Dinamica EGO modeling platform presents outstanding possibilities for the design of spatial models, from analytical to the very complex dynamic ones. These models can ultimately include nested iterations, dynamic feedbacks, multi-region,​ multi-scale and multi-scale approach, manipulation and algebraic combination of data in several formats - such as maps, tables, matrices and constants - decision processes for bifurcating and joining execution pipelines, and a series of complex spatial algorithms for the analysis and simulation of space-time phenomena.
  
 +<​note>​
 +Dinamica EGO has been applied to numerous environmental studies, including the modeling of deforestation in the Amazon from local to basin-wide scales, urban dynamics, logging and other forestry rents in the Amazon, cattle ranching, forest fires, river regime, biodiversity,​ and agricultural expansion in Brazil.
 +\\
 +See a list of publications at www.csr.ufmg.br/​dinamica/​publications.
 +</​note>​
  
 +----
  
-==== What will you learn? ==== +==== What will you learn? ====  
-  +\\ 
-  +  * What is Dinamica EGO? 
- +  * How is this guidebook is structured? 
-  * What Dinamica EGO is +  * Where are the data and models used in the lessons? 
-  * What a functor ​is  +\\ 
-  * What this guidebook is about +----
-  +
-  +
-Welcome to Dinamica EGO. EGO stands for Environment for Geoprocessing Objects. The previous version of Dinamica was totally reengineered to become a modeling environment,​ now with outstanding possibilities for the design from the very simple static spatial model to very complex dynamic ones, which can ultimately involve nested iterations, dynamic feedbacks, multi-region approach, manipulation ​and algebraic combination of data in several formats, such as maps, tables, matrices and constants, decision processes for bifurcating and joining execution pipelines, and a series of complex spatial algorithms for the analysis and simulation of space-time phenomena (fig.1).  +
  
 +===Welcome to Dinamica EGO!===
 +\\
 The software environment,​ written in C++ and Java, holds a series of algorithms called functors. Each functor performs an operation. To date, we have implemented the most common spatial analysis algorithms available in commercial GIS (Geographic Information System), plus a series of algorithms especially designed for spatial simulations,​ including transition functions, calibration and validation methods. The software environment,​ written in C++ and Java, holds a series of algorithms called functors. Each functor performs an operation. To date, we have implemented the most common spatial analysis algorithms available in commercial GIS (Geographic Information System), plus a series of algorithms especially designed for spatial simulations,​ including transition functions, calibration and validation methods.
 +\\
  
-[{{ :​tutorial:​int_1.jpg|Fig. 1 - A data flow chain showing iteration, bifurcation and joining}}]These functors are sequenced to establish data flow in the form of graphs. Through the Dinamica EGO graphical interface one can create models by simply dragging and connecting functors via their ports, which represent connectors to types of data, such as maps, tables, matrices, mathematical expressions and constants. Functors can be enveloped by “containers”,​ a special type of functor that is used, for example, to execute iterations or process data from specific regions of a map. Thus models can be designed as a diagram and execution follows ​a data flow chain. This friendly interface ​permits the design of simple to very complex spatial models that are saved in a script language in [[:​xml_script|XML format]] or [[:​ego_script|EGO programming language]]. +These functors are sequenced to establish data flow in the form of graphs. Through the graphical interface one can create models by simply dragging and connecting functors via their ports, which represent connectors to types of data, such as maps, tables, matrices, mathematical expressions and constants. Functors can be enveloped by “containers”,​ a special type of functor that is used, for example, to execute iterations or process data from specific regions of a map. Thus models can be designed as a diagram and their executions follow ​a data flow chain. This friendly interface ​enables designing from simple to very complex spatial models that are saved in a script language in [[:​xml_script|XML format]] or [[:​ego_script|EGO programming language]]. 
- +\\
-In sum, Dinamica EGO software favors simplicity, flexibility and good performance,​ optimizing speed and computer resources, such as memory and parallel processing. Most of its algorithms are designed to take advantage of multicore processor architecture. In addition, Dinamica EGO handles large raster format using disk paging. On the other hand, if memory is available, it can load all the input maps at the beginning of a model execution and keep them in memory only while they are needed. In this way, the software only accesses the disk at the end of an execution to write the final outputs or, if a user specifies, at the end of an iteration to save the output maps from each time step.      +
- +
-The aim of this guidebook is to introduce the user to the innumerous possibilities of Dinamica EGO for the design of models that can fully represent the complexity of various geographic phenomena. +
- +
- +
-   +
- * [[Tutorial: Dinamica EGO graphical interface]] +
- +
- * [[:​map_viewer|Map Viewer tutorial]] +
- +
- * [[:​lesson_1]] +
- +
- * [[:​what_is_new|What’s new in Dinamica EGO]]  +
-  ​+
  
 +In sum, Dinamica EGO software favors simplicity, flexibility and top performance,​ optimizing speed and computer resources, such as memory and parallel processing. Most of the algorithms are designed to take advantage of the multicore processor architecture,​ from version 5 onwards the software architecture is fully parallel. The parallel execution system uses a fixed number of execution threads (called workers) with task stealing to provide load balancing and increase the flexibility of how parallel tasks can be designed. In theory, all model components can run in parallel, including independent functors, independent loop steps, and pieces of map. Dinamica EGO handles large raster maps that are manipulated in parallel even when they are too big to fit in memory. In addition, Dinamica EGO provides online coupling with R and Python.
 +\\
 +----
 +===Modular Guidebook Structure===
 +\\
 +This guidebook introduces the user to the vast possibilities of Dinamica EGO for the design of space-time models that can fully represent the complexity of various geographic phenomena. This Guidebook is modular in structure. Each module is divided into lessons or examples and is assigned to a particular level in a progressive series of steps:
 +\\
 +\\
 +**MODULE I:** Welcome to Dinamica EGO!
 +\\
 +\\
 +**MODULE II:** Working with maps
 +\\
 +\\
 +**MODULE III:** Working with tables
 +\\
 +\\
 +**MODULE IV:** Creating and using Submodels
 +\\
 +\\
 +**MODULE V:** Incorporating control structures into a model
 +\\
 +\\
 +**MODULE VI:** Advanced spatial analyses
 +\\
 +\\
 +**MODULE VII:** Additional Features
 +\\
 +\\
 +**MODULE VIII:** Additional Applications
 +----
 +===Links in this Document===
 +This document contains internal links. Clicking on an internal link opens a Website. Links are in blue.
 +----
 +\\
 +<​note>​We hope you can learn how to use software and apply it to countless environmental applications.</​note>​
 +\\
 +☞[[:​lesson_1|Next Lesson]]
 +\\
 +\\
 +☞[[:​guidebook_start| Back to Guidebook Start]]