====== Cell Type ======
A cell type denotes several possible cell representations in a [[Map Type|Map]] or [[Categorical Map Type|Categorical Map]].
^ Cell Type ^ Domain ^ Cell Size ^ Signed ^ Minimum Value ^ Maximum Value ^ Default Null ^
| 1 Bit Integer | Integer ((can represent only integer values)) | 1 bit | No | 0 | 1 | 0 |
| Signed 8 Bit Integer | ::: | 1 byte | Yes ((can represent positive and negative values)) | -128 | 127 | -128 |
| Unsigned 8 Bit Integer | ::: | 1 byte | No ((can represent only positive values)) | 0 | 255 | 0 |
| Signed 16 Bit Integer | ::: | 2 bytes | Yes ((can represent positive and negative values)) | -32768 | 32767 | -32768 |
| Unsigned 16 Bit Integer | ::: | 2 bytes | No ((can represent only positive values)) | 0 | 65535 | 0 |
| Signed 32 Bit Integer | ::: | 4 bytes | Yes ((can represent positive and negative values)) | -2147483648 | 2147483647 | -2147483648 |
| Unsigned 32 Bit Integer | ::: | 4 bytes | Yes ((can represent only positive values)) | 0 | 4294967295 | 0 |
| IEEE 754 32 Bit Real((A value represented in this format usually have only 7 [[wp>Significant_figures|significant digits]])) | Real ((can represent fractional and integer values)) | 4 bytes | Yes ((can represent positive and negative values)) | -3.4028235*1038 | 3.4028235*1038 | -9999 |
| IEEE 754 64 Bit Real((A value represented in this format usually have only 16 [[wp>Significant_figures|significant digits]])) | Real ((can represent fractional and integer values)) | 8 bytes | Yes ((can represent positive and negative values)) | -2.2250738585072014*10308 | 2.2250738585072014*10308 | -9999 |
A cell type value can also be created from integral values, like [[Integer Value Type|Integer Value]], [[Positive Integer Value Type|Positive Integer Value]], [[Non Negative Integer Value Type|Non Negative Integer Value]] etc, and from real values, like [[Real Value Type|Real Value]]. The mapping of numeric values and their corresponding cell type values can be seen below:
^ Numeric Value ^ Cell Type ^
| 0 | 1 Bit Integer |
| 1 | Signed 8 Bit Integer |
| 2 | Unsigned 8 Bit Integer |
| 3 | Signed 16 Bit Integer |
| 4 | Unsigned 16 Bit Integer |
| 5 | Signed 32 Bit Integer |
| 6 | Unsigned 32 Bit Integer |
| 7 | IEEE 754 32 Bit Real |
| 8 | IEEE 754 64 Bit Real |
It is worth noting that the definition of maps with cell type "1 Bit Integer" helps saving memory, but it also has a huge negative impact in performance. On the other hand, the use the cell type "IEEE 754 64 Bit Real" uses way more memory than any other cell type.
===== GUI Editor =====
[{{ :editors:cell_type_editor.png?nolink& |Graphical representation of the cell type editor}}]
===== EGO Script =====
A cell type constant can be represented in a [[EGO Script]] using the following syntax:
^ Cell Type ^ Representation ^
| 1 Bit Integer | ''.uint1'' |
| Signed 8 Bit Integer | ''.int8'' |
| Unsigned 8 Bit Integer | ''.uint8'' |
| Signed 16 Bit Integer | ''.int16'' |
| Unsigned 16 Bit Integer | ''.uint16'' |
| Signed 32 Bit Integer | ''.int32'' |
| Unsigned 32 Bit Integer | ''.uint32'' |
| IEEE 754 32 Bit Real | ''.float32'' |
| IEEE 754 64 Bit Real | ''.float64'' |
===== Automatic Conversions =====
* **Converted from**: [[Real Value Type]], [[Non Negative Integer Value Type]], [[Positive Integer Value Type]] and [[Integer Value Type]].
* **Converted to**: [[Real Value Type]], [[Non Negative Integer Value Type]], [[Positive Integer Value Type]] and [[Integer Value Type]].