2017-03-29 00:17:47 +02:00
|
|
|
#ifndef TRANSVERSEMERCATOR_H
|
|
|
|
#define TRANSVERSEMERCATOR_H
|
|
|
|
|
|
|
|
#include "projection.h"
|
|
|
|
|
2017-04-03 20:29:35 +02:00
|
|
|
class Ellipsoid;
|
|
|
|
|
2017-03-29 00:17:47 +02:00
|
|
|
class TransverseMercator : public Projection
|
|
|
|
{
|
|
|
|
public:
|
2017-04-03 20:29:35 +02:00
|
|
|
TransverseMercator(const Ellipsoid &ellipsoid, double centralMeridian,
|
|
|
|
double scale, double falseEasting, double falseNorthing);
|
2017-03-29 00:17:47 +02:00
|
|
|
|
|
|
|
virtual QPointF ll2xy(const Coordinates &c) const;
|
|
|
|
virtual Coordinates xy2ll(const QPointF &p) const;
|
|
|
|
|
|
|
|
private:
|
|
|
|
double _centralMeridian;
|
|
|
|
double _scale;
|
|
|
|
double _falseEasting;
|
|
|
|
double _falseNorthing;
|
2017-04-02 22:18:03 +02:00
|
|
|
|
|
|
|
double _rectifyingRadius;
|
|
|
|
double _A, _B, _C, _D;
|
|
|
|
double _beta1, _beta2, _beta3, _beta4;
|
|
|
|
double _delta1, _delta2, _delta3, _delta4;
|
|
|
|
double _AStar, _BStar, _CStar, _DStar;
|
2017-03-29 00:17:47 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // TRANSVERSEMERCATOR_H
|