ILWIS objects

 

Domains    

 

 

A domain defines, i.e. stores, the information that can be available in a map, a column, etc. A domain consists of a set of class names or IDs, a range of values, colors, etc. All elements in a map or column must use one of the classes, IDs, or values of the domain that is used by the map or column; if not, these elements will appear as undefined.

General use of domains:

All maps and all columns need a domain:

A table needs a domain when the records in the table contain further information on units in a map. To establish a relation between a map and a table, the table needs to have the same domain as that map. Such tables are called attribute tables. Further, for a join between tables and columns, the tables or one of their columns should both use the same domain.

A table has domain None when the records in the table contain other 'stand-alone' information, for instance the results of a statistical operation.

A domain is a service object; it is the user-defined collection of IDs, class names, or values that can be used in a certain data object. All ILWIS data objects (maps, tables and columns) have a domain. One domain can be used for several data objects. Domains provide the relational link between maps, tables and columns. For an introduction on domains, refer to Basic concepts : before creating ILWIS maps and tables and Basic concepts : domains.

A domain may also provide a link to a default representation, so that the colors etc. for the classes or values in your map(s) are known.

Domain types:

The four main types of domains are:

-

ID

used for data objects which contain unique identifiers (e.g. plot 1024, plot 1025).

-

Class

used for data objects which contain classes (e.g. soil units: clay, sandy loam).

-

Value

used for data object which contain measured, calculated or interpolated values (e.g. height, concentration).

-

Image

for satellite images containing values between 0 and 255.

For a complete overview of domain types, see below.

For a list of available system domains, see system domains.

Names of domains:

In ILWIS 3, object names comply with Windows long file names. Also Universal Naming Convention (UNC) paths are supported. For more information, see How to use long object names.

To create a domain:

When creating a new map, table or column, you have to select an existing domain or create a new domain for the object. When you do not have a suitable domain yet, you can create a new domain for instance by clicking the create button next to a domain list box in a dialog box.

To create a new domain, you also use:

For more information, see How to create a domain. It is also explained there whether or not a representation is created when a new domain is created.

To view and edit a domain:

To view and edit a class domain, an ID domain or a value domain, you can for instance double-click a domain in a Catalog.

For more information, see How to edit a domain.

Advanced users may wish to open a domain class, ID or picture as as a table. For more information, see How to open objects as a table. System domains and read-only domains cannot be edited. Information on these domains can be found in their properties dialog box.

Domains and representations:

A domain may use a representation which defines the colors, line widths etc. with which the elements in a map should be displayed.

For more information on representations and the relations to domains, refer to ILWIS objects : representations. You can also refer to the topics How to create a domains or How to create a representation.

Tip:

When you want to be sure that you cannot change the representation of a domain, you can make the domain read only in the Properties dialog box of the domain.

Choosing a value domain for output maps and columns:

When calculating with value maps and value columns, you can usually accept the default system domain Value and you can adjust the value range and precision for the output map if necessary. When you adjust for instance the value range for an output map or column to minimum 5 and maximum 500 and a precision of 0.001; the output map or column will only store values in between 5 and 500 with 3 decimals; in case the calculation or operation results in values smaller than 5 and larger than 500, these will appear as undefineds (a question mark).

You only need to create a user-defined value domain (for instance Height, pH, Yields, or concentration values):

Technical information:

A domain consists of an ASCII object definition file (.DOM); in case of a class, ID, or group domain, also a binary data file (.DM#) is available.

In case of a class or picture domain, the object definition file of the domain has a reference to the representation class which will be used as the default representation when the map is displayed. In case of a value domain, the object definition file has a reference to the default representation value or gradual.

By viewing the properties of a domain, you can see for instance the type of the domain and select a default representation for the domain. Furthermore, you can also see by which maps and and in which tables this domain is used. Optionally, you can create a new attribute table for a class or ID domain, or link an existing attribute table to a class or ID domain.

For more information on the key role of domains within ILWIS, refer to Appendices : Relations between ILWIS objects.

Overview of domain types:

ID

used for data objects which contain unique identifiers (e.g. plot 1024, plot 1025).

Class

used for data objects which contain classes (e.g. soil units: clay, sandy loam).

Value

used for data object which contain measured, calculated or interpolated values (e.g. height, concentration). Available as system domain Value and others, but you can also create your own value domains.

Image

for satellite images containing values between 0 and 255. Available as system domain Image.

 

Bit

system domain Bit is available for raster maps and columns that have to store values 0 and 1.

Bool

used for data objects which contain only 2 classes or values (e.g. "True" and "False") and undefined values. Available as system domain Bool and system domain YesNo, but you can also create your own bool domains.

Byte

system domain Byte is available for images in which you wish to regard 0 as undefined.

Picture

for raster maps which contain merely colors (Red, Green, Blue); the pixels have no meaning e.g. color composites.

Color

for raster maps that are stored in 24-bit colors (256 x 256 x 256 colors).

Group

used to classify or slice a value map; a domain group contains upper value boundaries and output class names.

String

system domain String is available for columns that contain text.

None

system domain None is available for tables in which the records do not store information on a map.

Binary

system domain Binary is for internal use only.

Available system domains:

The following domains are system domains, available in the ILWIS\SYSTEM directory:

Limitations:

ID domains:

The maximum number of IDs in an ID domain is 9,999,999, i.e. almost 10 million. In practice, limitations may occur depending on available memory. ID names can have any length; the width to display IDs is set in the properties of the domain. Within ID names, the percentage sign % may not be used. Within ID codes, both percentage signs % and colons : may not be used.

Class/Group domains:

Class names can have any length; the width to display class names is set in the properties of the domain. Within Class names, the percentage sign % may not be used. Within Class codes, both percentage signs % and colons : may not be used.

Value domains:

When you use a value domain, values can either be stored as fixed point reals using 1, 2, or 4 bytes storage per pixel (max. 4 billion different values) or as floating point reals according to the 8 byte real IEEE standard.

Picture domains:

Maximum number of colors is 256.

See also: