Program Listing for File sbg_utm.h
↰ Return to documentation for file (include/sbg_driver/sbg_utm.h)
#ifndef SBG_UTM_H
#define SBG_UTM_H
// STL headers
#include <array>
namespace sbg
{
class Utm final
{
public:
//---------------------------------------------------------------------//
//- Constructor -//
//---------------------------------------------------------------------//
Utm() = default;
Utm(double latitude, double longitude);
//---------------------------------------------------------------------//
//- Parameters -//
//---------------------------------------------------------------------//
bool isInit() const;
int getZoneNumber() const;
double getMeridian() const;
char getLetterDesignator() const;
//---------------------------------------------------------------------//
//- Operations -//
//---------------------------------------------------------------------//
void init(double latitude, double longitude);
void clear();
std::array<double, 2> computeEastingNorthing(double latitude, double longitude) const;
private:
static int computeZoneNumber(double latitude, double longitude);
static char computeLetterDesignator(double latitude);
double computeMeridian() const;
bool is_init_ = false;
double meridian_{};
int zone_number_{};
char letter_designator_{};
};
}
#endif // SBG_UTM_H