This is the old version of our wiki. We advice to visit: https://www.geodms.nl

# Module 1: Learning the basic concepts of GeoDMS

(Difference between revisions)
 Revision as of 10:35, 11 May 2020 (view source)Jip (Talk | contribs)← Older edit Revision as of 10:58, 11 May 2020 (view source)Jip (Talk | contribs) Newer edit → Line 36: Line 36: All kinds of calculation rules can be configured: All kinds of calculation rules can be configured: - parameter some_example := 2 * 9^2 + 3 * sqrt(4); + parameter some_example := 2f * 9f^2f + 3f * sqrt(4f);

## Key concepts

Before we dig into the practical part, let's discuss some key concept which are fundamental to understanding GeoDMS and enables you to perform analyses.

Every data item has a domain unit, which defines its entity. For example, we have a geographic data set with provinces in the Netherlands. The Netherlands has 12 provinces, so you could say that the domain unit has 12 rows, one row for each province. Within this domain we have information about each province: name, number of inhabitants, and geometry. Each information field is called an attribute: an attribute of the domain unit provinces.

Each of those attributes holds information, and this can be numbers, text, or coordinates. However, we must tell GeoDMS what kind of information is being stored for each attribute, this is called the values unit.

So, if we would see a data set as a table, the number of rows (and its fixed order) are called the domain unit and the columns represent attributes of that domain unit.

You could also configure parameter values, these are special cases wherein the domain unit has just one row, and it can contain only one attribute. Thus, it contain only one value.

## GeoDMS GUI lay-out

Now we know that data needs to be configured in domain units and attributes. However, in most cases we would want to combine domains, or we simply want to structure data items. In such case we can uses containers, these are just like folders to hold all kinds of units or attributes and it has no domain of itself.

When you open the GeoDMS GUI you'll see that it uses a folder structure just like you are used to on Windows computers. Wherein a folder can be either a container or a unit.

## Calculation rules

Configuring an item always consists of several components:

attribute<'value type'> name (domain) := expression;

first you specify whether it is a unit, attribute, container of parameter. Then you must specify the value type. Then a name (which cannot contain non-alphanumerical values, or start with a number). Then the ':=' sign means that an expression is coming. Then the expression is formulated and you always close a parameter or attribute with a ';'-sign.

For example:

attribute<float32> nr_of_inhabitants (provinces) := provinces/nr_of_inhabitants;

In GeoDMS, calculation rules are defined using expressions. For each unit, attribute or parameter you have to specify an expression. In the example above, this attribute shows an attribute that is defined somewhere else and links to that. We could also define some constant factor to it:

attribute<float32> nr_of_inhabitants (provinces) := const(provinces, 100f);

Here each province get the value 100 for the attribute 'nr_of_inhabitants'. The 'f' after 100 is a short-hand for float32, as mentioned earlier you always have to specify what type of data you are using. So here, you say the value 100 has a float32 value type (by default the value type is uint32, so if you won't specify anything, this is assumed).

All kinds of calculation rules can be configured:

parameter<float32> some_example := 2f * 9f^2f + 3f * sqrt(4f);