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 longitudeDegrees;
    double longitudeMinutes;
    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 -90 (South Pole) or +90 (North Pole)

double latitudeMinutes

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

int longitudeDegrees

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

double longitudeMinutes

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

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)