Base Table Type

A Base Table is the common supertype shared by Table and Lookup Table: both are subtypes of Base Table Type, so a Table or a Lookup Table can be connected directly to any port declared as Base Table Type, with no conversion involved. It exists purely to let a functor accept either shape generically — Number Table, Get Table Info, and Get Table Keys all take a Base Table Type input specifically so they work the same way whether they're given a Table or a Lookup Table.

There is no dedicated carrier functor for Base Table Type, and no way to hold one as a standalone value — a Base Table always begins life as an actual Table or Lookup Table; “Base Table” is only ever the port's declared type, not something separately constructed.

GUI Editor

Base Table Type ports are non-editable — no port anywhere in the interface is declared as Base Table Type and also editable. A value only reaches one by being a Table or Lookup Table connected in from elsewhere.

EGO Script

For the same reason, Base Table Type has no literal constant syntax in EGO Script — see Constants. Any variable bound to a Table or Lookup Table can be passed directly wherever a Base Table Type input is expected:

landCover := Table [
  "Category*", "Area",
  1, 450.2,
  2, 129.8
];

// landCover satisfies the BaseTable input directly -- it's a Table, and
// Table is a subtype of Base Table Type, so nothing needs to convert.
info := GetTableInfo landCover;

Automatic Conversions

  • Converted to: Table Type and Lookup Table Type — each can fail, since Base Table Type is a generic container and these only succeed if what it actually holds is already shaped like the target.

See Type System for the complete conversion reference across all types.