SpecialMetadata.h

Go to the documentation of this file.
00001 /*
00002  * The information in this file is
00003  * Copyright(c) 2007 Ball Aerospace & Technologies Corporation
00004  * and is subject to the terms and conditions of the
00005  * GNU Lesser General Public License Version 2.1
00006  * The license text is available from   
00007  * http://www.gnu.org/licenses/lgpl.html
00008  */
00009 
00010 #ifndef SPECIALMETADATA_H
00011 #define SPECIALMETADATA_H
00012 
00013 #include <string>
00014 
00015 /**
00016  * Placeholder name for the end of DynamicObject::getAttributeByPath() and
00017  * DynamicObject::setAttributeByPath().
00018  */
00019 #define END_METADATA_NAME (std::string("END_METADATA_NAME"))
00020 
00021 /**
00022  * The key for a DynamicObject which contains all metadata that is treated specially.
00023  *
00024  * @see \ref specialmetadata
00025  */
00026 #define SPECIAL_METADATA_NAME (std::string("Special"))
00027 
00028 /**
00029  * The key for a DynamicObject used to contain row-oriented metadata.
00030  *
00031  * %Any items contained within this dynamic object will be chipped when the
00032  * RasterElement is chipped.  For more details see RasterUtilities::chipMetadata().  %Any
00033  * vectors contained in this item, should be indexed using DimensionDescriptor::getActiveNumber().
00034  */
00035 #define ROW_METADATA_NAME (std::string("Row"))
00036 
00037 /**
00038  * The key for a DynamicObject used to contain column-oriented metadata.
00039  *
00040  * %Any items contained within this dynamic object will be chipped when the
00041  * RasterElement is chipped.  For more details see RasterUtilities::chipMetadata().  %Any
00042  * vectors contained in this item, should be indexed using DimensionDescriptor::getActiveNumber().
00043  */
00044 #define COLUMN_METADATA_NAME (std::string("Column"))
00045 
00046 /**
00047  * The key for a DynamicObject used to contain band-oriented metadata.
00048  *
00049  * %Any items contained within this dynamic object will be chipped when the
00050  * RasterElement is chipped.  For more details see RasterUtilities::chipMetadata().  %Any
00051  * vectors contained in this item, should be indexed using DimensionDescriptor::getActiveNumber().
00052  */
00053 #define BAND_METADATA_NAME (std::string("Band"))
00054 
00055 /**
00056  * The key for a vector<double> which contains the center wavelengths of the associated 
00057  * RasterElement's bands.  The wavelengths should be in microns.
00058  *
00059  * This vector should always be the size of RasterDataDescriptor::getBandCount().  An importer
00060  * should specifically populate this vector with RasterFileDescriptor::getBandCount() number
00061  * of items.  The center wavelengths should be populated with the center spectral wavelength for
00062  * the given band represented by DimensionDescriptor::getActiveNumber().
00063  */
00064 #define CENTER_WAVELENGTHS_METADATA_NAME (std::string("CenterWavelengths"))
00065 
00066 /**
00067  * The complete path for a vector<double> which contains the center wavelengths of the associated 
00068  * RasterElement's bands.  The wavelengths should be in microns.
00069  *
00070  * @see CENTER_WAVELENGTHS_METADATA_NAME
00071  */
00072 #define CENTER_WAVELENGTHS_METADATA_PATH (SPECIAL_METADATA_NAME + "/" + BAND_METADATA_NAME + "/" + CENTER_WAVELENGTHS_METADATA_NAME)
00073 
00074 /**
00075  * The key for a vector<double> which contains the start wavelengths of the associated 
00076  * RasterElement's bands.  The wavelengths should be in microns.
00077  *
00078  * This vector should always be the size of RasterDataDescriptor::getBandCount().  An importer
00079  * should specifically populate this vector with RasterFileDescriptor::getBandCount() number
00080  * of items.  The start wavelengths should be populated with the starting point of the spectral wavelength for
00081  * the given band represented by DimensionDescriptor::getActiveNumber().
00082  */
00083 #define START_WAVELENGTHS_METADATA_NAME (std::string("StartWavelengths"))
00084 
00085 /**
00086  * The complete path for a vector<double> which contains the start wavelengths of the associated 
00087  * RasterElement's bands.  The wavelengths should be in microns.
00088  *
00089  * @see START_WAVELENGTHS_METADATA_NAME
00090  */
00091 #define START_WAVELENGTHS_METADATA_PATH (SPECIAL_METADATA_NAME + "/" + BAND_METADATA_NAME + "/" + START_WAVELENGTHS_METADATA_NAME)
00092 
00093 /**
00094  * The key for a vector<double> which contains the end wavelengths of the associated 
00095  * RasterElement's bands.  The wavelengths should be in microns.
00096  *
00097  * This vector should always be the size of RasterDataDescriptor::getBandCount().  An importer
00098  * should specifically populate this vector with RasterFileDescriptor::getBandCount() number
00099  * of items.  The end wavelengths should be populated with the stopping point of the  spectral wavelength for
00100  * the given band represented by DimensionDescriptor::getActiveNumber().
00101  */
00102 #define END_WAVELENGTHS_METADATA_NAME (std::string("EndWavelengths"))
00103 
00104 /**
00105  * The complete path for a vector<double> which contains the end wavelengths of the associated 
00106  * RasterElement's bands.  The wavelengths should be in microns.
00107  *
00108  * @see END_WAVELENGTHS_METADATA_NAME
00109  */
00110 #define END_WAVELENGTHS_METADATA_PATH (SPECIAL_METADATA_NAME + "/" + BAND_METADATA_NAME + "/" + END_WAVELENGTHS_METADATA_NAME)
00111 
00112 /**
00113  *  The key for an attribute of type #WavelengthUnitsType that contains the
00114  *  wavelength units that should be displayed to the user.
00115  *
00116  *  @see     WAVELENGTH_DISPLAY_UNITS_METADATA_PATH
00117  */
00118 #define WAVELENGTH_DISPLAY_UNITS_METADATA_NAME (std::string("WavelengthDisplayUnits"))
00119 
00120 /**
00121  *  The complete path for an attribute of type #WavelengthUnitsType that
00122  *  contains the wavelength units that should be displayed to the user.
00123  *
00124  *  @see     WAVELENGTH_DISPLAY_UNITS_METADATA_NAME
00125  */
00126 #define WAVELENGTH_DISPLAY_UNITS_METADATA_PATH (SPECIAL_METADATA_NAME + "/" + BAND_METADATA_NAME + "/" + WAVELENGTH_DISPLAY_UNITS_METADATA_NAME)
00127 
00128 /**
00129  * The key for a vector<string> which contains the names of the associated 
00130  * RasterElement's bands.
00131  *
00132  * This vector should always be the size of RasterDataDescriptor::getBandCount().  An importer
00133  * should specifically populate this vector with RasterFileDescriptor::getBandCount() number
00134  * of items.  The band names should be populated with the names of the band that should
00135  * be displayed to the user.  If this value is present, 
00136  * SPECIAL_METADATA_NAME / BAND_NAME_PREFIX_METADATA_NAME will be ignored.
00137  */
00138 #define NAMES_METADATA_NAME (std::string("Names"))
00139 
00140 /**
00141  * The key for a string which contains a common prefix for the names of the associated
00142  * RasterElement's bands.
00143  * 
00144  * If provided, this text will be prepended to the DimensionDescriptor::getOriginalNumber()
00145  * of a given band before displaying it to the user.  This value will not be used if 
00146  * SPECIAL_METADATA_NAME / NAMES_METADATA_NAME has been populated.
00147  */
00148 #define BAND_NAME_PREFIX_METADATA_NAME (std::string("BandNamePrefix"))
00149 
00150 /**
00151  * The key for a DateTime which specifies when the associated DataElement was
00152  * captured.
00153  *
00154  * This key should not be used when there is no clear single 
00155  * date/time associated with the DataElement.
00156  */
00157 #define COLLECTION_DATE_TIME_METADATA_NAME (std::string("CollectionDateTime"))
00158 
00159 /**
00160  * The full path for a DateTime which specifies when the associated DataElement was
00161  * captured.
00162  *
00163  * @see COLLECTION_DATE_TIME_METADATA_NAME
00164  */
00165 #define COLLECTION_DATE_TIME_METADATA_PATH (SPECIAL_METADATA_NAME + "/" + COLLECTION_DATE_TIME_METADATA_NAME)
00166 
00167 /**
00168 * The key for a double which specifies the altitude of the sensor when the associated DataElement was
00169 * captured.
00170 */
00171 #define SENSOR_ALTITUDE_METADATA_NAME (std::string("SensorAltitude"))
00172 
00173 /**
00174 * The full path for a double which specifies the altitude of the sensor when the associated DataElement was
00175 * captured.
00176 *
00177 * @see SENSOR_ALTITUDE_METADATA_NAME
00178 */
00179 #define SENSOR_ALTITUDE_METADATA_PATH (SPECIAL_METADATA_NAME + "/" + SENSOR_ALTITUDE_METADATA_NAME)
00180 
00181 /**
00182 * The key for a double which specifies how many degrees a DataElement must be rotated counterclockwise
00183 * such that the sensor flight line is pointing at the top of the screen.
00184 */
00185 #define SENSOR_UP_ANGLE_METADATA_NAME (std::string("SensorUpAngle"))
00186 
00187 /**
00188 * The full path for a double which specifies how many degrees a DataElement must be rotated counterclockwise
00189 * such that the sensor flight line is pointing at the top of the screen.
00190 *
00191 * @see SENSOR_UP_ANGLE_METADATA_NAME
00192 */
00193 #define SENSOR_UP_ANGLE_METADATA_PATH (SPECIAL_METADATA_NAME + "/" + SENSOR_UP_ANGLE_METADATA_NAME)
00194 
00195 /**
00196 * The key for a double which specifies the altitude of the target when the associated DataElement was
00197 * captured.
00198 */
00199 #define TARGET_ALTITUDE_METADATA_NAME (std::string("TargetAltitude"))
00200 
00201 /**
00202 * The full path for a double which specifies the altitude of the target when the associated DataElement was
00203 * captured.
00204 *
00205 * @see TARGET_ALTITUDE_METADATA_NAME
00206 */
00207 #define TARGET_ALTITUDE_METADATA_PATH (SPECIAL_METADATA_NAME + "/" + TARGET_ALTITUDE_METADATA_NAME)
00208 
00209 /**
00210 * The key for a double which specifies the off-nadir angle of the sensor when the associated DataElement was
00211 * captured.
00212 */
00213 #define OFF_NADIR_ANGLE_METADATA_NAME (std::string("OffNadirAngle"))
00214 
00215 /**
00216 * The full path for a double which specifies the off-nadir angle of the sensor when the associated DataElement was
00217 * captured.
00218 *
00219 * @see OFF_NADIR_ANGLE_METADATA_NAME
00220 */
00221 #define OFF_NADIR_ANGLE_METADATA_PATH (SPECIAL_METADATA_NAME + "/" + OFF_NADIR_ANGLE_METADATA_NAME)
00222 
00223 #endif

Software Development Kit - Opticks 4.9.0 Build 16218