nn::jpeg::CTR::GpsData

nn::jpeg::CTR::GpsData Structure

Syntax

struct GpsData
{
bool isVersionIdValid;
bool isLatitudeValid;
bool isLongitudeValid;
bool isAltitudeRefValid;
bool isAltitudeValid;
bool isTimeStampValid;
bool isDopValid;
bool isSpeedValid;
bool isTrackValid;
bool isImgDirectionValid;
bool isDestLatitudeValid;
bool isDestLongitudeValid;
bool isDestBearingValid;
bool isDestDistanceValid;
bool isDifferentialValid;
u8 altitudeRef;
u8 versionId[GPS_VERSION_ID_SIZE];
char latitudeRef[GPS_REF_SIZE];
char longitudeRef[GPS_REF_SIZE];
char status[GPS_REF_SIZE];
char measureMode[GPS_REF_SIZE];
char speedRef[GPS_REF_SIZE];
char trackRef[GPS_REF_SIZE];
char imgDirectionRef[GPS_REF_SIZE];
char destLatitudeRef[GPS_REF_SIZE];
char destLongitudeRef[GPS_REF_SIZE];
char destBearingRef[GPS_REF_SIZE];
char destDistanceRef[GPS_REF_SIZE];
u16 differential;
Rational latitude[NUM_GPS_LATITUDE_RATIONALS];
Rational longitude[NUM_GPS_LONGITUDE_RATIONALS];
Rational altitude;
Rational timeStamp[NUM_GPS_TIME_STAMP_RATIONALS];
const char * pSatellites;
Rational dop;
Rational speed;
Rational track;
Rational imgDirection;
const char * pMapDatum;
Rational destLatitude[NUM_GPS_LATITUDE_RATIONALS];
Rational destLongitude[NUM_GPS_LONGITUDE_RATIONALS];
Rational destBearing;
Rational destDistance;
const u8 * pProcessingMethod;
size_t processingMethodSize;
const u8 * pAreaInformation;
size_t areaInformationSize;
const char * pDateStamp;
};

Description

This structure maintains GPS IFD in a format easily processed by the library.

To get information after decoding (after EXIF information has been extracted), use JpegMpDecoder::GetLastGpsData.
To register information before encoding, first initialize the structure using JpegMpEncoder::InitializeGpsData and then register data using JpegMpEncoder::SetGpsLatitude, for example. Finally, confirm the contents of the structure using JpegMpEncoder::SetGpsData.

Member Variables

isVersionIdValid bool Indicates whether the versionID is valid.
isLatitudeValid bool Indicates whether latitude is valid.
isLongitudeValid bool Indicates whether longitude is valid.
isAltitudeRefValid bool Indicates whether altitudeRef is valid.
isAltitudeValid bool Indicates whether altitude is valid.
isTimeStampValid bool Indicates whether timeStamp is valid.
isDopValid bool Indicates whether DOP is valid.
isSpeedValid bool Indicates whether speed is valid.
isTrackValid bool Indicates whether track is valid.
isImgDirectionValid bool Indicates whether imgDirection is valid.
isDestLatitudeValid bool Indicates whether destLatitude is valid.
isDestLongitudeValid bool Indicates whether destLongitude is valid.
isDestBearingValid bool Indicates whether destBearing is valid.
isDestDistanceValid bool Indicates whether destDistance is valid.
isDifferentialValid bool Indicates whether differential is valid.
altitudeRef u8 Represents the altitude reference.
versionId u8 Represents the GPS tag version.
latitudeRef char Represents North (N) or South (S). Valid if element 0 is not 0. Element [1] is always 0.
longitudeRef char Represents East (E) or West (W) Valid if element 0 is not 0. Element [1] is always 0.
status char Represents the GPS receiver status. Valid if element 0 is not 0. Element [1] is always 0.
measureMode char Represents the GPS measurement method. Valid if element 0 is not 0. Element [1] is always 0.
speedRef char Represents the velocity unit. Valid if element 0 is not 0. Element [1] is always 0.
trackRef char Represents the tracking direction. Valid if element 0 is not 0. Element [1] is always 0.
imgDirectionRef char Represents the orientation of the captured image. Valid if element 0 is not 0. Element [1] is always 0.
destLatitudeRef char Represents North (N) or South (S) latitude of the destination. Valid if element 0 is not 0. Element [1] is always 0.
destLongitudeRef char Represents East (E) or West (W) longitude of the destination. Valid if element 0 is not 0. Element [1] is always 0.
destBearingRef char Represents the bearing to the destination. Valid if element 0 is not 0. Element [1] is always 0.
destDistanceRef char Represents the distance to the destination. Valid if element 0 is not 0. Element [1] is always 0.
differential u16 Represents the GPS differential.
latitude Rational Represents the latitude (numeric value).
longitude Rational Represents the longitude (numeric value).
altitude Rational Represents the altitude (numeric value).
timeStamp Rational Represents the GPS time (atomic clock time)
pSatellites const char * Represents the satellite signal used for positioning. Valid unless NULL.
dop Rational Represents the reliability (dilution of precision) of the position.
speed Rational Represents the speed (numeric value).
track Rational Represents the tracking direction (numeric value).
imgDirection Rational Represents the orientation of the captured image.
pMapDatum const char * Represents map data used for positioning. Valid unless NULL.
destLatitude Rational Represents the latitude of the destination (numeric value).
destLongitude Rational Represents the longitude of the destination (numeric value).
destBearing Rational Represents the destination bearing (numeric value).
destDistance Rational Represents the distance to the destination (numeric value).
pProcessingMethod const u8 * Represents the name of the positioning method. Valid unless NULL.
processingMethodSize size_t Represents the data size in bytes of pProcessingMethod. Valid unless 0.
pAreaInformation const u8 * Represents the name of the identified area. Valid unless NULL.
areaInformationSize size_t Represents the size in bytes of pAreaInformation. Valid unless 0.
pDateStamp const char * Represents the GPS date stamp. Valid unless NULL.

Revision History

2010/10/21
Initial version.

CONFIDENTIAL