Domain - 52North/IlwisCore GitHub Wiki

The base system for all data-types in Ilwis is the domain. The domain links the internal representation of values to the external, human usable, form and limits the values to the allowed values ( whatever that maybe, it is context dependent). Much of the functionality of domains is handle by its ‘Range’. The range limits the set of valid values (not necessarily numerical values) for a particular domain. E.g -2 is not a valid value for a ndvi domain, while 0.4 is. “cake” is not a valid value for the Corine classification (domain), while “temperate mixed forest” is.

We have 5 main types of domains

  • Numeric domains
  • Color domains
  • Text domain
  • Item domains
  • Coord domain

The numeric domain is, as the name implies, for numeric values. Both the floating point numbers as the integer numbers are covered by this. It is a fairly simple domain as it has few properties, min, max and resoultion. The numeric domain has one special case, the 'time domain'. Which is basically a numeric domain with a different external representation.

The color domain represents the continous colors from one color to one end color. The colors maybe expressed as RGB, HSL or CYMK.

The text domain is probably the simplest domain. It contains all possible strings. Its range is unbounded. It is used when representing free text.

Item Domain is the most complex of the domains. It represents data that comes in a finite set of distinct elements(items). Take for example a color in a color palette. The palette is finite in the number of distinct colors that are in there and the color has distinct value.

The item domains come in a few flavours depending on the items it contains

  • Identifier domains. A limited set of labels as allowed values
  • Thematic domains. A limited set of classified labels. Through the classification the labels get attached meaning which makes it semantically richer than pure identifiers.
  • Interval. A set of numeric intervals subdividing a larger value range. For example the set of iso lines on a height map.
  • TimeInterval. Similar to interval but then to time intervals.
  • Color palette. A limited set of allowed distinct colors
⚠️ **GitHub.com Fallback** ⚠️