Synopsis
tablecreatearraycoldesc(columname, value, ndim, shape, datamanagertype, datamanagergroup, options, maxlen, comment, tableserver)
Description
A descriptor for an array column is created from the following
arguments:
- The name of the column.
- A data value, which is only used to determine the
data type of the column.
- Optionally the number of dimensions. A value > 0 means that all
arrays in the column must have that dimensionality. Note that the
arrays can still differ in shape unless the shape vector is also given.
- Optionally a vector of integers giving the shape of the array in each
cell. If given, it enables option FixedShape (see below) and sets the number
of dimensions (if not given). All arrays in the column get the
given shape and the array is created as soon as a row is added.
Note that the shape vector gives the shape in each table cell; the
number of rows in the table should NOT be part of it (otherwise you
may run out of disk space).
- Optionally the data manager type and group telling which data manager
(storage manager) is used to store the columns. By default
StandardStMan is used. The data manager type and group are explained
in more detail in the
Tables module description.
- Optionally array options which can be added to combine them.
- 1
- means Direct.
It tells that the data are directly stored in the table. Direct
forces option FixedShape. If not given, the array is indirect, which
means that the data will be stored in a separate file.
- 4
- means FixedShape. This option does not need to be given,
because it is enforced when the shape is given.
FixedShape means that the shape of the array must be the same in each
cell of the column. Otherwise the array shapes may vary along the
column and is it possible that a cell does not contain an array at all.
Note that when given (or implicitly by option Direct), the
shape argument must be given as well.
- Optionally maxlen telling the maximum length of strings. The
default value 0 means no maximum length.
- Optionally a comment string.
The column descriptor is used in creating a table descriptor.
Arguments
columname |
in |
Name of column |
|
|
Allowed: |
String |
value |
in |
Example data value |
|
|
Allowed: |
Any type |
ndim |
in |
Number of dimensions for a cell |
|
|
Allowed: |
Int |
|
|
Default: |
Length of shape |
shape |
in |
Length of each axis for a cell |
|
|
Allowed: |
Vector of Int |
|
|
Default: |
[] |
datamanagertype |
in |
Type of data manager |
|
|
Allowed: |
String: StandardStMan|IncrementalStMan|TiledColumnStMan|TiledCellStMan|TiledShapeStMan|StManAipsIO |
|
|
Default: |
'' |
datamanagergroup |
in |
Group of data manager |
|
|
Allowed: |
String |
|
|
Default: |
'' |
options |
in |
Options |
|
|
Allowed: |
Int |
|
|
Default: |
0 |
maxlen |
in |
Maximum string length |
|
|
Allowed: |
Int |
|
|
Default: |
0 |
comment |
in |
Comment: informational for user |
|
|
Allowed: |
String |
|
|
Default: |
'' |
tableserver |
in |
Table server to be used |
|
|
Allowed: |
Any tableserver |
|
|
Default: |
defaulttableserver |
Returns
Column descriptor record
Example
acd1:=tablecreatearraycoldesc("arr1",as_float(1),0,[2,3,4]);
td:=tablecreatedesc(acd1);
This creates a table description consisting of an array
column arr1 containing 3D arrays of floats with shape [2,3,4]. Note how
the value parameter is used to set the type of the values that
can be placed in the column. Other useful glish functions for this
purpose are as_double(), as_complex(), as_boolean(), etc. See the
``Type Conversions" subsection of the Glish User's Manual for a list.