struct P1::ImageSdk::GpsData#

Overview#

A GPS data bundle, that defines an auxillary GPS’s position on earth, along with a date-time stamp. More…

#include <P1ImageGpsImu.hpp>

struct GpsData
{
    // fields

    GpsDateTimeComponents gpsDateTimeStamp;
    int latitudeDegrees;
    double latitudeMinutes;
    int latitudeSign;
    int longitudeDegrees;
    double longitudeMinutes;
    int longitudeSign;
    Rational altitude;

    // methods

    double LatitudeAsDecimal() const;
    double LongitudeAsDecimal() const;
    std::string ToString() const;
};

Detailed Documentation#

A GPS data bundle, that defines an auxillary GPS’s position on earth, along with a date-time stamp.

Coordinates are stored in degrees and minutes (of arc) with decimals. (No seconds of arc components.)

Conveniece methods LatitudeAsDecimal() and LongitudeAsDecimal(), returns the decimal degrees representation. These are calculated using the formular:

decimalDegrees = degrees + minutes / 60

here are no convenience converters for convertion to a degree, minute & second representation.

However, the seconds components can be calculated from the minutes:

seconds = (minutes - floor(minutes)) * 60

The GPS timestamp might not contain a date component. This depends on the GPS device used, when the IIQ file was created. The member GpsDateTimeComponents::hasDate defines if date components (year, month, day) are present.

Fields#

GpsDateTimeComponents gpsDateTimeStamp

The GPS time stamp, that might include a date.

int latitudeDegrees

North-South point in (integer) degrees from 0 to +90, use latitudeSign to determine hemisphere.

double latitudeMinutes

Minute of arc part of the latitude coordinate (North-South)

int latitudeSign

Determine hemisphere -1 is southern +1 is nothern.

int longitudeDegrees

East-West point in (integer) degrees from 0 to +180, where 0 is near Greenwich, England. Use longitudeSign to determine hemisphere.

double longitudeMinutes

Minute of arc part of the longitude coordinate (East-West)

int longitudeSign

Determine hemisphere -1 is western +1 is eastern.

Rational altitude

Height of camera in meters, above sea level. Negative values means below sea level.

Methods#

double LatitudeAsDecimal() const

Return degrees only latitude coordinate. (Degrees with decimals)

double LongitudeAsDecimal() const

Return degrees only longitude coordinate. (Degrees with decimals)