GeoTessCPP  2.2
Software to facilitate storage and retrieval of 3D information about the Earth.
Public Member Functions | Static Public Member Functions | List of all members
geotess::GeoTessMetaData Class Reference

Basic metadata information about a GeoTessModel. More...

#include <GeoTessMetaData.h>

Public Member Functions

 GeoTessMetaData ()
 Default constructor. More...
 
 GeoTessMetaData (const string &fileName)
 Load just the metaData object from a GeoTessModel file. More...
 
 GeoTessMetaData (const GeoTessMetaData &md)
 Copy constructor. More...
 
virtual ~GeoTessMetaData ()
 Destructor. More...
 
GeoTessMetaDatacopy ()
 Retrieve a deep copy of this GeoTessMetaData object. More...
 
int getAttributeIndex (string name)
 Retrieve the index of the attribute that has the specified name. More...
 
const string & getAttributeName (int attributeIndex) const
 Retrieve the name of the i'th attribute supported by the model. More...
 
void getAttributeNames (vector< string > &attributes)
 Retrieve the names of the attributes supported by the model. More...
 
const string *const getAttributeNames ()
 Retrieve the names of the attributes supported by the model. More...
 
string getAttributeNamesString () const
 Retrieve the names of all the attributes assembled into a single, semi-colon separated string. More...
 
string getAttributeString (int attributeIndex) const
 Retrieve the units of the i'th attribute supported by the model. More...
 
const string & getAttributeUnit (int attributeIndex) const
 Retrieve the units of the i'th attribute supported by the model. More...
 
void getAttributeUnits (vector< string > &units)
 Retrieve the units of the attributes supported by the model. More...
 
const string *const getAttributeUnits ()
 Retrieve the units of the attributes supported by the model. More...
 
string getAttributeUnitsString () const
 Retrieve the units of all the attributes assembled into a single, semi-colon separated string. More...
 
const GeoTessDataTypegetDataType () const
 Return the type of all the data stored in the model; Will be one of DOUBLE, FLOAT, LONG, INT, SHORTINT, BYTE. More...
 
const string & getDescription () const
 Retrieve the description of the model. More...
 
EarthShapegetEarthShape ()
 Retrieve a reference to the ellipsoid that is stored in this GeoTessModel. More...
 
int getFirstLayer (const int &tessId)
 Retrieve the index of the first layer associated with the specified tessellation. More...
 
const string & getInputGridFile () const
 Retrieve the name of the file from which the grid was loaded, or "none". More...
 
const string & getInputModelFile () const
 Retrieve the name of the file from which the model was loaded, or "none". More...
 
int getLastLayer (const int &tessId)
 Retrieve the index of the last layer associated with the specified tessellation. More...
 
int getLayerIndex (const string &layerName) const
 Retrieve the index of the layer that has the specified name, or -1. More...
 
string getLayerName (const int &layerIndex)
 Retrieve the name of one of the layers supported by the model. More...
 
void getLayerNames (vector< string > &layers)
 Retrieve the names of the layers supported by the model. More...
 
const string *const getLayerNames ()
 Retrieve the names of the layers supported by the model. More...
 
string getLayerNamesString ()
 Retrieve the names of all the layers assembled into a single, semi-colon separated string. More...
 
void getLayers (const int &tessId, vector< int > &layers)
 Retrieve a list of all the layer indexes that are associated with a specific tessellation index. More...
 
const int * getLayerTessIds () const
 Retrieve a reference to layerTessIds; an int[] with an entry for each layer specifying the index of the tessellation that supports that layer. More...
 
double getLoadTimeModel () const
 Retrieve the amount of time, in seconds, required to load the model, or -1. More...
 
LONG_INT getMemory ()
 
const string & getModelGenerationDate ()
 Retrieve the date when the content of this model was generated. More...
 
const string & getModelSoftwareVersion ()
 Get the name and version of the software that generated the content of this model. More...
 
int getNAttributes () const
 Retrieve the number of attributes supported by the model. More...
 
int getNLayers () const
 Retrieve the number of layers represented in the model. More...
 
int getNVertices () const
 Retrieve the number of vertices in the 2D grid. More...
 
const string & getOutputGridFile () const
 Retrieve the name of the file to which the grid was most recently written, or "none". More...
 
const string & getOutputModelFile () const
 Retrieve the name of the file to which the model was most recently written, or "none". More...
 
int getTessellation (int layer) const
 Retrieve the index of the tessellation that supports the specified layer. More...
 
