The GeoDMS is intended to configure calculations, indicators, models, model components and model chains. It offers a powerful set of operators & functions to configure and calculate the calculation/model logic in an efficient and transparant way. Quality control in the model logic is implemented by the management of dependencies and checking the consistency of calculations.

Although it is possible to execute external components with the GeoDMS, it is advised to configure especially the core components of a model in GeoDMS operators & functions, to be able to use the full functionality of the GeoDMS modeling environment. External components keep their 'black box' character, which limit the transparency, efficiency and control of a the model configuration in the GeoDMS.


The following characteristics apply to calculations in the GeoDMS:

1. Management of dependencies
The GeoDMS controls dependencies in calculations. In an expression like A = B + C, items B and C are called suppliers. To calculate item A, first all suppliers (B and C) need to be calculated. An administration of the suppliers in calculations is essential for reliable results. In this administration also status information is kept. If a supplier is already valid (calculated earlier and the input for the supplier is not changed), it does not have to be recalculated. This improves the efficiency in calculating.

2. Constant state of data items
To make the calculation steps of a model transparant, it is important that all intermediate results can be visualised. Therefore data items have a constant state in a calculation process. Constructions often used in programming languages like A = A + 1 are therefore explicitly forbidden, as the value of variable A in such a construction is dependent on the progress in the calculation process and intermediate results can not easiliy be requested. In a GeoDMS configuration each new value for variable A requests a new data item.

In the GeoDMS a data item can have one of the following states:

  • NotCalculated (not yet calculated or a supplier is not anymore valid)
  • Calculating
  • Valid (if the process finished successfully)
  • Failed (in case an error occured or an integrity check failed)

3. Explicit configuration of value types
The GeoDMS offers operators & functions with efficient algorithms for fast calculations of (large) data sets. A necessary precondition for these algorithms is the awareness of the type of data of each data item. In the GeoDMS this is called the value type. Value types are configured for each data item as part of the values unit.

4. Metric consistency
The GeoDMS controls the model logic by checking the metric of each calculation step. The metric indicates how the values of a data item need to be interpretated. A parameter e.g. does not only have a value 300, but a value of 300 meter (in which meter is the metric for this item). The GeoDMS knows for each operator & function if and how data items with a different metric can be combined. In the example e.g. the parameter in meters can not be summed with a parameter in seconds, but it can be divided by this last parameter. The functionality to check the metric in calculations is an important quality control aspect of the GeoDMS and already has traced multiple errors in incorrect factor and metric combinations. To facilitate this quality control, for each data item a metric needs to be configured. This metric is part of the configuration of the values unit.

5. Domain unit consistency
Besides the metric, the GeoDMS also checks the consistency of the domain units(entities) in calculations. Most operators & functions can only combine data items of the same domain unit, except e.g. the relational functions. To facilitate this quality control, for each data item a domain unit needs to be configured.

6. CalcCache mechanim to cache (interim) results
Since version 5.49 The GeoDMS uses a CalcCache to store intermediate results for performance issues and to calculate with large datasets.
More information on the CalcCache mechanism can be found in the document: CalcCache Guide.

Vrije Universiteit
De Boelelaan 1085
1081 HV Amsterdam
The Netherlands

tel: +31 (0)20 598 9083
fax:+31 (0)20 598 9904