Isis 3 Programmer Reference
TransverseMercator.h
1#ifndef TransverseMercator_h
2#define TransverseMercator_h
8/* SPDX-License-Identifier: CC0-1.0 */
9#include "TProjection.h"
10
11namespace Isis {
12 class Pvl;
13 class PvlGroup;
58 public:
59 TransverseMercator(Pvl &label, bool allowDefaults = false);
61 bool operator== (const Projection &proj);
62
63 QString Name() const;
64 QString Version() const;
65
66 bool SetGround(const double lat, const double lon);
67 bool SetCoordinate(const double x, const double y);
68 bool XYRange(double &minX, double &maxX, double &minY, double &maxY);
69
73
74 private:
78 double m_eccsq;
79 double m_esp;
83 double m_e0;
87 double m_e1;
91 double m_e2;
94 double m_e3;
96 double m_ml0;
98 bool m_sph;
99 };
100};
101#endif
102
Base class for Map Projections.
Definition Projection.h:155
Contains multiple PvlContainers.
Definition PvlGroup.h:41
Container for cube-like labels.
Definition Pvl.h:119
Base class for Map TProjections.
TransverseMercator Map Projection.
~TransverseMercator()
Destroys the TransverseMercator object.
bool SetCoordinate(const double x, const double y)
This method is used to set the projection x/y.
double m_ml0
Distance along the meridian from the equator to the center latitude.
double m_eccsq
Eccentricity Squared.
double m_e2
Eccentricity Constant: e2 = 15e^4/256 * (1 + 3e^2/4)) estimates the value e2 = 15e^4/256 + 45e^6/1024...
QString Version() const
Returns the version of the map projection.
double m_scalefactor
Scale Factor for the projection.
double m_centerLatitude
The center latitude for the map projection.
PvlGroup Mapping()
This function returns the keywords that this projection uses.
PvlGroup MappingLongitudes()
This function returns the longitude keywords that this projection uses.
double m_esp
Snyder's (e')^2 variable from equation (8-12) on page.
double m_centerLongitude
The center longitude for the map projection.
bool operator==(const Projection &proj)
Compares two Projection objects to see if they are equal.
double m_e3
Eccentricity Constant: e3 = 35e^6/3072 estimates the value e3 = 35e^6/3072 + ...
TransverseMercator(Pvl &label, bool allowDefaults=false)
Constructs a TransverseMercator object.
bool m_sph
Flag set to true if sphere, and false if ellipsiod.
QString Name() const
Returns the name of the map projection, "TransverseMercator".
double m_e0
Eccentricity Constant: e0 = 1 - e^2/4 * (1 + 3e^2/16 * (3 + 5e^2/4)) estimates the value e0 = 1 - e^2...
bool SetGround(const double lat, const double lon)
This method is used to set the latitude/longitude (assumed to be of the correct LatitudeType,...
PvlGroup MappingLatitudes()
This function returns the latitude keywords that this projection uses.
bool XYRange(double &minX, double &maxX, double &minY, double &maxY)
This method is used to determine the x/y range which completely covers the area of interest specified...
double m_e1
Eccentricity Constant: e1 = 3e^2/8 * (1.0 + e^2/4 * (1.0 + 15e^2/32)) estimates the value e1 = 3e^2/8...
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16