double getWriteTimeModel () const
 Retrieve the amount of time, in seconds, required to write the model to file, or -1. More...
 
bool isGridReuseOn ()
 Returns true if grid reuse is on. More...
 
bool operator!= (const GeoTessMetaData &other)
 Overloaded inequality operator. More...
 
GeoTessMetaDataoperator= (const GeoTessMetaData &other)
 Overloaded assignment operator. More...
 
bool operator== (const GeoTessMetaData &other)
 Overloaded equality operator. More...
 
void setAttributes (const string &nms, const string &unts)
 Specify the names of all the layers that comprise the model. More...
 
void setAttributes (const vector< string > &names, const vector< string > &units)
 Specify the names and units of the attributes that comprise the model. More...
 
void setDataType (const GeoTessDataType &dt)
 Specify the type of the data that is stored in the model. More...
 
void setDataType (const string &dt)
 Specify the type of the data that is stored in the model; Must be one of DOUBLE, FLOAT, LONG, INT, SHORTINT, BYTE. More...
 
void setDescription (const string &dscr)
 Set the description of the model. More...
 
void setEarthShape (const string &earthShapeName)
 Specify the name of the ellipsoid that is to be used to convert between geocentric and geographic latitude and between depth and radius. More...
 
void setLayerNames (const string &lyrNms)
 Specify the names of all the layers that comprise the model. More...
 
void setLayerNames (vector< string > &layrNms)
 Specify the names of all the layers that comprise the model. More...
 
void setLayerTessIds (int layrTsIds[])
 LayerTessIds is a map from a layer index to a tessellation index. More...
 
void setLayerTessIds (vector< int > &layrTsIds)
 LayerTessIds is a map from a layer index to a tessellation index. More...
 
void setModelGenerationDate (const string &genDate)
 Set the date when this model was generated. More...
 
void setModelSoftwareVersion (const string &swVersion)
 Set the name and version number of the software that generated the contents of this model. More...
 
void setReuseGrids (bool rg)
 Set grid reuse on or off. More...
 
string toString (const string &className, LONG_INT memory) const
 toString function. More...
 
string toString () const
 toString function. More...
 

Static Public Member Functions

static string class_name ()
 Returns the class name. More...
 

Detailed Description

Basic metadata information about a GeoTessModel.

GeoTessMetaData stores basic information about a GeoTessModel, including:

Each GeoTessModel has a single instance of MetaData that it passes around to wherever the information is needed.

Author
Sandy Ballard

Constructor & Destructor Documentation

geotess::GeoTessMetaData::GeoTessMetaData ( )
inline

Default constructor.

During construction of a GeoTessModel object, the following methods should be called to make the MetaData object complete.

geotess::GeoTessMetaData::GeoTessMetaData ( const string &  fileName)

Load just the metaData object from a GeoTessModel file.

Parameters
fileNamename of GeoTessModel from which to read meta data
geotess::GeoTessMetaData::GeoTessMetaData ( const GeoTessMetaData md)

Copy constructor.

Parameters
mdreference to meta data object to copy.
virtual geotess::GeoTessMetaData::~GeoTessMetaData ( )
virtual

Destructor.

Member Function Documentation

static string geotess::GeoTessMetaData::class_name ( )
inlinestatic

Returns the class name.

Returns
class name
GeoTessMetaData* geotess::GeoTessMetaData::copy ( )
inline

Retrieve a deep copy of this GeoTessMetaData object.

Returns
a pointer to a deep copy of this GeoTessMetaData object.
int geotess::GeoTessMetaData::getAttributeIndex ( string  name)

Retrieve the index of the attribute that has the specified name.

Parameters
name
Returns
the index of the attribute that has the specified name.
const string& geotess::GeoTessMetaData::getAttributeName ( int  attributeIndex) const
inline

Retrieve the name of the i'th attribute supported by the model.

Parameters
attributeIndex
Returns
the name of the i'th attribute supported by the model.
void geotess::GeoTessMetaData::getAttributeNames ( vector< string > &  attributes)
inline

Retrieve the names of the attributes supported by the model.

Parameters
attributesa vector of strings that will be cleared and populated with the names of the attributes
const string* const geotess::GeoTessMetaData::getAttributeNames ( )
inline

Retrieve the names of the attributes supported by the model.

There will be nAttributes elements in the returned string array.

Returns
the names of the attributes supported by the model.
string geotess::GeoTessMetaData::getAttributeNamesString ( ) const

Retrieve the names of all the attributes assembled into a single, semi-colon separated string.

