2017-05-04 20:25:47 +02:00
|
|
|
#ifndef ALBERSEQUAL_H
|
|
|
|
#define ALBERSEQUAL_H
|
|
|
|
|
2018-01-25 00:19:11 +01:00
|
|
|
#include "ct.h"
|
2017-05-04 20:25:47 +02:00
|
|
|
|
2018-02-26 19:13:57 +01:00
|
|
|
class Ellipsoid;
|
|
|
|
|
2018-01-25 00:19:11 +01:00
|
|
|
class AlbersEqual : public CT
|
2017-05-04 20:25:47 +02:00
|
|
|
{
|
|
|
|
public:
|
2018-01-20 20:13:56 +01:00
|
|
|
AlbersEqual(const Ellipsoid *ellipsoid, double standardParallel1,
|
2017-05-04 20:25:47 +02:00
|
|
|
double standardParallel2, double latitudeOrigin, double longitudeOrigin,
|
|
|
|
double falseEasting, double falseNorthing);
|
|
|
|
|
2018-01-25 00:19:11 +01:00
|
|
|
virtual CT *clone() const {return new AlbersEqual(*this);}
|
2020-04-21 23:26:35 +02:00
|
|
|
virtual bool operator==(const CT &ct) const;
|
2018-01-25 00:19:11 +01:00
|
|
|
|
2018-04-15 16:27:47 +02:00
|
|
|
virtual PointD ll2xy(const Coordinates &c) const;
|
|
|
|
virtual Coordinates xy2ll(const PointD &p) const;
|
2017-05-04 20:25:47 +02:00
|
|
|
|
|
|
|
private:
|
|
|
|
double _latitudeOrigin;
|
|
|
|
double _longitudeOrigin;
|
|
|
|
double _falseEasting;
|
|
|
|
double _falseNorthing;
|
|
|
|
|
2018-03-19 19:13:48 +01:00
|
|
|
double _a2;
|
2017-05-04 20:25:47 +02:00
|
|
|
double _rho0;
|
2020-01-23 23:19:32 +01:00
|
|
|
double _c;
|
2017-05-04 20:25:47 +02:00
|
|
|
double _n;
|
2018-05-17 22:41:56 +02:00
|
|
|
double _e;
|
2017-05-04 20:25:47 +02:00
|
|
|
double _es;
|
|
|
|
double _a_over_n;
|
2018-05-17 22:41:56 +02:00
|
|
|
double _one_minus_es;
|
|
|
|
double _two_e;
|
2017-05-04 20:25:47 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // ALBERSEQUAL_H
|