te::qt::plugins::photolayer::ExifGpsMetadata Class Reference

Exchangeable image file format for digital still cameras. More...

#include <ExifGpsMetadata.h>

Public Member Functions

 ExifGpsMetadata (te::rst::Raster *raster)
 Constructor. More...
 
double getAltitude ()
 Function used to get the information about altitude. More...
 
std::string getDateTime ()
 Function used to get the date time information. More...
 
void getLatitudeDMS (double &degree, double &minute, double &second)
 Function used to get the latitude information. More...
 
te::gm::PointgetLocation ()
 Function used to get a geometry with raster gps location. More...
 
void getLongitudeDMS (double &degree, double &minute, double &second)
 Function used to get the longitude information. More...
 
 ~ExifGpsMetadata ()
 Destructor. More...
 

Static Public Member Functions

static bool HasExifGpsInfo (te::rst::Raster *raster)
 Static function used to check if raster has exif gps metadata information. More...
 

Protected Member Functions

double dms2dd (double degree, double minute, double second)
 Function used to convert from degree, minute, second to decimal degree. More...
 
std::string fixValue (const std::string &value)
 Function used to remove "(" and ")" from string. More...
 
void getDMS (const std::string &value, double &degree, double &minute, double &second)
 Function used to get the degree, minute, second information from a exif string value. More...
 

Protected Attributes

te::rst::Rasterm_raster
 Input raster. More...
 
std::map< std::string, std::string > m_rasterInfo
 Raster metadata information. More...
 

Detailed Description

Exchangeable image file format for digital still cameras.

Definition at line 52 of file ExifGpsMetadata.h.

Constructor & Destructor Documentation

◆ ExifGpsMetadata()

te::qt::plugins::photolayer::ExifGpsMetadata::ExifGpsMetadata ( te::rst::Raster raster)

Constructor.

Parameters
rThe raster to get gps information.

◆ ~ExifGpsMetadata()

te::qt::plugins::photolayer::ExifGpsMetadata::~ExifGpsMetadata ( )

Destructor.

Member Function Documentation

◆ dms2dd()

double te::qt::plugins::photolayer::ExifGpsMetadata::dms2dd ( double  degree,
double  minute,
double  second 
)
protected

Function used to convert from degree, minute, second to decimal degree.

Parameters
degreeReference value to degree information
minuteReference value to minute information
secondReference value to second information
Returns
double value with decimal degree information

◆ fixValue()

std::string te::qt::plugins::photolayer::ExifGpsMetadata::fixValue ( const std::string &  value)
protected

Function used to remove "(" and ")" from string.

Returns
string with only value contents

◆ getAltitude()

double te::qt::plugins::photolayer::ExifGpsMetadata::getAltitude ( )

Function used to get the information about altitude.

Returns
Double value with altitude information.
Note
GPSAltitude - Indicates the altitude based on the reference in GPSAltitudeRef. Altitude is expressed as one RATIONAL value. The reference unit is meters.

GPSAltitudeRef - Indicates the altitude used as the reference altitude.If the reference is sea level and the altitude is above sea level, 0 is given.If the altitude is below sea level, a value of 1 is given and the altitude is indicated as an absolute value in the GPSAltitude tag.The reference unit is meters.

◆ getDateTime()

std::string te::qt::plugins::photolayer::ExifGpsMetadata::getDateTime ( )

Function used to get the date time information.

Returns
String value with date time information.
Note
DateTimeOriginal - The date and time when the original image data was generated. For a DSC the date and time the picture was taken are recorded. The format is "YYYY:MM:DD HH:MM:SS" with time shown in 24-hour format, and the date and time separated by one blank character [20.H]. When the date and time are unknown, all the character spaces except colons (":") may be filled with blank characters, or else the Interoperability field may be filled with blank characters.

◆ getDMS()

void te::qt::plugins::photolayer::ExifGpsMetadata::getDMS ( const std::string &  value,
double &  degree,
double &  minute,
double &  second 
)
protected

Function used to get the degree, minute, second information from a exif string value.

Parameters
valueExif string value with dms information
degreeReference value to get degree information
minuteReference value to get minute information
secondReference value to get second information

◆ getLatitudeDMS()

void te::qt::plugins::photolayer::ExifGpsMetadata::getLatitudeDMS ( double &  degree,
double &  minute,
double &  second 
)

Function used to get the latitude information.

Parameters
degreeReference value to get degree information
minuteReference value to get minute information
secondReference value to get second information
Note
GPSLatitude - Indicates the latitude. The latitude is expressed as three RATIONAL values giving the degrees, minutes, and seconds, respectively.

GPSLatitudeRef - Indicates whether the latitude is north or south latitude. The ASCII value 'N' indicates north latitude, and 'S' is south latitude.

◆ getLocation()

te::gm::Point* te::qt::plugins::photolayer::ExifGpsMetadata::getLocation ( )

Function used to get a geometry with raster gps location.

Returns
Point geometry with raster location if it was readed correctly.
Note
Using default srs value: Lat Long with datum 'WGS-84' - SRID: 4326

◆ getLongitudeDMS()

void te::qt::plugins::photolayer::ExifGpsMetadata::getLongitudeDMS ( double &  degree,
double &  minute,
double &  second 
)

Function used to get the longitude information.

Parameters
degreeReference value to get degree information
minuteReference value to get minute information
secondReference value to get second information
Note
GPSLongitude - Indicates the longitude. The longitude is expressed as three RATIONAL values giving the degrees, minutes, and seconds, respectively.

GPSLongitudeRef - Indicates whether the longitude is east or west longitude. ASCII 'E' indicates east longitude, and 'W' is west longitude.

◆ HasExifGpsInfo()

static bool te::qt::plugins::photolayer::ExifGpsMetadata::HasExifGpsInfo ( te::rst::Raster raster)
static

Static function used to check if raster has exif gps metadata information.

Parameters
rThe raster to get gps information.
Note
GPSVersionID - Indicates the version of GPSInfoIFD. The version is given as 2.2.0.0. This tag is mandatory when GPSInfo tag is present.

Member Data Documentation

◆ m_raster

te::rst::Raster* te::qt::plugins::photolayer::ExifGpsMetadata::m_raster
protected

Input raster.

Definition at line 178 of file ExifGpsMetadata.h.

◆ m_rasterInfo

std::map<std::string, std::string> te::qt::plugins::photolayer::ExifGpsMetadata::m_rasterInfo
protected

Raster metadata information.

Definition at line 180 of file ExifGpsMetadata.h.


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