Filling Out the Table Character Data Structure

From The SBN Wiki
Revision as of 16:28, 25 January 2013 by Raugh (talk | contribs) (Creation - Safety Save)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The <Table_Character> class contains the data structure definition for a character table. Each row in the table has the same structure, defined in a Record_Character class. Records are themselves composed of scalar fields, or sub-records called "grouped fields".

For additional explanation, see the PDS4 Standards Reference, or contact your PDS node consultant.

Following are the attributes and subclasses you'll find in <Table_Character>, in label order.

Note that in the PDS4 master schema, all classes have capitalized names; attributes never do.

<name>

OPTIONAL

If you'd like to give this table a descriptive name, here's the place to do it.

<local_identifier>

OPTIONAL

If you want to reference this Table_Character from somewhere else in this label, give it a formal label here. Use an identifier that would make a valid variable name in a typical programming language, and you should be OK syntactically.

<offset>

REQUIRED

The offset, in bytes, from the beginning of the file holding the table data to the first character in the table. You must specify the unit for this keyword, like this:

    <offset unit="byte">0</offset>

<records>

REQUIRED

This is the total number of records in the table. Note that in a Table_Character table, each record must have carriage-return/linefeed record delimiter (including the last record).

<encoding_type>

REQUIRED

This must have the value Character.

<description>

OPTIONAL

This attribute provides a place for additional free-format text comments.

<record_delimiter>

REQUIRED

This attribute must have the value carriage_return line_feed. The data file must also have carriage-return/linefeed record delimiters, of course.

<Uniformly_Sampled>

OPTIONAL

If this Table_Character contains records which are uniformly spaced in some dimension (time, wavelength, distance, etc.), you can use this class to define that dimension and interval rather than including an additional field in each row to hold the value explicitly.

Note: There are certain types of data where this class can prevent a very large data file from increasing in size by %50. Such tables are predominantly used by software, not human readers scanning them by eye. For SBN data, our users generally prefer to see the additional column. So unless the two conditions above apply to your data, you should include the extra column.

<sampling_parameter_name>

REQUIRED

The name of the dimension of sampling (wavelength, time, etc.)

<sampling_parameter_interval>

REQUIRED

Distance between records in units of the sampling parameter. So if you're sampling in time, the interval might be 100 milliseconds, for example.

<sampling_parameter_unit>

REQUIRED

The unit associated with the sampling_parameter_interval.

<first_sampling_parameter_value>

REQUIRED

The value of the sampling parameter at the point where the data of the first record were recorded.

<last_sampling_parameter_value>

REQUIRED


The value of the sampling parameter at the point where the data of the last record were recorded.

<sampling_parameter_scale>

OPTIONAL

This is actually the type of the scale. It must be one of the standard values Exponential, Linear, or Logarithmic.


<Record_Character

REQUIRED

This class describes the structure of one complete record in the table.