Returns
the names of all the attributes assembled into a single, semi-colon separated string.
string geotess::GeoTessMetaData::getAttributeString ( int  attributeIndex) const
inline

Retrieve the units of the i'th attribute supported by the model.

Parameters
attributeIndex
Returns
the units of the i'th attribute supported by the model.
const string& geotess::GeoTessMetaData::getAttributeUnit ( int  attributeIndex) const
inline

Retrieve the units of the i'th attribute supported by the model.

Parameters
attributeIndex
Returns
the units of the i'th attribute supported by the model.
void geotess::GeoTessMetaData::getAttributeUnits ( vector< string > &  units)
inline

Retrieve the units of the attributes supported by the model.

Parameters
unitsa vector of strings that will be cleared and populated with the units of the attributes
const string* const geotess::GeoTessMetaData::getAttributeUnits ( )
inline

Retrieve the units of the attributes supported by the model.

There will be nAttributes elements in the returned string array.

Returns
the units of the attributes supported by the model.
string geotess::GeoTessMetaData::getAttributeUnitsString ( ) const

Retrieve the units of all the attributes assembled into a single, semi-colon separated string.

Returns
the units of all the attributes assembled into a single, semi-colon separated string.
const GeoTessDataType& geotess::GeoTessMetaData::getDataType ( ) const
inline

Return the type of all the data stored in the model; Will be one of DOUBLE, FLOAT, LONG, INT, SHORTINT, BYTE.

Returns
the dataType
const string& geotess::GeoTessMetaData::getDescription ( ) const
inline

Retrieve the description of the model.

Returns
the description of the model.
EarthShape& geotess::GeoTessMetaData::getEarthShape ( )
inline

Retrieve a reference to the ellipsoid that is stored in this GeoTessModel.

This EarthShape object can be used to convert between geographic and geocentric latitude, and between radius and depth in the Earth.

The following EarthShapes are supported:

  • SPHERE - Geocentric and geographic latitudes are identical and conversion between depth and radius assume the Earth is a sphere with constant radius of 6371 km.
  • GRS80 - Conversion between geographic and geocentric latitudes, and between depth and radius are performed using the parameters of the GRS80 ellipsoid.
  • GRS80_RCONST - Conversion between geographic and geocentric latitudes are performed using the parameters of the GRS80 ellipsoid. Conversions between depth and radius assume the Earth is a sphere with radius 6371.
  • WGS84 - Conversion between geographic and geocentric latitudes, and between depth and radius are performed using the parameters of the WGS84 ellipsoid.
  • WGS84_RCONST - Conversion between geographic and geocentric latitudes are performed using the parameters of the WGS84 ellipsoid. Conversions between depth and radius assume the Earth is a sphere with radius 6371.
  • IERS2003 - Conversion between geographic and geocentric latitudes, and between depth and radius are performed using the parameters of the IERS2003 ellipsoid.
  • IERS2003_RCONST - Conversion between geographic and geocentric latitudes are performed using the parameters of the IERS2003 ellipsoid. Conversions between depth and radius assume the Earth is a sphere with radius 6371.
Returns
a reference to the EarthShape currently in use.
int geotess::GeoTessMetaData::getFirstLayer ( const int &  tessId)
inline

Retrieve the index of the first layer associated with the specified tessellation.

Parameters
tessIdtessellation index
Returns
the index of the first layer associated with the specified tessellation.
const string& geotess::GeoTessMetaData::getInputGridFile ( ) const
inline

Retrieve the name of the file from which the grid was loaded, or "none".

Returns
the name of the file from which the grid was loaded, or "none".
const string& geotess::GeoTessMetaData::getInputModelFile ( ) const
inline

Retrieve the name of the file from which the model was loaded, or "none".

Returns
the name of the file from which the model was loaded, or "none".
int geotess::GeoTessMetaData::getLastLayer ( const int &  tessId)
inline

Retrieve the index of the last layer associated with the specified tessellation.

Parameters
tessIdtessellation index
Returns
the index of the last layer associated with the specified tessellation.
int geotess::GeoTessMetaData::getLayerIndex ( const string &  layerName) const

Retrieve the index of the layer that has the specified name, or -1.

Parameters
layerNamethe name of the layer whose index is sought.
Returns
the index of the layer that has the specified name, or -1.
string geotess::GeoTessMetaData::getLayerName ( const int &  layerIndex)
inline

Retrieve the name of one of the layers supported by the model.

