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
dinamica_reference [2026/08/03 17:51]
hermann
dinamica_reference [2026/08/12 01:25] (current)
hermann
Line 1: Line 1:
 ====== Dinamica EGO Reference ====== ====== Dinamica EGO Reference ======
 This wiki documents Dinamica EGO's scripting language, execution model, and the functors most commonly needed when building a model — organized here by topic rather than alphabetically,​ so each section can be read in order as an introduction to that part of the system. This wiki documents Dinamica EGO's scripting language, execution model, and the functors most commonly needed when building a model — organized here by topic rather than alphabetically,​ so each section can be read in order as an introduction to that part of the system.
-===== Language ​and Execution Model =====+===== Language =====
   * [[ego_script|EGO Script Language]] — the primary text notation for writing a model: functor calls, constants, containers, the calculator shorthand family, properties, and submodels. Start here for the language itself.   * [[ego_script|EGO Script Language]] — the primary text notation for writing a model: functor calls, constants, containers, the calculator shorthand family, properties, and submodels. Start here for the language itself.
   * [[xml_script|EGOML Script]] — the equivalent XML notation, generated by the GUI or written by hand, and its DTD.   * [[xml_script|EGOML Script]] — the equivalent XML notation, generated by the GUI or written by hand, and its DTD.
-  * [[basic_data_flow|Basic Data Flow]] — the execution model underneath both notations: how connections and containers determine execution order, independent of whether the model was written as EGO Script, EGOML, or built visually. 
   * [[submodels|Submodels]] — packaging part of a model as a reusable functor with its own declared inputs and outputs, so it can be called from other models the same way a built-in functor is: local, user, store, and system submodels, expansion before execution, and the GUI workflow for creating, updating, and publishing them.   * [[submodels|Submodels]] — packaging part of a model as a reusable functor with its own declared inputs and outputs, so it can be called from other models the same way a built-in functor is: local, user, store, and system submodels, expansion before execution, and the GUI workflow for creating, updating, and publishing them.
 +===== Execution Model =====
 +  * [[basic_data_flow|Basic Data Flow]] — the execution model underneath both notations: how connections and containers determine execution order, independent of whether the model was written as EGO Script, EGOML, or built visually.
 +  * [[image_virtualization|Image Virtualization]] — how Dinamica reconciles maps of different extents, resolutions,​ or rotations at runtime: every map handed to a functor is wrapped in a virtual version at a shared resolution and extent first, so functors never see mismatched inputs; requirements (shared projection),​ the Not Allowed / Limited / Unrestricted control under "Tools => Options | Advanced | Virtualization",​ and the functors that opt out of it entirely.
 ===== Type System ===== ===== Type System =====
   * [[type_system|Type System]] — the registry tying every type in the engine together: which conversions run automatically when a value is connected from one port to another, which relationships are subtyping instead, and which conversions can fail or lose information.   * [[type_system|Type System]] — the registry tying every type in the engine together: which conversions run automatically when a value is connected from one port to another, which relationships are subtyping instead, and which conversions can fail or lose information.
