Columns Window

The Columns Window displays a JTable giving all the information known about each column in the main data table. It may take a little bit of getting used to, since each column in the main data table is represented by a row in the JTable displayed here. The order and widths of the columns of JTable widget can be changed in the same way as those for the browser window JTable, but this has no effect on the data.

The order in which the rows of this JTable are presented is the same as the order in which the columns appear in the browser window.

Toolbar

The following toolbar actions are available:

New Synthetic Column
This allows you to add a new column based on the existing ones - see the section on Synthetic columns. Also available as the New Synthetic Column item in the Columns menu.
Delete Columns
If any of the JTable rows are selected, then clicking this button will delete them from the display here and elsewhere in TOPCAT (e.g. the main browser window). Deleted columns cannot be undeleted. Also available as the Delete selected column(s) item in the Columns menu.

Menus

The following items appear in the Columns menu:

Sort selected up
If a single column is selected then the row order in the main browser window will be re-ordered so that the selected column's values appear in ascending order.
Sort selected down
Like Sort selected up but with the opposite sense.

Editing metadata

Some of the metadata items in the JTable can be edited. Double-click in the cell you wish to edit, and if a text cursor shows up there you can type changes to that metadata item. Press return to confirm the edit when you have finished.

Column Metadata Items

For each column in the data table (each line in the displayed JTable) items of information such as column name, description, UCD etc are given. Exactly which items are shown will depend on the kind of table in the viewer and how much metadata it has. Some of the items are these:

Index
The number of the column in the browser window display; also the number of the row in the JTable shown here. This value can change for a given column if some columns are deleted moved or inserted.
Name
The name of the column.
Class
The Java class of the items in that column. You don't have to know very much Java to understand these; they are Float or Double for floating point numbers; Byte, Short, Integer or Long for integer numbers, Boolean for a logical (true/fals) flag, or String for a string of ASCII or Unicode characters. There are other possibilities, but these will cover most. The characters '[]' after the name of the class indicates that each cell in the column holds an array of the indicated type.
Shape
Cells of a table can contain arrays as well as scalars. If the column contains an array type, this indicates the shape that it should be interpreted as. It gives the dimensions in column-major order. The last element may be a '*' to indicate that the size of the array may be variable. For scalar columns, this item will be blank.
Units
The units in which quantities in this column are expressed.
Description
A textual description of the function of this column.
UCD
The UCD associated with this column, if one is specified. UCDs are Uniform Content Descriptors, and indicate the semantics of the values in this column.
Expression
The algebraic expression defining the values in this column. This will only be filled in if the column in question is a synthetic column which you have added, rather than one present in the data in its original loaded form.
$ID
A unique and unchanging ID value for each column. These are useful in defining expressions for synthetic columns, since they are guaranteed unique for each column. Although the column Name can be used as well, the Name may not be unique and may not have the correct form for use in an algebraic expression. Initially, the Index value and the $ID value will match each other (except the $ID is preceded by a '$' character) but if columns are moved, added or deleted they will no longer match.