Parameters
layerIndexthe index of the layer
Returns
the name of the layer
void geotess::GeoTessMetaData::getLayerNames ( vector< string > &  layers)
inline

Retrieve the names of the layers supported by the model.

Parameters
layersa vector of strings that will be cleared and populated with the layer names
const string* const geotess::GeoTessMetaData::getLayerNames ( )
inline

Retrieve the names of the layers supported by the model.

There will be nLayers elements in the returned string array.

Returns
a reference to the array of layer names
string geotess::GeoTessMetaData::getLayerNamesString ( )

Retrieve the names of all the layers assembled into a single, semi-colon separated string.

Returns
the names of all the layers assembled into a single, semi-colon separated string.
void geotess::GeoTessMetaData::getLayers ( const int &  tessId,
vector< int > &  layers 
)
inline

Retrieve a list of all the layer indexes that are associated with a specific tessellation index.

Parameters
tessIdtessellation index
layers(output) a list of all the layer indexes that are associated with a specific tessellation index.
const int* geotess::GeoTessMetaData::getLayerTessIds ( ) const
inline

Retrieve a reference to layerTessIds; an int[] with an entry for each layer specifying the index of the tessellation that supports that layer.

Returns
a reference to layerTessIds
double geotess::GeoTessMetaData::getLoadTimeModel ( ) const
inline

Retrieve the amount of time, in seconds, required to load the model, or -1.

Returns
the amount of time, in seconds, required to load the model, or -1.
LONG_INT geotess::GeoTessMetaData::getMemory ( )
inline
const string& geotess::GeoTessMetaData::getModelGenerationDate ( )
inline

Retrieve the date when the content of this model was generated.

This is not necessarily the same as the date when the file was copied or translated.

Returns
the date when the content of this model was generated. This is not necessarily the same as the date when the file was copied or translated.
const string& geotess::GeoTessMetaData::getModelSoftwareVersion ( )
inline

Get the name and version of the software that generated the content of this model.

Returns
the name and version of the software that generated this model.
int geotess::GeoTessMetaData::getNAttributes ( ) const
inline

Retrieve the number of attributes supported by the model.

Returns
the number of attributes supported by the model.
int geotess::GeoTessMetaData::getNLayers ( ) const
inline

Retrieve the number of layers represented in the model.

Returns
number of layers represented in the model.
int geotess::GeoTessMetaData::getNVertices ( ) const
inline

Retrieve the number of vertices in the 2D grid.

Returns
number of layers represented in the model.
const string& geotess::GeoTessMetaData::getOutputGridFile ( ) const
inline

Retrieve the name of the file to which the grid was most recently written, or "none".

Returns
the name of the file to which the grid was most recently written, or "none".
const string& geotess::GeoTessMetaData::getOutputModelFile ( ) const
inline

Retrieve the name of the file to which the model was most recently written, or "none".

Returns
the name of the file to which the model was most recently written, or "none".
int geotess::GeoTessMetaData::getTessellation ( int  layer) const
inline

Retrieve the index of the tessellation that supports the specified layer.

Parameters
layer
Returns
the index of the tessellation that supports the specified layer.
double geotess::GeoTessMetaData::getWriteTimeModel ( ) const
inline

Retrieve the amount of time, in seconds, required to write the model to file, or -1.

Returns
the amount of time, in seconds, required to write the model to file, or -1.
bool geotess::GeoTessMetaData::isGridReuseOn ( )
inline

Returns true if grid reuse is on.

Returns
true if grid reuse is on.
bool geotess::GeoTessMetaData::operator!= ( const GeoTessMetaData other)
inline

Overloaded inequality operator.

Parameters
otherreference to the other meta data object to which this meta data object is to be compared
Returns
true if this and other are not equal.
GeoTessMetaData& geotess::GeoTessMetaData::operator= ( const GeoTessMetaData other)

Overloaded assignment operator.

Parameters
otherreference to meta data object to copy.
Returns
reference to copy of other
bool geotess::GeoTessMetaData::operator== ( const GeoTessMetaData other)

Overloaded equality operator.

Parameters
otherreference to the other meta data object to which this meta data object is to be compared
Returns
true if this and other are equal.
void geotess::GeoTessMetaData::setAttributes ( const string &  nms,
const string &  unts 
)
inline

Specify the names of all the layers that comprise the model.

This will determine the value of nLayers as well. The input lyrNms is a semicolon concatenation of all layer names (i.e. LAYERNAME1; LAYERNAME2; ...).

