Repository navigation
Reg_count
Aggregation functions reg_count
- reg_count(a, b, c, d)
reg_count(a, b, c, d) results in a set of attributes with the count of the non null values of attribute a, for each value class in a, named by attribute b, per region towards the regional level defined in the string attribute d.
The labels in this string attribute d need to refer to the names of the relations in container c.
The values unit for each resulting data item is uint32 and the domain units depend on the values unit of the corresponding relations.
The reg_count_uint16/reg_count_uint8 versions can be used in the same manner as the reg_count function, resulting in data items with a uint16 or uint8 values unit.
- attribute a with uint32 value type
- attribute b with string value type
- container c
- attribute d with string value type
- The domain unit of attribute a must match with the domain of the attribute in container c.
- The values unit of attribute a has to be the domain of attributes b and d.
- The values of attribute d need to refer to subitem attributes in container c.
- The value type of the attribute in container c must be of the group CanBeDomainUnit.
Since GeoDMS 20.23.1 reg_count_uint8 and reg_count_uint16 report an error when a count reaches the null value of their value type: 255 cells of one class in one region for reg_count_uint8, 65535 for reg_count_uint16. Before, such a count was stored as null without an error, and only one cell more was reported.
5.85
container reg_count
{
container units
{
unit<uint32> Domain: nrofrows = 10;
unit<uint8> RegioA: nrofrows = 5;
unit<uint8> RegioB: nrofrows = 3;
unit<uint8> Class: nrofrows = 4
{
attribute<string> label: ['Class1','Class2','Class3','Class4'];
}
}
container regios
{
attribute<units/RegioA> A (units/Domain): [0,0,1,2,3,0,4,2,1,0];
attribute<units/RegioB> B (units/Domain): [1,0,2,2,0,0,1,2,1,0];
}
attribute<units/Class> src (units/Domain): [0,1,3,2,0,1,2,1,0,3];
attribute<string> refs (units/Class): ['A','A','B','A'];
container attributes :=
reg_count(
src
, units/Class/label
, Regios
, refs
);
};
| attributes/class1 | attributes/class2 | attributes/class4 |
|---|---|---|
| 1 | 2 | 1 |
| 1 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 0 | 0 | 0 |
domain RegioA, nr of rows = 5
| attributes/class3 |
|---|
| 0 |
| 1 |
| 1 |
domain RegioB, nr of rows = 3
GeoDMS ©Object Vision BV. Source code distributed under GNU GPL-3. Documentation distributed under CC BY-SA 4.0.