65 Equirectangular::Equirectangular(
Pvl &label,
bool allowDefaults) :
78 QString message =
"Cannot project using Equirectangular Cylindrical";
79 message +=
" without [CenterLongitude] value. Keyword does not exist";
80 message +=
" in labels and defaults are not allowed.";
91 QString message =
"Cannot project using Equirectangular Cylindrical";
92 message +=
" without [CenterLatitude] value. Keyword does not exist";
93 message +=
" in labels and defaults are not allowed.";
110 if (!mapGroup.
hasKeyword(
"CenterLatitudeRadius")) {
111 mapGroup +=
PvlKeyword(
"CenterLatitudeRadius");
120 QString message =
"Keyword value for CenterLatitude is " 121 "too close to the pole";
126 QString message =
"Invalid label group [Mapping]";
144 if (!Projection::operator==(proj))
return false;
159 return "Equirectangular";
205 double latRadians = lat *
PI / 180.0;
206 double lonRadians = lon *
PI / 180.0;
284 double &minY,
double &maxY) {
361 bool allowDefaults) {
virtual PvlGroup MappingLatitudes()
This function returns a PvlGroup containing the latitude keywords that this projection uses...
bool hasKeyword(const QString &name) const
Check to see if a keyword exists.
virtual PvlGroup Mapping()
This function returns a PvlGroup containing the keywords that this projection uses, namely CenterLatitude and CenterLongitude.
PvlGroupIterator findGroup(const QString &name, PvlGroupIterator beg, PvlGroupIterator end)
Find a group with the specified name, within these indexes.
bool SetGround(const double lat, const double lon)
This method is used to set the latitude/longitude (assumed to be of the correct LatitudeType, LongitudeDirection, and LongitudeDomain.
double m_centerLatitude
The center latitude for the map projection.
const double PI
The mathematical constant PI.
Longitude values increase in the westerly direction.
bool SetCoordinate(const double x, const double y)
This method is used to set the projection x/y.
QString Version() const
Returns the version of the map projection.
Base class for Map TProjections.
Isis::Projection * EquirectangularPlugin(Isis::Pvl &lab, bool allowDefaults)
This is the function that is called in order to instantiate a Equirectangular object.
const double HALFPI
The mathematical constant PI/2.
Namespace for the standard library.
double GetX() const
Calculates the unrotated form of current x value.
double m_minimumX
The data elements m_minimumX, m_minimumY, m_maximumX, and m_maximumY are convience data elements when...
QString toString(bool boolToConvert)
Global function to convert a boolean to a string.
A type of error that occurred when performing an actual I/O operation.
void SetComputedXY(double x, double y)
This protected method is a helper for derived classes.
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_latitude
This contains the currently set latitude value.
virtual PvlGroup MappingLatitudes()
This function returns the latitude keywords that this projection uses.
bool operator==(const Projection &proj)
Compares two Projection objects to see if they are equal.
double m_maximumY
See minimumX description.
double m_longitude
This contains the currently set longitude value.
double m_maximumLongitude
Contains the maximum longitude for the entire ground range.
double m_minimumLatitude
Contains the minimum latitude for the entire ground range.
double m_maximumLatitude
Contains the maximum latitude for the entire ground range.
Base class for Map Projections.
double m_minimumY
See minimumX description.
Equirectangular Map Projection.
double m_clatRadius
The radius of the target planet at the center latitude.
~Equirectangular()
Destroys the Equirectangular object.
Contains multiple PvlContainers.
#define _FILEINFO_
Macro for the filename and line number.
double LocalRadius() const
This method returns the local radius in meters at the current latitude position.
A single keyword-value pair.
A type of error that cannot be classified as any of the other error types.
Container for cube-like labels.
virtual PvlGroup Mapping()
This function returns the keywords that this projection uses.
double m_cosCenterLatitude
Cosine of the center latitude.
bool m_good
Indicates if the contents of m_x, m_y, m_latitude, and m_longitude are valid.
double m_centerLongitude
The center longitude for the map projection.
LongitudeDirection m_longitudeDirection
An enumerated type indicating the LongitudeDirection read from the labels.
double TrueScaleLatitude() const
Returns the latitude of true scale, in degrees.
Namespace for ISIS/Bullet specific routines.
bool IsEquatorialCylindrical()
Indicates whether the projection is Equitorial Cylindrical.
double GetY() const
Calculates the unrotated form of the current y value.
virtual PvlGroup MappingLongitudes()
This function returns the longitude keywords that this projection uses.
void SetXY(double x, double y)
This protected method is a helper for derived classes.
virtual PvlGroup MappingLongitudes()
This function returns a PvlGroup containing the longitude keywords that this projection uses...
void XYRangeCheck(const double latitude, const double longitude)
This convience function is established to assist in the development of the XYRange virtual method...
double m_minimumLongitude
Contains the minimum longitude for the entire ground range.
double m_maximumX
See minimumX description.
PvlGroup m_mappingGrp
Mapping group that created this projection.
QString Name() const
Returns the name of the map projection, "Equirectangular".