Parameters
nmsthe names of the attributes
untsthe units of the attributes
void geotess::GeoTessMetaData::setAttributes ( const vector< string > &  names,
const vector< string > &  units 
)

Specify the names and units of the attributes that comprise the model.

The number names and units must be equal.

Parameters
namesnames of the attributes.
unitsunits of the attributes.
void geotess::GeoTessMetaData::setDataType ( const GeoTessDataType dt)

Specify the type of the data that is stored in the model.

Parameters
dtthe dataType to set
void geotess::GeoTessMetaData::setDataType ( const string &  dt)

Specify the type of the data that is stored in the model; Must be one of DOUBLE, FLOAT, LONG, INT, SHORTINT, BYTE.

Parameters
dtthe dataType to set
void geotess::GeoTessMetaData::setDescription ( const string &  dscr)
inline

Set the description of the model.

Parameters
dscrthe description of the model.
void geotess::GeoTessMetaData::setEarthShape ( const string &  earthShapeName)
inline

Specify the name of the ellipsoid that is to be used to convert between geocentric and geographic latitude and between depth and radius.

This ellipsoid will be save in this GeoTessModel if it is written to file. The following EarthShapes are supported:

  • SPHERE - Geocentric and geographic latitudes are identical and conversion between depth and radius assume the Earth is a sphere with constant radius of 6371 km.
  • GRS80 - Conversion between geographic and geocentric latitudes, and between depth and radius are performed using the parameters of the GRS80 ellipsoid.
  • GRS80_RCONST - Conversion between geographic and geocentric latitudes are performed using the parameters of the GRS80 ellipsoid. Conversions between depth and radius assume the Earth is a sphere with radius 6371.
  • WGS84 - Conversion between geographic and geocentric latitudes, and between depth and radius are performed using the parameters of the WGS84 ellipsoid.
  • WGS84_RCONST - Conversion between geographic and geocentric latitudes are performed using the parameters of the WGS84 ellipsoid. Conversions between depth and radius assume the Earth is a sphere with radius 6371.
  • IERS2003 - Conversion between geographic and geocentric latitudes, and between depth and radius are performed using the parameters of the IERS2003 ellipsoid.
  • IERS2003_RCONST - Conversion between geographic and geocentric latitudes are performed using the parameters of the IERS2003 ellipsoid. Conversions between depth and radius assume the Earth is a sphere with radius 6371.
Parameters
earthShapeNamethe name of the ellipsoid that is to be used.
void geotess::GeoTessMetaData::setLayerNames ( const string &  lyrNms)
inline

Specify the names of all the layers that comprise the model.

This will determine the value of nLayers as well. The input lyrNms is a semicolon concatenation of all layer names (i.e. LAYERNAME1; LAYERNAME2; ...).

Parameters
lyrNmssingle string containing all the layer names separated by semi-colons
void geotess::GeoTessMetaData::setLayerNames ( vector< string > &  layrNms)

Specify the names of all the layers that comprise the model.

This will determine the value of nLayers as well.

Parameters
layrNmsthe names of the layers that comprise the model.
void geotess::GeoTessMetaData::setLayerTessIds ( int  layrTsIds[])
inline

LayerTessIds is a map from a layer index to a tessellation index.

There is an element for each layer. This method can only be called after the names of the layers have been specified with call to GeoTessMetaData::setLayerNames().

This method makes a copy of the supplied interger array.

Parameters
layrTsIdsan int[] of length equal to the number of layers in the model.
void geotess::GeoTessMetaData::setLayerTessIds ( vector< int > &  layrTsIds)

LayerTessIds is a map from a layer index to a tessellation index.

There is an element for each layer.

Parameters
layrTsIdsan vector<int> of length equal to the number of layers in the model.
void geotess::GeoTessMetaData::setModelGenerationDate ( const string &  genDate)
inline

Set the date when this model was generated.

This is not necessarily the same as the date when the file was copied or translated.

Parameters
genDate
void geotess::GeoTessMetaData::setModelSoftwareVersion ( const string &  swVersion)
inline

Set the name and version number of the software that generated the contents of this model.

Parameters
swVersion
void geotess::GeoTessMetaData::setReuseGrids ( bool  rg)
inline

Set grid reuse on or off.

Parameters
rgtrue turns grid reuse on.
string geotess::GeoTessMetaData::toString ( const string &  className,
LONG_INT  memory 
) const

toString function.

Returns
string representation of this meta data object
string geotess::GeoTessMetaData::toString ( ) const

toString function.

Returns
string representation of this meta data object

The documentation for this class was generated from the following file: