Isis 3 Programmer Reference
|
Import a PDS table file with a label description. More...
#include <ImportPdsTable.h>
Classes | |
struct | ColumnDescr |
Public Member Functions | |
ImportPdsTable () | |
Default constructor. More... | |
ImportPdsTable (const QString &pdsLabFile, const QString &pdsTabFile="", const QString &pdsTableName="TABLE") | |
This constructor automatically loads the given label and table files. More... | |
virtual | ~ImportPdsTable () |
Destructs the ImportPdsTable object. More... | |
QString | name () const |
Return the name of the PDS table. More... | |
void | setName (const QString &name="TABLE") |
Set the name of the PDS table object. More... | |
int | columns () const |
Returns the number of columns in the table. More... | |
int | rows () const |
Returns the number of rows in the table. More... | |
void | load (const QString &pdsLabFile, const QString &pdsTabFile="", const QString &pdsTableName="TABLE") |
Loads a PDS table label and (optional) data file. More... | |
bool | hasColumn (const QString &colName) const |
This method determines whether the PDS table has a column with the given name. More... | |
QString | getColumnName (const unsigned int &index=0, const bool &formatted=true) const |
Returns the name of the specifed column. More... | |
QStringList | getColumnNames (const bool &formatted=true) const |
Return the names of all the columns. More... | |
QString | getFormattedName (const QString &colname) const |
Converts a column name to a camel-case after it has been cleansed. More... | |
QString | getType (const QString &colName) const |
Get the type associated with the specified column. More... | |
bool | setType (const QString &colName, const QString &dataType) |
Change the datatype for a column. More... | |
Table | importTable (const QString &isisTableName) |
Populate a Table object with the PDS table and return it. More... | |
Table | importTable (const QString &colNames, const QString &isisTableName) |
Populate ISIS Table with specified column(s) from ASCII table. More... | |
Table | importTable (const QStringList &colNames, const QString &isisTableName) |
Populate ISIS Table with specific columns from ASCII table. More... | |
Protected Types | |
typedef QList< ColumnDescr > | ColumnTypes |
typedef QStringList | Columns |
typedef QList< Columns > | Rows |
Protected Member Functions | |
const ColumnDescr & | getColumnDescriptor (const int &nth) const |
Retrieve a column description by index. More... | |
ColumnDescr * | findColumn (const QString &colName) |
Searches internal column descriptors for a named column. More... | |
const ColumnDescr * | findColumn (const QString &colName) const |
Searches internal column descriptors for a named column. More... | |
QString | getColumnValue (const QString &tline, const ColumnDescr &cdesc, const QString &delimiter="") const |
Extracts a column from a QString based upon a description. More... | |
QStringList | getColumnFields (const QString &tline, const ColumnDescr &cdesc, const QString &delimiter="") const |
Extracts column fields from a QString based upon a description. More... | |
QString | getGenericType (const QString &ttype) const |
Determine generic data type of a column. More... | |
virtual bool | processRow (const int &row, const QString &rowdata) |
Process a freshly read PDS table line of data. More... | |
Private Member Functions | |
void | init () |
Initialize object variables. More... | |
void | loadLabel (const QString &labfile, QString &tblfile, const QString &tblname="") |
Loads the contents of a PDS table label description. More... | |
void | loadTable (const QString &tabfile) |
Loads the contents of a PDS table data file. More... | |
ColumnDescr | getColumnDescription (PvlObject &colobj, int nth) const |
Extract a column description from a COLUMN object. More... | |
TableRecord | makeRecord (const ColumnTypes &ctypes) |
Creates a TableRecord for columns. More... | |
TableField | makeField (const ColumnDescr &cdesc) |
Creates a TableField for the column type. More... | |
TableField | makeFieldFromBinaryTable (const ColumnDescr &cdesc) |
Creates an empty TableField with the appropriate type from a binary PDS table column description. More... | |
void | setPdsByteOrder (QString byteOrder) |
Sets the byte order for BINARY PDS table files. More... | |
TableField & | extract (const Columns &columns, const ColumnDescr &cdesc, TableField &field) const |
Extract a TableField from a PDS column in the text row. More... | |
TableRecord & | extract (const Columns &columns, const ColumnTypes &ctypes, TableRecord &record) const |
Extract a table record of columns from a row of columns. More... | |
TableRecord | extractBinary (char *rowBuffer, TableRecord &record) const |
This method is used to set the field values for the given record. More... | |
void | fillTable (Table &table, const ColumnTypes &columns, TableRecord &record) const |
Fill the ISIS Table object with PDS table data. More... | |
Private Attributes | |
int | m_trows |
Number rows in table according to label. More... | |
ColumnTypes | m_coldesc |
Column descriptions. More... | |
Rows | m_rows |
Table data. More... | |
QString | m_pdsTableType |
The INTERCHANGE_FORMAT value for the table. More... | |
int | m_rowBytes |
The number of bytes for one PDS table row. More... | |
int | m_recordBytes |
The number of bytes for one Isis table record. More... | |
QString | m_tableName |
The name of the PDS table object. More... | |
QString | m_pdsTableFile |
The name of the file containing the table data. More... | |
int | m_pdsTableStart |
The start byte of the PDS table data. More... | |
QString | m_byteOrder |
The byte order of the PDS table file, if binary. More... | |
Import a PDS table file with a label description.
This class ingests a PDS table and converts it to an ISIS Table object. This class can handle importing PDS tables whose data is BINARY or ASCII format.
The PDS label file should completely define the contents of a PDS table with ASCII data or BINARY data. The location of the table data is determined from a label keyword, ^TABLE (or ^NAME_TABLE). This keyword will indicate the name of the file containing the table data and the start record value where the table data begins. If the keyword only gives the start record, the table is attached to the file that contains the label. If the keyword only gives a file name, that file only contains the data for the indicated table. PDS table files have the extension *.TAB if the table data is ASCII format and *.DAT if the data is BINARY. When constructing an ImportPdsTable object, programmers can provide a different name for the PDS table file.
NOTE: Depending on the INTERCHANGE_FORMAT value, programmers should choose the appropriate methods from this class.
Example of PDS ASCII table import. Construct the ImportPdsTable object with a label name, set the data type for the specified PDS columns, and import the PDS table to an Isis3 table with the comma separtated column names. ImportPdsTable pdsTable(labelFileName, tableFileName); pdsTable.setType("ScetTimeClock", "CHARACTER"); pdsTable.setType("ShutterStatus", "CHARACTER"); pdsTable.setType("MirrorSin", "DOUBLE"); pdsTable.setType("MirrorCos", "DOUBLE"); Table isisTable = pdsTable.importTable("ScetTimeClock,ShutterStatus,MirrorSin,MirrorCos", "VIRHouseKeeping");
Example of PDS BINARY table import. If the default constructor is used, the load method must be called to pass in the label file name. The PDS table can then be imported and an Isis3 Table object is returned. ImportPdsTable pdsTable; load(labelFileName, "", pdsTableName); Table isisTable = pdsTable.importTable(isisTableName);
2011-08-02 Kris Becker - Modified to ensure the proper size of strings are exported to the TableRecord
2012-10-04 Jeannie Backer - Changed references to TableField methods to lower camel case. Added and ordered includes. Moved method implementation to cpp. References #1169.
2012-11-21 Jeannie Backer - Added implementation for importing binary PDS tables. Changed method name from "exportAsTable" to "importTable". Improved unitTest coverage. References #700.
2015-07-17 Kris Becker - Declare destructor as virtual to make it iheritable. Reorganized to support interception of storage methods for derived class use.
2016-02-24 Ian Humphrey - Updated documentation and unit test. Added edrindex.lbl and edrindex.tab files to data directory (for tests). Fixes #2397.
2016-03-10 Jeannie Backer - Removed non-UTF8 character. References #2397.
2018-02-12 Stuart Sides - Added detached table capabilities for label files without a "RECORD_BYTES" keyword. References #5525.
Definition at line 116 of file ImportPdsTable.h.
Isis::ImportPdsTable::ImportPdsTable | ( | ) |
Default constructor.
This constructor initializes the PDS table name to TABLE.
If this constructor is used, the load() method will need to be called to set the PDS label file.
This constructor may be used for ASCII or BINARY PDS tables.
Definition at line 58 of file ImportPdsTable.cpp.
Isis::ImportPdsTable::ImportPdsTable | ( | const QString & | pdsLabFile, |
const QString & | pdsTableFile = "" , |
||
const QString & | pdsTableName = "TABLE" |
||
) |
This constructor automatically loads the given label and table files.
This constructor takes the name of the label file describing the PDS table, the table data file name, and the name of the PDS table object. It will extract the description of the columns and read the contents of the table data file.
If no table file is given or an empty QString is given for the table file, the table location will be read from the label file.
If no table name is given, the default name for the object is TABLE.
This constructor may be used for ASCII or BINARY PDS tables.
pdsLabFile | Name of table label file |
pdsTableFile | Name of table data file |
pdsTableName | The name of the table object in the PDS file. |
Definition at line 88 of file ImportPdsTable.cpp.
|
virtual |
Destructs the ImportPdsTable object.
Definition at line 99 of file ImportPdsTable.cpp.
int Isis::ImportPdsTable::columns | ( | ) | const |
Returns the number of columns in the table.
This method can be called for ASCII or BINARY PDS tables.
Definition at line 1014 of file ImportPdsTable.cpp.
|
private |
Extract a TableField from a PDS column in the text row.
This routine will extract the column and convert to a TableField with the appropriate type to contain the field.
This method is only called for ASCII PDS tables.
cols | Columns for a given row |
cdesc | Column description used to create TableField |
tfield | Isis3 TableField used to determine the data type to be imported. |
IException::Programmer | "Conversion failure of column [column name]" |
Definition at line 897 of file ImportPdsTable.cpp.
References _FILEINFO_, Isis::TableField::isDouble(), Isis::TableField::isInteger(), Isis::ImportPdsTable::ColumnDescr::m_colnum, Isis::ImportPdsTable::ColumnDescr::m_name, Isis::TableField::size(), Isis::IString::ToDouble(), Isis::IString::ToInteger(), Isis::IString::ToQt(), and Isis::IString::Trim().
|
private |
Extract a table record of columns from a row of columns.
This method will create a TableRecord from a list of columns. The columns are selected from the list of column descriptions parameter.
This method is only called for ASCII PDS tables.
cols | Row of column data |
ctypes | List of columns to extract |
record | TableRecord with fields to populate |
Definition at line 940 of file ImportPdsTable.cpp.
|
private |
This method is used to set the field values for the given record.
These values are extracted from the given binary buffer containing the PDS table data for the corresponding row.
This method is only called for BINARY PDS tables.
rowBuffer | Buffer containing the binary information for one row of the table. |
record | The TableRecord containing fields with correct names and types but no values. The field values will be set by this method. |
Definition at line 1046 of file ImportPdsTable.cpp.
References Isis::EndianSwapper::Double(), Isis::TableRecord::Fields(), Isis::EndianSwapper::Float(), and Isis::EndianSwapper::Int().
|
private |
Fill the ISIS Table object with PDS table data.
This method populates the ISIS Table object with selected PDS table data fields.
This method is used for ASCII or BINARY PDS tables.
table | ISIS Table object to populate |
cols | PDS Column map to extract data |
record | ISIS TableRecord with fields to contain PDS columns |
IException::Programmer | "Failed to convert data in row [row number]" |
IException::Unknown | "Unable to open file containing PDS table [table file]." |
Definition at line 965 of file ImportPdsTable.cpp.
References _FILEINFO_, and Isis::toString().
|
protected |
Searches internal column descriptors for a named column.
This method converts the column names to a formatted name for consistency and then checks for the given name - with case insensitivity. If found, a pointer to the column description is returned, otherwise NULL.
This method can be called for ASCII or BINARY PDS tables.
colName | Name of column to find |
Definition at line 657 of file ImportPdsTable.cpp.
|
protected |
Searches internal column descriptors for a named column.
This method converts the column names to a formatted name for consistency and then checks for the given name - with case insensitivity. If found, a pointer to the column description is returned, otherwise NULL.
This method can be called for ASCII or BINARY PDS tables.
colName | Name of column to find |
Definition at line 683 of file ImportPdsTable.cpp.
|
private |
Extract a column description from a COLUMN object.
This method will extract a column description from a COLUMN object. This object will typically be contained in a Pvl PDS compatable file that accompanies the table data file.
The keywords NAME, DATA_TYPE, START_BYTE and BYTES must exist.
This method is used for ASCII or BINARY PDS tables.
colobj | Pvl Object containing column description |
nth | Current column counter |
Definition at line 587 of file ImportPdsTable.cpp.
References Isis::PvlObject::hasKeyword(), Isis::ImportPdsTable::ColumnDescr::m_colnum, Isis::ImportPdsTable::ColumnDescr::m_dataType, Isis::ImportPdsTable::ColumnDescr::m_itemBytes, Isis::ImportPdsTable::ColumnDescr::m_items, Isis::ImportPdsTable::ColumnDescr::m_name, Isis::ImportPdsTable::ColumnDescr::m_numBytes, and Isis::ImportPdsTable::ColumnDescr::m_startByte.
|
protected |
Retrieve a column description by index.
nth | Index of column description to retrieve, starting at 0 |
IException::Programmer | "Index ([nth]) into Columns invalid (max: [columns])" |
Definition at line 629 of file ImportPdsTable.cpp.
References _FILEINFO_.
|
protected |
Extracts column fields from a QString based upon a description.
This method should not be called for BINARY PDS tables.
tline | Row from table data |
cdesc | Column description |
delimiter | Delimiter used to delimit column fields (optional) |
Definition at line 727 of file ImportPdsTable.cpp.
References Isis::ImportPdsTable::ColumnDescr::m_itemBytes, and Isis::ImportPdsTable::ColumnDescr::m_items.
QString Isis::ImportPdsTable::getColumnName | ( | const unsigned int & | index = 0 , |
const bool & | formatted = true |
||
) | const |
Returns the name of the specifed column.
This method will return the name of a specified column by index. It also has the option to format the column name to Camel-Case. This will remove all left and right parens, convert white space to spaces, compress consecutive spaces to only one space. It then removes the spaces converting the next character to uppercase.
This method can be called for ASCII or BINARY PDS tables.
index | Index of colunm name to get. |
formatted | Specifies to convert the name to Camel-Case if true, otherwise leave as is in the PDS table. |
IException::Programmer | "Unable to import the binary PDS table into Isis. The requested column index exceeds the last column index." |
Definition at line 226 of file ImportPdsTable.cpp.
References _FILEINFO_, and Isis::toString().
QStringList Isis::ImportPdsTable::getColumnNames | ( | const bool & | formatted = true | ) | const |
Return the names of all the columns.
This method will return the names of all columns. It also has the option to format the column name to Camel-Case. This will remove all left and right parens, convert white space to spaces, compress consecutive spaces to only one space. It then removes the spaces converting the next character to uppercase.
This method can be called for ASCII or BINARY PDS tables.
formatted | Specifies to convert the name to Camel-Case if true, otherwise leave as is in the PDS table. |
Definition at line 257 of file ImportPdsTable.cpp.
|
protected |
Extracts a column from a QString based upon a description.
This method should not be called for BINARY PDS tables.
tline | Row from table data |
cdesc | Column description |
Definition at line 705 of file ImportPdsTable.cpp.
References Isis::ImportPdsTable::ColumnDescr::m_numBytes, and Isis::ImportPdsTable::ColumnDescr::m_startByte.
QString Isis::ImportPdsTable::getFormattedName | ( | const QString & | colname | ) | const |
Converts a column name to a camel-case after it has been cleansed.
This method will convert a column name to camel-case after some character cleaning is performed. All white space characters as defined by the IString class are converted to spaces. Spaces are then compressed to one space. Any left/right parens are removed. Then the conversion to camel-case is performed.
Camel case always converts the first character in a QString to uppercase. Any space or '_' character are removed and the following character is converted to uppercase. All other characters are converted to lowercase.
This method can be called for ASCII or BINARY PDS tables.
colname | Column name to converty |
Definition at line 774 of file ImportPdsTable.cpp.
Referenced by Isis::ProcessImportPds::ImportTable().
|
protected |
Determine generic data type of a column.
This method will determine the generic type of a column. In general, PDS table descriptions contain types that have some prepended qualifiers to column data types. This routine removes those qualifiers and only returns the generic type.
For example, if the incoming type is MSB_INTEGER, only INTEGER will be returned.
This method is used for ASCII or BINARY PDS tables.
ttype | PDS data type to convert |
Definition at line 813 of file ImportPdsTable.cpp.
QString Isis::ImportPdsTable::getType | ( | const QString & | colName | ) | const |
Get the type associated with the specified column.
This method returns the datatype associated with the specfied column. If the column does not exist, an empty QString is returned.
This method can be called for ASCII or BINARY PDS tables.
colName | Name of column to get type for. |
Definition at line 283 of file ImportPdsTable.cpp.
References Isis::ImportPdsTable::ColumnDescr::m_dataType.
bool Isis::ImportPdsTable::hasColumn | ( | const QString & | colName | ) | const |
This method determines whether the PDS table has a column with the given name.
This method can be called for ASCII or BINARY PDS tables.
colName | A QString containing the column name. |
Definition at line 201 of file ImportPdsTable.cpp.
Table Isis::ImportPdsTable::importTable | ( | const QString & | isisTableName | ) |
Populate a Table object with the PDS table and return it.
This method converts PDS table data to an ISIS table.
This method can be called to import ASCII or BINARY PDS tables.
isisTableName | Name of table |
IException::Unknown | "Unable to import the PDS table from the PDS file into Isis." |
Definition at line 333 of file ImportPdsTable.cpp.
References _FILEINFO_.
Referenced by Isis::ProcessImportPds::ImportTable().
Table Isis::ImportPdsTable::importTable | ( | const QString & | colnames, |
const QString & | isisTableName | ||
) |
Populate ISIS Table with specified column(s) from ASCII table.
This method extracts columns specified by the caller in a QString. It is typically used for a single column, but any number of columns can be provided. colnames is a comma delimited QString that contains the name of the columns that will be exported in the table.
This method should only be called for ASCII PDS tables. If needed for BINARY tables, implementation should be added and tested.
colNames | String containing comma delimited column names to export |
isisTableName | Name of table to create |
Definition at line 365 of file ImportPdsTable.cpp.
Table Isis::ImportPdsTable::importTable | ( | const QStringList & | colnames, |
const QString & | isisTableName | ||
) |
Populate ISIS Table with specific columns from ASCII table.
This method extracts columns specified by the caller. If the requested column does not exist, an exception is thrown.
This method should only be called for ASCII PDS tables. If needed for BINARY tables, implementation should be added and tested.
colNames | QStringList of column names to convert to a table. |
isisTableName | Name of the table to create. |
IException::Programmer | "Unable to import the PDS table into Isis. The requested column name does not exist in table." |
Definition at line 388 of file ImportPdsTable.cpp.
References _FILEINFO_.
|
private |
Initialize object variables.
This method is used for ASCII or BINARY PDS tables.
Definition at line 416 of file ImportPdsTable.cpp.
void Isis::ImportPdsTable::load | ( | const QString & | pdsLabFile, |
const QString & | pdsTableFile = "" , |
||
const QString & | pdsTableName = "TABLE" |
||
) |
Loads a PDS table label and (optional) data file.
This method will load a PDS table dataset using a label file describing the contents of the table data. The caller can provide the table data file, otherwise, the location of the table data is extracted from the ^TABLE_NAME keyword in the provided labels. The table data is then loaded.
This method needs to be called if the default constructor is used. Otherwise, it is invoked in the constructor that takes the label, table file, and table name. This method may be used to overwrite the label and table file used. When it is invoked, the current contents of the object are discarded.
This method is used for ASCII or BINARY PDS tables.
pdsLabFile | Name of PDS table label file |
pdsTableFile | Name of PDS table data file to be imported into Isis (optional) |
pdsTableName | Name of the table object in the PDS file (optional) |
IException::Unknown | "Unable to import PDS table. Neither of the possible table values were found." |
Definition at line 147 of file ImportPdsTable.cpp.
References _FILEINFO_, Isis::FileName::baseName(), Isis::FileName::expanded(), Isis::FileName::fileExists(), Isis::FileName::name(), Isis::FileName::path(), and Isis::toInt().
|
private |
Loads the contents of a PDS table label description.
The pdsLabFile parameter contains the name of a PDS label describing the contents of a PDS table data file. The label will be loaded and parsed by this method. The name of the table data file is returned in the pdsTableFile parameter. The table data file is not loaded.
If the tblname parameter is not provided or is empty, the table's name set during construction or with the setName() method will be used to find the table object in the PDS label file.
This method is used for ASCII or BINARY PDS tables.
pdsLabFile | Name of PDS table label description file |
pdsTableFile | Returns the name of the PDS table data |
tblname | Name of the table object in the PDS file (optional) |
IException::Unknown | "The PDS file does not have the required TABLE object. The PDS label file is probably invalid" |
IException::User | "Unable to import the PDS table from the PDS file into Isis. The PDS INTERCHANGE_FORMAT is not supported. Valid values are ASCII or BINARY." |
Definition at line 453 of file ImportPdsTable.cpp.
References _FILEINFO_, Isis::PvlObject::beginObject(), Isis::PvlKeyword::clear(), Isis::PvlObject::endObject(), Isis::PvlObject::findKeyword(), Isis::PvlObject::findObject(), Isis::PvlObject::hasKeyword(), Isis::PvlObject::hasObject(), Isis::PvlContainer::name(), Isis::PvlObject::object(), Isis::PvlObject::objects(), and Isis::FileName::path().
|
private |
Loads the contents of a PDS table data file.
This method opens and reads the contents of a PDS table data file. Values for each column are extracted from each row according to the label description. The entire table contents are stored internally.
Note that the table label description must already be loaded in this object.
This method is called by the load() method if the PDS file is ASCII.
pdsTableFile | Name of PDS table data file |
Definition at line 549 of file ImportPdsTable.cpp.
References Isis::TextFile::GetLine().
|
private |
Creates a TableField for the column type.
This method generates a TableField with the appropriate type to contain the PDS coulumn data. It will only create three different types: Integer, Double or Text.
All PDS data types that have INTEGER in their type are stored as an Integer field type. PDS columns with DOUBLE, REAL or FLOAT are stored as Doubles. All other types are Text types.
This method is called for ASCII or BINARY PDS tables.
cdesc | Column description to create the TableField from |
Definition at line 835 of file ImportPdsTable.cpp.
References Isis::ImportPdsTable::ColumnDescr::m_dataType, and Isis::ImportPdsTable::ColumnDescr::m_name.
|
private |
Creates an empty TableField with the appropriate type from a binary PDS table column description.
This method also determines whether the pds table has byte order LSB or MSB.
This method is only called for BINARY PDS tables.
cdesc | The ColumnDescr reference used to determine the column keyword values NAME, BYTES, and DATA_TYPE from the PDS file. |
IException::Unknown | "Only 4 byte integer values are supported in Isis. PDS column [column name] has an integer DATA_TYPE with [BYTES = column's number of bytes]." @throws IException::Unknown "Only 4 byte or 8 byte real values are supported in Isis. PDS column [column name] has a real DATA_TYPE with [BYTES = column's number of bytes]. |
IException::Unknown | "PDS column [column name] has an unsupported DATA_TYPE [data type]." |
Definition at line 1117 of file ImportPdsTable.cpp.
References _FILEINFO_, Isis::ImportPdsTable::ColumnDescr::m_dataType, Isis::ImportPdsTable::ColumnDescr::m_name, Isis::ImportPdsTable::ColumnDescr::m_numBytes, and Isis::toString().
|
private |
Creates a TableRecord for columns.
This method creates a TableRecord for each column in the table. This record should be provided when creating the ISIS Table object. It can also be used to populate the table. TableFields are added in the order provided in ctypes.
This method is called for ASCII or BINARY PDS tables.
ctypes | Columns to create fields for and add to record |
Definition at line 871 of file ImportPdsTable.cpp.
QString Isis::ImportPdsTable::name | ( | ) | const |
Return the name of the PDS table.
Definition at line 104 of file ImportPdsTable.cpp.
|
protectedvirtual |
Process a freshly read PDS table line of data.
row | Row number being processed |
rowdata | Character line of data |
Definition at line 1227 of file ImportPdsTable.cpp.
int Isis::ImportPdsTable::rows | ( | ) | const |
Returns the number of rows in the table.
This method can be called for ASCII or BINARY PDS tables.
Definition at line 1026 of file ImportPdsTable.cpp.
void Isis::ImportPdsTable::setName | ( | const QString & | name = "TABLE" | ) |
Set the name of the PDS table object.
name | New name for the PDS table object |
Definition at line 113 of file ImportPdsTable.cpp.
|
private |
Sets the byte order for BINARY PDS table files.
This method is only used for BINARY PDS tables.
byteOrder | The byte order of the PDS binary table. Valid values are "LSB" or "MSB". |
IException::Unknown | "Unable to import the binary PDS table [table name]. The column DATA_TYPE values indicate differing byte orders." |
Definition at line 1206 of file ImportPdsTable.cpp.
References _FILEINFO_.
bool Isis::ImportPdsTable::setType | ( | const QString & | colName, |
const QString & | dataType | ||
) |
Change the datatype for a column.
This method changes the data type the specified column. If the column can not be found, false is returned (indicating an unsuccessful change).
This method can be called for ASCII or BINARY PDS tables.
colName | Name of column to change. |
dtype | New type of column. Support types are DOUBLE, REAL, INTEGER and CHARACTER. Unsupported/unknown types are treated as CHARACTER. |
Definition at line 310 of file ImportPdsTable.cpp.
References Isis::ImportPdsTable::ColumnDescr::m_dataType.
|
private |
The byte order of the PDS table file, if binary.
Valid values are "MSB" or "LSB".
Definition at line 216 of file ImportPdsTable.h.
|
private |
Column descriptions.
Definition at line 208 of file ImportPdsTable.h.
|
private |
The name of the file containing the table data.
Definition at line 214 of file ImportPdsTable.h.
|
private |
The start byte of the PDS table data.
Definition at line 215 of file ImportPdsTable.h.
|
private |
The INTERCHANGE_FORMAT value for the table.
Definition at line 210 of file ImportPdsTable.h.
|
private |
The number of bytes for one Isis table record.
Definition at line 212 of file ImportPdsTable.h.
|
private |
The number of bytes for one PDS table row.
Definition at line 211 of file ImportPdsTable.h.
|
private |
Table data.
Definition at line 209 of file ImportPdsTable.h.
|
private |
The name of the PDS table object.
Definition at line 213 of file ImportPdsTable.h.
|
private |
Number rows in table according to label.
Definition at line 207 of file ImportPdsTable.h.