-  ​* [[map_type|Map Type]] — the raster type behind both categorical and non-categorical maps: layers, projection and registration,​ null values, in-memory/​sparse/​paged storage, and its own automatic conversions. +  * Individual type pages, grouped the way the Type System page itself groups them (Table Type and Lookup Table Type are listed above rather than repeated here):
-  * [[image_virtualization|Image Virtualization]] — how Dinamica reconciles maps of different extents, resolutions,​ or rotations at runtime: every map handed to a functor is wrapped in a virtual version at a shared resolution and extent first, so functors never see mismatched inputs; requirements (shared projection),​ the Not Allowed / Limited / Unrestricted control under "Tools => Options | Advanced | Virtualization",​ and the functors that opt out of it entirely. +
-  ​* Individual type pages, grouped the way the Type System page itself groups them (Table TypeLookup Table Type, and Map Type are listed above rather than repeated here):+
     * **Value types:** [[boolean_value_type|Boolean Value Type]], [[code_type|Code Type]], [[date_type|Date Type]], [[enum_type|Enum Type]], [[index_or_name_type|Index Or Name Type]], [[integer_value_type|Integer Value Type]], [[log_tag_type|Log Tag Type]], [[name_type|Name Type]], [[non_negative_integer_value_type|Non Negative Integer Value Type]], [[none_type|None Type]], [[null_value_type|Null Value Type]], [[percent_type|Percent Type]], [[positive_integer_value_type|Positive Integer Value Type]], [[real_value_type|Real Value Type]], [[string_type|String Type]]     * **Value types:** [[boolean_value_type|Boolean Value Type]], [[code_type|Code Type]], [[date_type|Date Type]], [[enum_type|Enum Type]], [[index_or_name_type|Index Or Name Type]], [[integer_value_type|Integer Value Type]], [[log_tag_type|Log Tag Type]], [[name_type|Name Type]], [[non_negative_integer_value_type|Non Negative Integer Value Type]], [[none_type|None Type]], [[null_value_type|Null Value Type]], [[percent_type|Percent Type]], [[positive_integer_value_type|Positive Integer Value Type]], [[real_value_type|Real Value Type]], [[string_type|String Type]]
     * **Filename and text types:** [[folder_type|Folder Type]], [[generic_filename_type|Generic Filename Type]], [[kmz_filename_type|Kmz Filename Type]], [[lookup_table_filename_type|Lookup Table Filename Type]], [[map_filename_type|Map Filename Type]], [[projection_type|Projection Type]], [[table_filename_type|Table Filename Type]], [[weights_filename_type|Weights Filename Type]]     * **Filename and text types:** [[folder_type|Folder Type]], [[generic_filename_type|Generic Filename Type]], [[kmz_filename_type|Kmz Filename Type]], [[lookup_table_filename_type|Lookup Table Filename Type]], [[map_filename_type|Map Filename Type]], [[projection_type|Projection Type]], [[table_filename_type|Table Filename Type]], [[weights_filename_type|Weights Filename Type]]
-    * **Table and Lookup Table types:** [[base_table_type|Base Table Type]], [[lookup_table_group_type|Lookup Table Group Type]], [[table_cell_type|Table Cell Type]], [[table_value_type|Table Value Type]], [[tuple_type|Tuple Type]] +    * **Table and Lookup Table types:** [[base_table_type|Base Table Type]], [[int_set_type|Int Set Type]], [[lookup_table_group_type|Lookup Table Group Type]], [[table_cell_type|Table Cell Type]], [[table_value_type|Table Value Type]], [[tuple_type|Tuple Type]] 
-    * **Map and raster types:** [[categorical_map_type|Categorical Map Type]], [[categorization_type|Categorization Type]], [[cell_type|Cell Type]]+    * **Map and raster types:** [[categorical_map_type|Categorical Map Type]], [[categorization_type|Categorization Type]], [[cell_type|Cell ​Type]], [[map_type|Map ​Type]]
     * **Simulation types:** [[change_matrix_type|Change Matrix Type]], [[elevation_graph_type|Elevation Graph Type]], [[neighborhood_table_type|Neighborhood Table Type]], [[percent_matrix_type|Percent Matrix Type]], [[transition_function_parameter_matrix_type|Transition Function Parameter Matrix Type]], [[transition_matrix_type|Transition Matrix Type]], [[transition_set_type|Transition Set Type]], [[weights_type|Weights Type]]     * **Simulation types:** [[change_matrix_type|Change Matrix Type]], [[elevation_graph_type|Elevation Graph Type]], [[neighborhood_table_type|Neighborhood Table Type]], [[percent_matrix_type|Percent Matrix Type]], [[transition_function_parameter_matrix_type|Transition Function Parameter Matrix Type]], [[transition_matrix_type|Transition Matrix Type]], [[transition_set_type|Transition Set Type]], [[weights_type|Weights Type]]
     * **Calibration types:** [[weights_of_evidence_skeleton_type|Weights Of Evidence Skeleton Type]]     * **Calibration types:** [[weights_of_evidence_skeleton_type|Weights Of Evidence Skeleton Type]]
     * **Region types:** [[region_manager_type|Region Manager Type]]     * **Region types:** [[region_manager_type|Region Manager Type]]
-    * **Other types** (no automatic conversions documented on the Type System page besides the standard sequencing conversion to None Type): [[connection_info_type|Connection Info Type]], [[image_expression_type|Image Expression ​Type]], [[int_set_type|Int Set Type]], [[kml_type|Kml Type]], [[kml_timeline_type|Kml Timeline Type]], [[struct_type|Struct Type]], [[table_manager_type|Table Manager Type]], [[workdir_type|Workdir Type]]+    * **Other types** (no automatic conversions documented on the Type System page besides the standard sequencing conversion to None Type): [[connection_info_type|Connection Info Type]], [[image_expression_type|Image Expression Type]], [[kml_type|Kml Type]], [[kml_timeline_type|Kml Timeline Type]], [[struct_type|Struct Type]], [[table_manager_type|Table Manager Type]], [[workdir_type|Workdir Type]]
 ===== Calculator Functors ===== ===== Calculator Functors =====
   * [[calculate_functors|Calculate Functors — Complete Operator Documentation]] — the full expression language available inside a calculator functor: operators, functions, and the shorthand family (''#'',​ ''##'',​ ''​$'',​ ''​%'',​ ''​%%''​).   * [[calculate_functors|Calculate Functors — Complete Operator Documentation]] — the full expression language available inside a calculator functor: operators, functions, and the shorthand family (''#'',​ ''##'',​ ''​$'',​ ''​%'',​ ''​%%''​).
Line 29: Line 29:
 ===== Regions ===== ===== Regions =====
   * [[working_with_subregions|Working with Subregions Using Region Manager]] — when and why to split a model'​s computation by region; defining regions from a categorical map with Region Manager; reading region metadata; visiting one region or looping over all of them; splitting a global map into regional pieces and merging them back; and the two supporting patterns — per-region functor parameters and per-region accumulation — a region-based model typically needs.   * [[working_with_subregions|Working with Subregions Using Region Manager]] — when and why to split a model'​s computation by region; defining regions from a categorical map with Region Manager; reading region metadata; visiting one region or looping over all of them; splitting a global map into regional pieces and merging them back; and the two supporting patterns — per-region functor parameters and per-region accumulation — a region-based model typically needs.
 +===== Calibration =====
 +  * [[weights_of_evidence_calibration|Weights of Evidence Calibration]] — calibrating Weights of Evidence from a pair of landscape maps and a set of predictive variables through to a finished set of ranges and coefficients:​ what Weights of Evidence is and how to read a weight'​s sign, preparing categorical and continuous variables, the Skeleton and its parameters, determining ranges and why the underlying algorithm works, determining coefficients and reading the report, checking variable independence,​ saving and reusing the results, using the calibrated weights downstream, and a basic worked example.
 ===== Command-Line Execution ===== ===== Command-Line Execution =====
   * [[dinamica_console|Dinamica Console]] — running a model script from the command line instead of the GUI: execution flags, worker and memory control, logging, accelerators,​ metadata, and converting a script to another format without running it.   * [[dinamica_console|Dinamica Console]] — running a model script from the command line instead of the GUI: execution flags, worker and memory control, logging, accelerators,​ metadata, and converting a script to another format without running it.
Line 34: Line 36:
   * [[model_tips|Useful Tips for Creating Models]] — practical tips that don't fit neatly under a single functor or language feature.   * [[model_tips|Useful Tips for Creating Models]] — practical tips that don't fit neatly under a single functor or language feature.
   * [[gui_tips|Useful Tips for Using the Graphical Interface]] — practical tips for working with the graphical interface itself: panels, editors, model execution, and the issue panel.   * [[gui_tips|Useful Tips for Using the Graphical Interface]] — practical tips for working with the graphical interface itself: panels, editors, model execution, and the issue panel.
 +
 +