Isis 3.0 Object Programmers' Reference |
Home |
Equirectangular Map Projection. More...
#include <Equirectangular.h>
Public Types | |
enum | LatitudeType { Planetocentric, Planetographic } |
This enum defines the types of Latitude supported in this class. More... | |
enum | LongitudeDirection { PositiveEast, PositiveWest } |
This enum defines the types of Longitude directions supported in this class. More... | |
Public Member Functions | |
Equirectangular (Pvl &label, bool allowDefaults=false) | |
Constructs a Equirectangular object. | |
~Equirectangular () | |
Destroys the Equirectangular object. | |
bool | operator== (const Projection &proj) |
Compares two Projection objects to see if they are equal. | |
QString | Name () const |
Returns the name of the map projection, "Equirectangular". | |
QString | Version () const |
Returns the version of the map projection. | |
double | TrueScaleLatitude () const |
Returns the latitude of true scale (in the case of Equirectangular it is the center latitude). | |
bool | IsEquatorialCylindrical () |
Indicates whether the projection is Equitorial Cylindrical. | |
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. | |
bool | SetCoordinate (const double x, const double y) |
This method is used to set the projection x/y. | |
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 by the lat/lon range. | |
virtual PvlGroup | Mapping () |
This function returns the keywords that this projection uses. | |
virtual PvlGroup | MappingLatitudes () |
This function returns the latitude keywords that this projection uses. | |
virtual PvlGroup | MappingLongitudes () |
This function returns the longitude keywords that this projection uses. | |
bool | operator!= (const Projection &proj) |
This method determines whether two map projection objects are not equal. | |
bool | IsSky () const |
Returns true if projection is sky and false if it is land. | |
double | EquatorialRadius () const |
This returns the equatorial radius of the target. | |
double | PolarRadius () const |
This returns the polar radius of the target. | |
double | Eccentricity () const |
This returns the eccentricity of the target,. | |
double | LocalRadius (double lat) const |
This method returns the local radius in meters at the specified latitude position. | |
double | LocalRadius () const |
This method returns the local radius in meters at the current latitude position. | |
bool | IsPlanetocentric () const |
This indicates if the latitude type is planetocentric (as opposed to planetographic). | |
bool | IsPlanetographic () const |
This indicates if the latitude type is planetographic (as opposed to planetocentric). | |
QString | LatitudeTypeString () const |
This method returns the latitude type as a string. | |
double | ToPlanetocentric (const double lat) const |
This method converts a planetographic latitude to a planetocentric latitude. | |
double | ToPlanetographic (const double lat) const |
This method converts a planetocentric latitude to a planetographic latitude. | |
bool | IsPositiveEast () const |
This indicates if the longitude direction type is positive west (as opposed to postive east). | |
bool | IsPositiveWest () const |
This indicates if the longitude direction type is positive east (as opposed to postive west). | |
QString | LongitudeDirectionString () const |
This method returns the longitude direction as a string. | |
bool | Has180Domain () const |
This indicates if the longitude domain is -180 to 180 (as opposed to 0 to 360). | |
bool | Has360Domain () const |
This indicates if the longitude domain is 0 to 360 (as opposed to -180 to 180). | |
QString | LongitudeDomainString () const |
This method returns the longitude domain as a string. | |
bool | HasGroundRange () const |
This indicates that the labels contained minimum and maximum latitudes and longitudes (e.g., a ground range coverage). | |
double | MinimumLatitude () const |
This returns the minimum latitude of the area of interest. | |
double | MaximumLatitude () const |
This returns the maximum latitude of the area of interest. | |
double | MinimumLongitude () const |
This returns the minimum longitude of the area of interest. | |
double | MaximumLongitude () const |
This returns the maximum longitude of the area of interest. | |
double | Rotation () const |
Returns the value of the Rotation keyword from the mapping group. | |
void | SetWorldMapper (WorldMapper *mapper) |
If desired the programmer can use this method to set a world mapper to be used in the SetWorld, WorldX, and WorldY methods. | |
bool | IsGood () const |
This indicates if the last invocation of SetGround, SetCoordinate, SetUniversalGround, or SetWorld was with successful or not. | |
double | Latitude () const |
This returns a latitude with correct latitude type as specified in the label object. | |
double | Longitude () const |
This returns a longitude with correct longitude direction and domain as specified in the label object. | |
double | XCoord () const |
This returns the projection X provided SetGround, SetCoordinate, SetUniversalGround, or SetWorld returned with success. | |
double | YCoord () const |
This returns the projection Y provided SetGround, SetCoordinate, SetUniversalGround, or SetWorld returned with success. | |
bool | SetUniversalGround (const double lat, const double lon) |
This method is used to set the latitude/longitude which must be Planetocentric (latitude) and PositiveEast/Domain360 (longitude). | |
double | UniversalLatitude () |
This returns a universal latitude (planetocentric). | |
double | UniversalLongitude () |
This returns a universal longitude (positive east in 0 to 360 domain). | |
bool | SetWorld (const double x, const double y) |
This method is used to set a world coordinate. | |
double | WorldX () const |
This returns the world X coordinate provided SetGround, SetCoordinate, SetUniversalGround, or SetWorld returned with success. | |
double | WorldY () const |
This returns the world Y coordinate provided SetGround, SetCoordinate, SetUniversalGround, or SetWorld returned with success. | |
double | ToWorldX (const double projectionX) const |
This method converts a projection x value to a world x value. | |
double | ToWorldY (const double projectionY) const |
This method converts a projection y value to a world y value. | |
double | ToProjectionX (const double worldX) const |
This method converts a world x value to a projection x value. | |
double | ToProjectionY (const double worldY) const |
This method converts a world y value to a projection y value. | |
double | Resolution () const |
This method returns the resolution for mapping world coordinates into projection coordinates. | |
double | Scale () const |
This method returns the scale for mapping world coordinates into projection coordinates. | |
void | SetUpperLeftCorner (const Displacement &x, const Displacement &y) |
This method sets the UpperLeftCornerX and UpperLeftCornerY keywords in the projection mapping group, in meters. | |
Static Public Member Functions | |
static double | ToPlanetocentric (double lat, double eRadius, double pRadius) |
This method converts a planetographic latitude to a planetocentric latitude. | |
static double | ToPlanetographic (double lat, double eRadius, double pRadius) |
This method converts a planetocentric latitude to a planetographic latitude. | |
static PvlGroup | TargetRadii (QString target) |
Creates a Pvl Group with keywords TargetName, EquitorialRadius, and PolarRadius. | |
static PvlGroup | TargetRadii (Pvl &cubeLab, PvlGroup &mapGroup) |
Convenience method to add the Target Radii information to the given Pvl Mapping Group. | |
static double | ToHours (double angle) |
Converts the given angle (in degrees) to hours by using the ratio 15 degrees per hour. | |
static QString | ToDMS (double angle) |
Converts the given angle (in degrees) to degrees, minutes, seconds. | |
static QString | ToHMS (double angle) |
Converts the given angle (in degrees) to hours, minutes, seconds. | |
static double | ToPositiveEast (const double lon, const int domain) |
This method converts a longitude into the positive east direction. | |
static double | ToPositiveWest (const double lon, const int domain) |
This method converts a longitude into the positive west direction. | |
static double | To180Domain (const double lon) |
This method converts a longitude into the -180 to 180 domain. | |
static double | To360Domain (const double lon) |
This method converts a longitude into the 0 to 360 domain. | |
Protected Member Functions | |
void | XYRangeCheck (const double latitude, const double longitude) |
This convience function is established to assist in the development of the XYRange virtual method. | |
bool | xyRangeOblique (double &minX, double &maxX, double &minY, double &maxY) |
This method is used to find the XY range for oblique aspect projections (non-polar projections) by "walking" around each of the min/max lat/lon. | |
void | SetXY (double x, double y) |
This protected method is a helper for derived classes. | |
void | SetComputedXY (double x, double y) |
This protected method is a helper for derived classes. | |
double | GetX () const |
Calculates the unrotated form of current x value. | |
double | GetY () const |
Calculates the unrotated form of the current y value. | |
double | qCompute (const double sinPhi) const |
A convience method to compute Snyder's q equation (3-12) for a given latitude, ![]() | |
double | phi2Compute (const double t) const |
A convience method to compute latitude angle phi2 given small t, from Syder's recursive equation (7-9) | |
double | mCompute (const double sinphi, const double cosphi) const |
A convience method to compute Snyder's m equation (14-15) for a given latitude, ![]() | |
double | tCompute (const double phi, const double sinphi) const |
A convience method to compute Snyder's t equation (15-9) for a given latitude, ![]() | |
double | e4Compute () const |
A convience method to compute. | |
Protected Attributes | |
WorldMapper * | m_mapper |
This points to a mapper passed into the SetWorldMapper method. | |
double | m_latitude |
This contain a latitude value. | |
double | m_longitude |
This contain a longitude value. | |
bool | m_good |
Indicates if the contents of m_x, m_y, m_latitude, and m_longitude are valid. | |
LatitudeType | m_latitudeType |
An enumerated type indicating the LatitudeType read from the labels. | |
LongitudeDirection | m_longitudeDirection |
An enumerated type indicating the LongitudeDirection read from the labels. | |
int | m_longitudeDomain |
This integer is either 180 or 360 and is read from the labels. | |
double | m_equatorialRadius |
Polar radius of the target. | |
double | m_polarRadius |
Polar radius of the target. | |
double | m_eccentricity |
Planet Eccentricity. | |
bool | m_sky |
Indicates whether projection is sky or land. | |
bool | m_groundRangeGood |
Indicates if the ground range (min/max lat/lons) were read from the labels. | |
double | m_minimumLatitude |
Contains the minimum latitude for the entire ground range. | |
double | m_maximumLatitude |
Contains the maximum latitude for the entire ground range. | |
double | m_minimumLongitude |
Contains the minimum longitude for the entire ground range. | |
double | m_maximumLongitude |
Contains the maximum longitude for the entire ground range. | |
double | m_minimumX |
The data elements m_minimumX, m_minimumY, m_maximumX, and m_maximumY are convience data elements when you write the XYRange virtual function. | |
double | m_maximumX |
See minimumX description. | |
double | m_minimumY |
See minimumX description. | |
double | m_maximumY |
See minimumX description. | |
PvlGroup | m_mappingGrp |
Mapping group that created this projection. | |
Private Attributes | |
double | m_centerLongitude |
The center longitude for the map projection. | |
double | m_centerLatitude |
The center latitude for the map projection. | |
double | m_cosCenterLatitude |
Cosine of the center latitude. | |
double | m_clatRadius |
The radius of the target planet at the center latitude. |
Equirectangular Map Projection.
This class provides methods for the forward and inverse equations of a Equirectangular map projection (for a sphere).
The Equirectangluar projection is a cylindrical projection in which the poles, latitudes, and longitudes are represented as straight, equidistant, lines. The poles and latitudes are horizontal lines and the longitudes are vertical lines. These lines intersect at right angles.
The code was converted to C++ from the Fortran version of the USGS General Cartographic Transformation Package (GCTP). In particular it was modified from the Equidistant Cylindrical code. This class inherits IsisProjection and provides the two virtual methods SetGround (forward) and SetCoordinate (inverse) and a third virtual method, XYRange, for obtaining projection coordinate coverage for a latitude/longitude window.
Please see the Projection class for a full accounting of all the methods available.
Definition at line 78 of file Equirectangular.h.
enum Isis::Projection::LatitudeType [inherited] |
This enum defines the types of Latitude supported in this class.
Definition at line 202 of file Projection.h.
enum Isis::Projection::LongitudeDirection [inherited] |
This enum defines the types of Longitude directions supported in this class.
PositiveEast |
Longitude values increase in the easterly direction. |
PositiveWest |
Longitude values increase in the westerly direction. |
Definition at line 225 of file Projection.h.
Isis::Equirectangular::Equirectangular | ( | Pvl & | label, |
bool | allowDefaults = false |
||
) |
Constructs a Equirectangular object.
label | This argument must be a Label containing the proper mapping information as indicated in the IsisProjection class. Additionally, the equirectangular projection requires the center longitude to be defined in the keyword CenterLongitude as well as the center latitude in CenterLatitude. |
allowDefaults | (Default value is false) If set to false the constructor requires that the keywords CenterLongitude and CenterLatitude exist in the label. Otherwise if they do not exist they will be computed and written to the label using the middle of the latitude/longitude range as specified in the labels. |
IException | - "Keyword value for CenterLatitude is too close to the pole" |
Definition at line 55 of file Equirectangular.cpp.
References _FILEINFO_, Isis::PvlObject::FindGroup(), Isis::PvlContainer::HasKeyword(), Isis::IException::Io, Isis::Projection::LocalRadius(), m_centerLatitude, m_centerLongitude, m_clatRadius, m_cosCenterLatitude, Isis::Projection::m_longitudeDirection, Isis::Projection::m_maximumLatitude, Isis::Projection::m_minimumLatitude, Isis::PI(), Isis::Projection::PositiveWest, Isis::toString(), and Isis::PvlObject::Traverse.
Isis::Equirectangular::~Equirectangular | ( | ) |
Destroys the Equirectangular object.
Definition at line 115 of file Equirectangular.cpp.
double Isis::Projection::e4Compute | ( | ) | const [protected, inherited] |
A convience method to compute.
where e is the eccentricity of the body.
Definition at line 2361 of file Projection.cpp.
References Isis::Projection::Eccentricity().
Referenced by Isis::PolarStereographic::PolarStereographic().
double Isis::Projection::Eccentricity | ( | ) | const [inherited] |
This returns the eccentricity of the target,.
where PR is the polar radius and ER is the equatorial radius. Since polar and equatorial radii are required to be greater than zero, it follows that . Note that if the body is spherical, then PR = ER and so e = 0.
Definition at line 369 of file Projection.cpp.
References Isis::Projection::m_eccentricity.
Referenced by Isis::Projection::e4Compute(), Isis::Projection::mCompute(), Isis::Mercator::Mercator(), Isis::Projection::phi2Compute(), Isis::Projection::tCompute(), and Isis::TransverseMercator::TransverseMercator().
double Isis::Projection::EquatorialRadius | ( | ) | const [inherited] |
This returns the equatorial radius of the target.
The radius was obtained from the label during object construction.
Definition at line 342 of file Projection.cpp.
References Isis::Projection::m_equatorialRadius.
Referenced by Isis::Projection::operator==(), and Isis::MosaicGridTool::setLatExtents().
double Isis::Projection::GetX | ( | ) | const [protected, inherited] |
Calculates the unrotated form of current x value.
Definition at line 1507 of file Projection.cpp.
References Isis::Projection::m_rotation, Isis::Projection::m_x, Isis::Projection::m_y, and Isis::PI().
Referenced by Isis::PointPerspective::SetCoordinate(), Isis::TransverseMercator::SetCoordinate(), Isis::Mercator::SetCoordinate(), Isis::Orthographic::SetCoordinate(), Isis::LambertConformal::SetCoordinate(), Isis::ObliqueCylindrical::SetCoordinate(), Isis::PolarStereographic::SetCoordinate(), SetCoordinate(), Isis::SimpleCylindrical::SetCoordinate(), and Isis::Sinusoidal::SetCoordinate().
double Isis::Projection::GetY | ( | ) | const [protected, inherited] |
Calculates the unrotated form of the current y value.
Definition at line 1518 of file Projection.cpp.
References Isis::Projection::m_rotation, Isis::Projection::m_x, Isis::Projection::m_y, and Isis::PI().
Referenced by Isis::PointPerspective::SetCoordinate(), Isis::TransverseMercator::SetCoordinate(), Isis::Mercator::SetCoordinate(), Isis::Orthographic::SetCoordinate(), Isis::LambertConformal::SetCoordinate(), Isis::ObliqueCylindrical::SetCoordinate(), Isis::PolarStereographic::SetCoordinate(), SetCoordinate(), Isis::SimpleCylindrical::SetCoordinate(), and Isis::Sinusoidal::SetCoordinate().
bool Isis::Projection::Has180Domain | ( | ) | const [inherited] |
This indicates if the longitude domain is -180 to 180 (as opposed to 0 to 360).
The longitude domain was obtained from the label during object construction.
Definition at line 803 of file Projection.cpp.
References Isis::Projection::m_longitudeDomain.
Referenced by Isis::MosaicSceneItem::reproject().
bool Isis::Projection::Has360Domain | ( | ) | const [inherited] |
This indicates if the longitude domain is 0 to 360 (as opposed to -180 to 180).
The longitude domain was obtained from the label during object construction.
Definition at line 814 of file Projection.cpp.
References Isis::Projection::m_longitudeDomain.
bool Isis::Projection::HasGroundRange | ( | ) | const [inherited] |
This indicates that the labels contained minimum and maximum latitudes and longitudes (e.g., a ground range coverage).
If the projection has ground range coverage then the MinimumLatitude, MaximumLatitude, MinimumLongitude, and MaximumLongitude methods can be used. The ground range coverage essentially defines the area of user interest.
Definition at line 883 of file Projection.cpp.
References Isis::Projection::m_groundRangeGood.
Referenced by Isis::ProjectionFactory::CreateForCube(), Isis::Projection::MappingLatitudes(), Isis::Projection::MappingLongitudes(), and Isis::Projection::xyRangeOblique().
bool Isis::Equirectangular::IsEquatorialCylindrical | ( | ) | [virtual] |
Indicates whether the projection is Equitorial Cylindrical.
Reimplemented from Isis::Projection.
Definition at line 169 of file Equirectangular.cpp.
bool Isis::Projection::IsGood | ( | ) | const [inherited] |
This indicates if the last invocation of SetGround, SetCoordinate, SetUniversalGround, or SetWorld was with successful or not.
If there was success then the Latitude, Longitude, XCoord, YCoord, UniversalLatitude, UniversalLongitude, WorldX, and WorldY methods can be utilized.
Definition at line 1005 of file Projection.cpp.
References Isis::Projection::m_good.
Referenced by Isis::ProjectionFactory::CreateForCube(), Isis::Chip::Load(), and Isis::Projection::XYRangeCheck().
bool Isis::Projection::IsPlanetocentric | ( | ) | const [inherited] |
This indicates if the latitude type is planetocentric (as opposed to planetographic).
The latitude type was obtained from the label during object construction.
Definition at line 563 of file Projection.cpp.
References Isis::Projection::m_latitudeType, and Isis::Projection::Planetocentric.
Referenced by Isis::LambertConformal::LambertConformal(), Isis::Mercator::Mercator(), Isis::ObliqueCylindrical::ObliqueCylindrical(), Isis::Projection::operator==(), Isis::Orthographic::Orthographic(), Isis::PointPerspective::PointPerspective(), Isis::PolarStereographic::PolarStereographic(), Isis::PointPerspective::SetCoordinate(), Isis::LunarAzimuthalEqualArea::SetCoordinate(), Isis::TransverseMercator::SetCoordinate(), Isis::Mercator::SetCoordinate(), Isis::Orthographic::SetCoordinate(), Isis::LambertConformal::SetCoordinate(), Isis::PolarStereographic::SetCoordinate(), Isis::PointPerspective::SetGround(), Isis::LunarAzimuthalEqualArea::SetGround(), Isis::TransverseMercator::SetGround(), Isis::Mercator::SetGround(), Isis::Orthographic::SetGround(), Isis::LambertConformal::SetGround(), Isis::PolarStereographic::SetGround(), and Isis::TransverseMercator::TransverseMercator().
bool Isis::Projection::IsPlanetographic | ( | ) | const [inherited] |
This indicates if the latitude type is planetographic (as opposed to planetocentric).
The latitude type was obtained from the label during object construction.
Definition at line 574 of file Projection.cpp.
References Isis::Projection::m_latitudeType, and Isis::Projection::Planetographic.
bool Isis::Projection::IsPositiveEast | ( | ) | const [inherited] |
This indicates if the longitude direction type is positive west (as opposed to postive east).
The longitude type was obtained from the label during object construction.
Definition at line 691 of file Projection.cpp.
References Isis::Projection::m_longitudeDirection, and Isis::Projection::PositiveEast.
bool Isis::Projection::IsPositiveWest | ( | ) | const [inherited] |
This indicates if the longitude direction type is positive east (as opposed to postive west).
The longitude type was obtained from the label during object construction.
Definition at line 702 of file Projection.cpp.
References Isis::Projection::m_longitudeDirection, and Isis::Projection::PositiveWest.
Referenced by Isis::Projection::operator==().
bool Isis::Projection::IsSky | ( | ) | const [inherited] |
Returns true if projection is sky and false if it is land.
Definition at line 332 of file Projection.cpp.
References Isis::Projection::m_sky.
Referenced by Isis::Camera::RaDecRange(), Isis::Camera::RaDecResolution(), Isis::Camera::RawFocalPlanetoImage(), Isis::Camera::SetImage(), Isis::Camera::SetRightAscensionDeclination(), and Isis::AdvancedTrackTool::updateRow().
double Isis::Projection::Latitude | ( | ) | const [inherited] |
This returns a latitude with correct latitude type as specified in the label object.
The method can only be used if SetGround, SetCoordinate, SetUniversalGround, or SetWorld return with success. Success can also be checked using the IsGood method.
Definition at line 1018 of file Projection.cpp.
References Isis::Projection::m_latitude.
Referenced by Isis::MosaicGridTool::setLatExtents(), Isis::MosaicTrackTool::updateLabels(), Isis::TrackTool::updateLabels(), and Isis::PolygonTools::XYToLatLon().
QString Isis::Projection::LatitudeTypeString | ( | ) | const [inherited] |
This method returns the latitude type as a string.
It will return either Planetocentric or Planetographic.
Definition at line 679 of file Projection.cpp.
References Isis::Projection::m_latitudeType, and Isis::Projection::Planetographic.
Referenced by Isis::MosaicGridTool::latType().
double Isis::Projection::LocalRadius | ( | double | latitude | ) | const [inherited] |
This method returns the local radius in meters at the specified latitude position.
For this method, the local radius is defined as the distance from the center of the planet to the surface of the planet at the given latitude.
latitude | A latitude in degrees (assumed to be of the correct LatitudeType). |
IException::Unknown | - "The given latitude is invalid." |
Definition at line 391 of file Projection.cpp.
References _FILEINFO_, a, c, Isis::Projection::m_equatorialRadius, Isis::Projection::m_polarRadius, Isis::Null, Isis::PI(), and Isis::IException::Unknown.
Referenced by Isis::ProjectionFactory::CreateForCube(), Isis::FindTool::distancePerPixel(), and Isis::AdvancedTrackTool::updateRow().
double Isis::Projection::LocalRadius | ( | ) | const [inherited] |
This method returns the local radius in meters at the current latitude position.
This is only usable if the use of SetGround or SetCoordinate was successful.
Definition at line 418 of file Projection.cpp.
References Isis::Projection::m_latitude.
Referenced by Equirectangular().
double Isis::Projection::Longitude | ( | ) | const [inherited] |
This returns a longitude with correct longitude direction and domain as specified in the label object.
The method can only be used if SetGround, SetCoordinate, SetUniversalGround, or SetWorld return with success. Success can also be checked using the IsGood method.
Definition at line 1030 of file Projection.cpp.
References Isis::Projection::m_longitude.
Referenced by Isis::Camera::SetImage(), Isis::MosaicGridTool::setLonExtents(), Isis::Projection::To180Domain(), Isis::Projection::To360Domain(), Isis::MosaicTrackTool::updateLabels(), Isis::TrackTool::updateLabels(), Isis::AdvancedTrackTool::updateRow(), and Isis::PolygonTools::XYToLatLon().
QString Isis::Projection::LongitudeDirectionString | ( | ) | const [inherited] |
This method returns the longitude direction as a string.
It will return either PositiveEast or PositiveWest.
Definition at line 791 of file Projection.cpp.
References Isis::Projection::m_longitudeDirection, and Isis::Projection::PositiveEast.
QString Isis::Projection::LongitudeDomainString | ( | ) | const [inherited] |
This method returns the longitude domain as a string.
It will return either 180 or 360.
Definition at line 869 of file Projection.cpp.
References Isis::Projection::m_longitudeDomain.
Referenced by Isis::MosaicGridTool::lonDomain().
PvlGroup Isis::Equirectangular::Mapping | ( | ) | [virtual] |
This function returns the keywords that this projection uses.
Reimplemented from Isis::Projection.
Definition at line 292 of file Equirectangular.cpp.
References Isis::Projection::m_mappingGrp.
PvlGroup Isis::Equirectangular::MappingLatitudes | ( | ) | [virtual] |
This function returns the latitude keywords that this projection uses.
Reimplemented from Isis::Projection.
Definition at line 306 of file Equirectangular.cpp.
References Isis::Projection::m_mappingGrp.
PvlGroup Isis::Equirectangular::MappingLongitudes | ( | ) | [virtual] |
This function returns the longitude keywords that this projection uses.
Reimplemented from Isis::Projection.
Definition at line 319 of file Equirectangular.cpp.
References Isis::Projection::m_mappingGrp.
double Isis::Projection::MaximumLatitude | ( | ) | const [inherited] |
This returns the maximum latitude of the area of interest.
The value was obtained from the labels during object construction. This method can only be used if HasGroundRange returns a true.
Definition at line 905 of file Projection.cpp.
References Isis::Projection::m_maximumLatitude.
Referenced by Isis::MosaicGridTool::setLatExtents(), and Isis::Projection::xyRangeOblique().
double Isis::Projection::MaximumLongitude | ( | ) | const [inherited] |
This returns the maximum longitude of the area of interest.
The value was obtained from the labels during object construction. This method can only be used if HasGroundRange returns a true.
Definition at line 927 of file Projection.cpp.
References Isis::Projection::m_maximumLongitude.
Referenced by Isis::MosaicGridTool::setLonExtents(), and Isis::Projection::xyRangeOblique().
double Isis::Projection::mCompute | ( | const double | sinphi, |
const double | cosphi | ||
) | const [protected, inherited] |
A convience method to compute Snyder's m equation (14-15) for a given latitude, .
where is the eccentricity for the body.
sinphi | sine of phi |
cosphi | cosine of phi |
Definition at line 2317 of file Projection.cpp.
References Isis::Projection::Eccentricity().
Referenced by Isis::LambertConformal::LambertConformal(), and Isis::PolarStereographic::PolarStereographic().
double Isis::Projection::MinimumLatitude | ( | ) | const [inherited] |
This returns the minimum latitude of the area of interest.
The value was obtained from the labels during object construction. This method can only be used if HasGroundRange returns a true.
Definition at line 894 of file Projection.cpp.
References Isis::Projection::m_minimumLatitude.
Referenced by Isis::MosaicGridTool::setLatExtents(), and Isis::Projection::xyRangeOblique().
double Isis::Projection::MinimumLongitude | ( | ) | const [inherited] |
This returns the minimum longitude of the area of interest.
The value was obtained from the labels during object construction. This method can only be used if HasGroundRange returns a true.
Definition at line 916 of file Projection.cpp.
References Isis::Projection::m_minimumLongitude.
Referenced by Isis::MosaicGridTool::setLonExtents(), and Isis::Projection::xyRangeOblique().
QString Isis::Equirectangular::Name | ( | ) | const [virtual] |
Returns the name of the map projection, "Equirectangular".
Implements Isis::Projection.
Definition at line 141 of file Equirectangular.cpp.
bool Isis::Projection::operator!= | ( | const Projection & | proj | ) | [inherited] |
This method determines whether two map projection objects are not equal.
True is returned if they have at least some differences in the radii, latitude type, longitude direction, resolution, or projection name.
proj | A reference to a Projection object to which this Projection will be compared. |
Definition at line 322 of file Projection.cpp.
bool Isis::Equirectangular::operator== | ( | const Projection & | proj | ) | [virtual] |
Compares two Projection objects to see if they are equal.
proj | Projection object to do comparison on |
Reimplemented from Isis::Projection.
Definition at line 126 of file Equirectangular.cpp.
References m_centerLatitude, and m_centerLongitude.
double Isis::Projection::phi2Compute | ( | const double | t | ) | const [protected, inherited] |
A convience method to compute latitude angle phi2 given small t, from Syder's recursive equation (7-9)
where is the eccentricity for the body and
.
t | small t |
IException::Unknown | - "Failed to converge in Projection::phi2Compute()" |
Definition at line 2273 of file Projection.cpp.
References _FILEINFO_, difference(), Isis::Projection::Eccentricity(), Isis::HALFPI(), and Isis::IException::Unknown.
Referenced by Isis::Mercator::SetCoordinate(), Isis::LambertConformal::SetCoordinate(), and Isis::PolarStereographic::SetCoordinate().
double Isis::Projection::PolarRadius | ( | ) | const [inherited] |
This returns the polar radius of the target.
The radius was obtained from the label during object construction.
Definition at line 352 of file Projection.cpp.
References Isis::Projection::m_polarRadius.
Referenced by Isis::Projection::operator==(), and Isis::MosaicGridTool::setLatExtents().
double Isis::Projection::qCompute | ( | const double | sinPhi | ) | const [protected, inherited] |
A convience method to compute Snyder's q equation (3-12) for a given latitude, .
where is the eccentricity for the body.
sinPhi | The sine value for a latitude, phi. |
IException::Unknown | - "Snyder's q variable should only be computed for ellipsoidal projections." |
Definition at line 2240 of file Projection.cpp.
References _FILEINFO_, Isis::Projection::m_eccentricity, and Isis::IException::Unknown.
double Isis::Projection::Resolution | ( | ) | const [inherited] |
This method returns the resolution for mapping world coordinates into projection coordinates.
For example, if the world coordinate system is an image then this routine returns the number of meters per pixel. Likewise, if the world coordinate system is a piece of paper, it might return the number of meters per inch of paper. If the SetWorldMapper method is not invoked then this method returns 1.0
Definition at line 1340 of file Projection.cpp.
References Isis::Projection::m_mapper, and Isis::WorldMapper::Resolution().
Referenced by Isis::ProcessExport::CreateWorldFile(), Isis::Projection::operator==(), Isis::UniversalGroundMap::Resolution(), and Isis::MeasureTool::updateDist().
double Isis::Projection::Rotation | ( | ) | const [inherited] |
Returns the value of the Rotation keyword from the mapping group.
Definition at line 936 of file Projection.cpp.
References Isis::Projection::m_rotation.
double Isis::Projection::Scale | ( | ) | const [inherited] |
This method returns the scale for mapping world coordinates into projection coordinates.
For example, if the world coordinate system is an image then this routine returns the number of pixels per degree. Likewise, if the world coordinate system is a piece of paper, it might return the number of inches of paper per degree. If the SetWorldMapper method is not invoked then this method returns 1.0
Definition at line 1359 of file Projection.cpp.
References a, Isis::Projection::m_equatorialRadius, Isis::Projection::m_mapper, Isis::Projection::m_polarRadius, Isis::PI(), Isis::WorldMapper::Resolution(), and Isis::Projection::TrueScaleLatitude().
void Isis::Projection::SetComputedXY | ( | double | x, |
double | y | ||
) | [protected, inherited] |
This protected method is a helper for derived classes.
It takes unrotated x and y values, rotates them using the rotation angle data member, and stores the results in the current x and y data members.
x | The unrotated x coordinate. |
y | The unrotated y coordinate. |
Definition at line 1469 of file Projection.cpp.
References Isis::Projection::m_good, Isis::Projection::m_rotation, Isis::Projection::m_x, Isis::Projection::m_y, Isis::Null, and Isis::PI().
Referenced by Isis::PointPerspective::SetGround(), Isis::LunarAzimuthalEqualArea::SetGround(), Isis::Robinson::SetGround(), Isis::TransverseMercator::SetGround(), Isis::Mercator::SetGround(), Isis::Orthographic::SetGround(), Isis::LambertConformal::SetGround(), Isis::ObliqueCylindrical::SetGround(), Isis::PolarStereographic::SetGround(), SetGround(), Isis::SimpleCylindrical::SetGround(), Isis::Sinusoidal::SetGround(), and Isis::Projection::SetGround().
bool Isis::Equirectangular::SetCoordinate | ( | const double | x, |
const double | y | ||
) | [virtual] |
This method is used to set the projection x/y.
The Set forces an attempted calculation of the corresponding latitude/longitude position. This may or may not be successful and a status is returned as such.
x | X coordinate of the projection in units that are the same as the radii in the label |
y | Y coordinate of the projection in units that are the same as the radii in the label |
Reimplemented from Isis::Projection.
Definition at line 215 of file Equirectangular.cpp.
References Isis::Projection::GetX(), Isis::Projection::GetY(), Isis::HALFPI(), m_centerLongitude, m_clatRadius, m_cosCenterLatitude, Isis::Projection::m_good, Isis::Projection::m_latitude, Isis::Projection::m_longitude, Isis::Projection::m_longitudeDirection, Isis::PI(), Isis::Projection::PositiveWest, and Isis::Projection::SetXY().
bool Isis::Equirectangular::SetGround | ( | const double | lat, |
const double | lon | ||
) | [virtual] |
This method is used to set the latitude/longitude (assumed to be of the correct LatitudeType, LongitudeDirection, and LongitudeDomain.
The Set forces an attempted calculation of the projection X/Y values. This may or may not be successful and a status is returned as such.
Reimplemented from Isis::Projection.
Definition at line 185 of file Equirectangular.cpp.
References m_centerLongitude, m_clatRadius, m_cosCenterLatitude, Isis::Projection::m_good, Isis::Projection::m_latitude, Isis::Projection::m_longitude, Isis::Projection::m_longitudeDirection, Isis::PI(), Isis::Projection::PositiveWest, Isis::Projection::SetComputedXY(), x, and y.
bool Isis::Projection::SetUniversalGround | ( | const double | lat, |
const double | lon | ||
) | [inherited] |
This method is used to set the latitude/longitude which must be Planetocentric (latitude) and PositiveEast/Domain360 (longitude).
The Set forces an attempted calculation of the projection X/Y values. This may or may not be successful and a status is returned as such.
lat | Planetocentric Latitude value to project |
lon | PositiveEast, Domain360 Longitude value to project |
Definition at line 1071 of file Projection.cpp.
References Isis::Projection::m_good, Isis::Projection::m_latitude, Isis::Projection::m_latitudeType, Isis::Projection::m_longitude, Isis::Projection::m_longitudeDirection, Isis::Projection::m_longitudeDomain, Isis::Null, Isis::Projection::Planetographic, Isis::Projection::PositiveWest, Isis::Projection::SetGround(), Isis::Projection::To180Domain(), Isis::Projection::To360Domain(), and Isis::Projection::ToPlanetographic().
Referenced by Isis::ProjectionFactory::CreateForCube(), Isis::MosaicSceneWidget::createReferenceFootprint(), Isis::Chip::Load(), Isis::DemShape::localRadius(), Isis::Camera::RawFocalPlanetoImage(), Isis::MosaicSceneItem::reproject(), Isis::UniversalGroundMap::SetGround(), Isis::MosaicGridTool::setLatExtents(), Isis::Camera::SetRightAscensionDeclination(), Isis::UniversalGroundMap::SetUniversalGround(), and Isis::ProcessMapMosaic::StartProcess().
void Isis::Projection::SetUpperLeftCorner | ( | const Displacement & | x, |
const Displacement & | y | ||
) | [inherited] |
This method sets the UpperLeftCornerX and UpperLeftCornerY keywords in the projection mapping group, in meters.
x | the upper left corner x value |
y | the upper left corner y value |
Definition at line 2156 of file Projection.cpp.
References Isis::PvlContainer::AddKeyword(), Isis::Projection::m_mappingGrp, Isis::Displacement::meters(), and Isis::toString().
Referenced by Isis::ProjectionFactory::CreateForCube(), and Isis::ProjectionFactory::CreateFromCube().
bool Isis::Projection::SetWorld | ( | const double | worldX, |
const double | worldY | ||
) | [inherited] |
This method is used to set a world coordinate.
A world coordinate is a different coordinate type that has a one-to-one mapping to the projection coordinate system. For example, mapping pixel samples and lines to projection x's and y's. The Set forces an attempted calculation of the corresponding latitude/longitude position. This may or may not be successful and a status is returned as such. Note that is only applies if the Projection object was given an WorldMapper object during construction. If an WorldMapper was not supplied then SetWorld operates exactly the same as SetCoordinate (impling that world coordinate and projection coordinate are identical).
worldX | World X coordinate in units that are specified by the WorldMapper object (e.g., pixels, millimeters, etc) |
worldY | World Y coordinate in units that are specified by the WorldMapper object (e.g., pixels, millimeters, etc) |
Definition at line 1162 of file Projection.cpp.
References Isis::Projection::m_mapper, Isis::WorldMapper::ProjectionX(), Isis::WorldMapper::ProjectionY(), and Isis::Projection::SetCoordinate().
Referenced by Isis::ProcessExport::CreateWorldFile(), Isis::UniversalGroundMap::GroundRange(), Isis::Chip::Load(), Isis::UniversalGroundMap::SetImage(), Isis::Camera::SetImage(), Isis::MeasureTool::updateDist(), Isis::SubArea::UpdateLabel(), Isis::TrackTool::updateLabels(), Isis::AdvancedTrackTool::updateRow(), and Isis::PolygonTools::XYToLatLon().
void Isis::Projection::SetWorldMapper | ( | WorldMapper * | mapper | ) | [inherited] |
If desired the programmer can use this method to set a world mapper to be used in the SetWorld, WorldX, and WorldY methods.
Mappers typically transform a projection coordinate (x/y) into the desired working coordinate system, for example, cube pixels or inches on a piece of paper. They transform in both directions (world to projection and projection to world). This allows for conversions from line/sample to latitude/longitude and vice versa. This projection will take ownership of the WorldMapper pointer.
mapper | Pointer to the mapper |
Definition at line 1139 of file Projection.cpp.
References Isis::Projection::m_mapper.
Referenced by Isis::ProjectionFactory::CreateForCube(), and Isis::ProjectionFactory::CreateFromCube().
void Isis::Projection::SetXY | ( | double | x, |
double | y | ||
) | [protected, inherited] |
This protected method is a helper for derived classes.
It takes a rotated x,y and stores them in the current x and y data members.
x | The rotated x coordinate. |
y | The rotated y coordinate. |
Definition at line 1493 of file Projection.cpp.
References Isis::Projection::m_good, Isis::Projection::m_x, Isis::Projection::m_y, and Isis::Null.
Referenced by Isis::PointPerspective::SetCoordinate(), Isis::LunarAzimuthalEqualArea::SetCoordinate(), Isis::Robinson::SetCoordinate(), Isis::TransverseMercator::SetCoordinate(), Isis::Mercator::SetCoordinate(), Isis::Orthographic::SetCoordinate(), Isis::LambertConformal::SetCoordinate(), Isis::ObliqueCylindrical::SetCoordinate(), Isis::PolarStereographic::SetCoordinate(), SetCoordinate(), Isis::SimpleCylindrical::SetCoordinate(), Isis::Sinusoidal::SetCoordinate(), and Isis::Projection::SetCoordinate().
PvlGroup Isis::Projection::TargetRadii | ( | QString | target | ) | [static, inherited] |
Creates a Pvl Group with keywords TargetName, EquitorialRadius, and PolarRadius.
The values for the radii will be retrieved from the most recent Target Attitude and Shape Naif kernel available in the Isis data area.
target | The name of the body for which the radii will be retrieved. |
IException::Io | - "Could not convert target name to NAIF code." |
Definition at line 436 of file Projection.cpp.
References _FILEINFO_, Isis::NaifStatus::CheckErrors(), code, Isis::IException::Io, Isis::toString(), and Isis::IException::Unknown.
Referenced by Isis::Latitude::add(), Isis::Latitude::Latitude(), Isis::Projection::Projection(), and Isis::Projection::TargetRadii().
Convenience method to add the Target Radii information to the given Pvl Mapping Group.
This method
cubeLab | Pvl labels for the image. |
mapGroup | PvlGroup that contains mapping parameters for the projection. |
Definition at line 498 of file Projection.cpp.
References Isis::PvlContainer::DeleteKeyword(), Isis::PvlObject::FindGroup(), Isis::PvlContainer::FindKeyword(), Isis::PvlContainer::HasKeyword(), Isis::Projection::TargetRadii(), and Isis::PvlObject::Traverse.
double Isis::Projection::tCompute | ( | const double | phi, |
const double | sinphi | ||
) | const [protected, inherited] |
A convience method to compute Snyder's t equation (15-9) for a given latitude, .
where is the eccentricity for the body.
phi | phi |
sinphi | sin of phi |
Definition at line 2340 of file Projection.cpp.
References Isis::Projection::Eccentricity(), and Isis::HALFPI().
Referenced by Isis::LambertConformal::LambertConformal(), Isis::PolarStereographic::PolarStereographic(), Isis::Mercator::SetGround(), Isis::LambertConformal::SetGround(), and Isis::PolarStereographic::SetGround().
double Isis::Projection::To180Domain | ( | const double | lon | ) | [static, inherited] |
This method converts a longitude into the -180 to 180 domain.
It will leave the longitude unchanged if it is already in the domain.
lon | Longitude to convert into the -180 to 180 domain. |
IException::Unknown | - "The given longitude is invalid." |
Definition at line 828 of file Projection.cpp.
References _FILEINFO_, Isis::Angle::Degrees, Isis::Projection::Longitude(), Isis::Null, and Isis::IException::Unknown.
Referenced by Isis::ProcessImportPds::ExtractPdsProjection(), Isis::CameraPointInfo::GetPointInfo(), Isis::PointPerspective::SetCoordinate(), Isis::TransverseMercator::SetCoordinate(), Isis::Orthographic::SetCoordinate(), Isis::PolarStereographic::SetCoordinate(), Isis::Projection::SetUniversalGround(), Isis::Projection::ToPositiveEast(), Isis::Projection::ToPositiveWest(), and Isis::AdvancedTrackTool::updateRow().
double Isis::Projection::To360Domain | ( | const double | lon | ) | [static, inherited] |
This method converts a longitude into the 0 to 360 domain.
It will leave the longitude unchanged if it is already in the domain.
lon | Longitude to convert into the 0 to 360 domain. |
Definition at line 846 of file Projection.cpp.
References _FILEINFO_, Isis::Angle::Degrees, Isis::Projection::Longitude(), Isis::Null, and Isis::IException::Unknown.
Referenced by Isis::PointPerspective::SetCoordinate(), Isis::TransverseMercator::SetCoordinate(), Isis::Orthographic::SetCoordinate(), Isis::PolarStereographic::SetCoordinate(), Isis::Projection::SetUniversalGround(), Isis::Projection::ToPositiveEast(), Isis::Projection::ToPositiveWest(), and Isis::Projection::UniversalLongitude().
QString Isis::Projection::ToDMS | ( | double | angle | ) | [static, inherited] |
Converts the given angle (in degrees) to degrees, minutes, seconds.
Outputs in the form xxx yym zz.zzzs, for example, 206.291 degrees is 206 17m 27.6s
angle | Angle in degrees to be converted to degrees, minutes, seconds |
Definition at line 1395 of file Projection.cpp.
QString Isis::Projection::ToHMS | ( | double | angle | ) | [static, inherited] |
Converts the given angle (in degrees) to hours, minutes, seconds.
Outputs in the form xxh yym zz.zzzs For example, 206.291 will be 13h 45m 09.84s
angle | Angle in degrees to be converted to hours, minutes, seconds |
Definition at line 1430 of file Projection.cpp.
References Isis::Projection::ToHours().
double Isis::Projection::ToHours | ( | double | angle | ) | [static, inherited] |
Converts the given angle (in degrees) to hours by using the ratio 15 degrees per hour.
angle | Angle in degrees to be converted to hours |
Definition at line 1382 of file Projection.cpp.
Referenced by Isis::Projection::ToHMS().
double Isis::Projection::ToPlanetocentric | ( | const double | lat | ) | const [inherited] |
This method converts a planetographic latitude to a planetocentric latitude.
It utilizes the equatorial and polar radii found in the labels to perform the computation.
lat | Planetographic latitude to convert. |
Definition at line 589 of file Projection.cpp.
References Isis::Projection::m_equatorialRadius, and Isis::Projection::m_polarRadius.
Referenced by Isis::PointPerspective::SetCoordinate(), Isis::LunarAzimuthalEqualArea::SetCoordinate(), Isis::TransverseMercator::SetCoordinate(), Isis::Mercator::SetCoordinate(), Isis::LambertConformal::SetCoordinate(), Isis::Orthographic::SetCoordinate(), Isis::PolarStereographic::SetCoordinate(), and Isis::Projection::UniversalLatitude().
double Isis::Projection::ToPlanetocentric | ( | double | lat, |
double | eRadius, | ||
double | pRadius | ||
) | [static, inherited] |
This method converts a planetographic latitude to a planetocentric latitude.
lat | Planetographic latitude to convert. |
eRadius | Equatorial radius. |
pRadius | Polar radius |
IException::Unknown | - "The given latitude is invalid." |
Definition at line 605 of file Projection.cpp.
References _FILEINFO_, Isis::Null, Isis::PI(), and Isis::IException::Unknown.
double Isis::Projection::ToPlanetographic | ( | const double | lat | ) | const [inherited] |
This method converts a planetocentric latitude to a planetographic latitude.
It utilizes the equatorial and polar radii found in the labels to perform the computation.
lat | Planetocentric latitude to convert. |
Definition at line 634 of file Projection.cpp.
References Isis::Projection::m_equatorialRadius, and Isis::Projection::m_polarRadius.
Referenced by Isis::CameraPointInfo::GetPointInfo(), Isis::LambertConformal::LambertConformal(), Isis::Mercator::Mercator(), Isis::ObliqueCylindrical::ObliqueCylindrical(), Isis::Orthographic::Orthographic(), Isis::PointPerspective::PointPerspective(), Isis::PolarStereographic::PolarStereographic(), Isis::PointPerspective::SetGround(), Isis::LunarAzimuthalEqualArea::SetGround(), Isis::TransverseMercator::SetGround(), Isis::Mercator::SetGround(), Isis::Orthographic::SetGround(), Isis::LambertConformal::SetGround(), Isis::PolarStereographic::SetGround(), Isis::Projection::SetUniversalGround(), Isis::TransverseMercator::TransverseMercator(), and Isis::AdvancedTrackTool::updateRow().
double Isis::Projection::ToPlanetographic | ( | double | lat, |
double | eRadius, | ||
double | pRadius | ||
) | [static, inherited] |
This method converts a planetocentric latitude to a planetographic latitude.
It is static so that a projection object does not need to exist.
lat | Planetocentric latitude to convert. |
eRadius | Equatorial radius. |
pRadius | Polar radius |
IException::Unknown | - "The given latitude is invalid." |
Definition at line 651 of file Projection.cpp.
References _FILEINFO_, Isis::Null, Isis::PI(), and Isis::IException::Unknown.
double Isis::Projection::ToPositiveEast | ( | const double | lon, |
const int | domain | ||
) | [static, inherited] |
This method converts a longitude into the positive east direction.
lon | Longitude to convert into the positive east direction. |
domain | Must be an integer value of 180 (for -180 to 180) or 360 (for 0 to 360). |
IException::Unknown | - "The given longitude is invalid." |
IException::Unknown | - "Unable to convert longitude. Domain is not 180 or 360." |
Definition at line 719 of file Projection.cpp.
References _FILEINFO_, Isis::Null, Isis::Projection::To180Domain(), Isis::Projection::To360Domain(), Isis::toString(), and Isis::IException::Unknown.
double Isis::Projection::ToPositiveWest | ( | const double | lon, |
const int | domain | ||
) | [static, inherited] |
This method converts a longitude into the positive west direction.
lon | Longitude to convert into the positive west direction. |
domain | Must be an integer value of 180 (for -180 to 180) or 360 (for 0 to 360). |
IException::Unknown | - "The given longitude is invalid." |
IException::Unknown | - "Unable to convert longitude. Domain is not 180 or 360." |
Definition at line 758 of file Projection.cpp.
References _FILEINFO_, Isis::Null, Isis::Projection::To180Domain(), Isis::Projection::To360Domain(), Isis::toString(), and Isis::IException::Unknown.
Referenced by Isis::CameraPointInfo::GetPointInfo().
double Isis::Projection::ToProjectionX | ( | const double | worldX | ) | const [inherited] |
This method converts a world x value to a projection x value.
For example, if the world coordinate system is an image then this method converts a sample position to a projection x value. Note that if SetWorldMapper is not used then this routine simply returns the value of the argument. That is, no mapping occurs.
worldX | World x coordinate |
IException::Unknown | - "The given x-value is invalid." |
Definition at line 1287 of file Projection.cpp.
References _FILEINFO_, Isis::Projection::m_mapper, Isis::Null, Isis::WorldMapper::ProjectionX(), and Isis::IException::Unknown.
Referenced by Isis::OverlapStatistics::OverlapStatistics(), and Isis::ProcessMapMosaic::StartProcess().
double Isis::Projection::ToProjectionY | ( | const double | worldY | ) | const [inherited] |
This method converts a world y value to a projection y value.
For example, if the world coordinate system is an image then this method converts a line position to a projection y value. Note that if SetWorldMapper is not used then this routine simply returns the value of the argument. That is, no mapping occurs.
worldY | World y coordinate |
IException::Unknown | - "The given y-value is invalid." |
Definition at line 1315 of file Projection.cpp.
References _FILEINFO_, Isis::Projection::m_mapper, Isis::Null, Isis::WorldMapper::ProjectionY(), and Isis::IException::Unknown.
Referenced by Isis::OverlapStatistics::OverlapStatistics(), and Isis::ProcessMapMosaic::StartProcess().
double Isis::Projection::ToWorldX | ( | const double | projectionX | ) | const [inherited] |
This method converts a projection x value to a world x value.
For example, if the world coordinate system is an image then this method converts a projection x to a sample position. Note that if SetWorldMapper is not used then this routine simply returns the value of the argument. That is, no mapping occurs.
projectionX | Projection x value in meters |
IException::Unknown | - "The given x-value is invalid." |
Definition at line 1231 of file Projection.cpp.
References _FILEINFO_, Isis::Projection::m_mapper, Isis::Null, Isis::IException::Unknown, and Isis::WorldMapper::WorldX().
Referenced by Isis::OverlapStatistics::OverlapStatistics(), Isis::ProcessMapMosaic::SetOutputCube(), and Isis::ProcessMapMosaic::StartProcess().
double Isis::Projection::ToWorldY | ( | const double | projectionY | ) | const [inherited] |
This method converts a projection y value to a world y value.
For example, if the world coordinate system is an image then this method converts a projection y to a line position. Note that if SetWorldMapper is not used then this routine simply returns the value of the argument. That is, no mapping occurs.
projectionY | Projection y value in meters |
IException::Unknown | - "The given y-value is invalid." |
Definition at line 1259 of file Projection.cpp.
References _FILEINFO_, Isis::Projection::m_mapper, Isis::Null, Isis::IException::Unknown, and Isis::WorldMapper::WorldY().
Referenced by Isis::OverlapStatistics::OverlapStatistics(), Isis::ProcessMapMosaic::SetOutputCube(), and Isis::ProcessMapMosaic::StartProcess().
double Isis::Equirectangular::TrueScaleLatitude | ( | ) | const [virtual] |
Returns the latitude of true scale (in the case of Equirectangular it is the center latitude).
Reimplemented from Isis::Projection.
Definition at line 160 of file Equirectangular.cpp.
References m_centerLatitude, and Isis::PI().
double Isis::Projection::UniversalLatitude | ( | ) | [inherited] |
This returns a universal latitude (planetocentric).
The method can only be used if SetGround, SetCoordinate, SetUniversalGround, or SetWorld return with success. Success can also be checked using the IsGood method.
Definition at line 1106 of file Projection.cpp.
References Isis::Projection::m_latitude, Isis::Projection::m_latitudeType, Isis::Projection::Planetographic, and Isis::Projection::ToPlanetocentric().
Referenced by Isis::MosaicSceneItem::drawImage(), Isis::UniversalGroundMap::GroundRange(), Isis::Chip::Load(), Isis::Camera::SetImage(), Isis::UniversalGroundMap::UniversalLatitude(), and Isis::AdvancedTrackTool::updateRow().
double Isis::Projection::UniversalLongitude | ( | ) | [inherited] |
This returns a universal longitude (positive east in 0 to 360 domain).
The method can only be used if SetGround, SetCoordinate, SetUniversalGround, or SetWorld return with success. Success can also be checked using the IsGood method.
Definition at line 1120 of file Projection.cpp.
References Isis::Projection::m_longitude, Isis::Projection::m_longitudeDirection, Isis::Projection::PositiveWest, and Isis::Projection::To360Domain().
Referenced by Isis::MosaicSceneItem::drawImage(), Isis::UniversalGroundMap::GroundRange(), Isis::Chip::Load(), Isis::Camera::SetImage(), Isis::UniversalGroundMap::UniversalLongitude(), and Isis::AdvancedTrackTool::updateRow().
QString Isis::Equirectangular::Version | ( | ) | const [virtual] |
Returns the version of the map projection.
Implements Isis::Projection.
Definition at line 150 of file Equirectangular.cpp.
double Isis::Projection::WorldX | ( | ) | const [inherited] |
This returns the world X coordinate provided SetGround, SetCoordinate, SetUniversalGround, or SetWorld returned with success.
Success can also be checked using the IsGood method. The units of X will be in the units as specified by the WorldMapper object which was given to the SetWorldMapper method. If a mapper object was not given then world coordinates are the same as the projection coordinates (i.e., WorldX and XCoord will return the same value).
Definition at line 1189 of file Projection.cpp.
References Isis::Projection::m_mapper, Isis::Projection::m_x, and Isis::WorldMapper::WorldX().
Referenced by Isis::MosaicSceneItem::drawImage(), Isis::ImagePolygon::FixPolePoly(), Isis::Chip::Load(), Isis::DemShape::localRadius(), Isis::Camera::RawFocalPlanetoImage(), Isis::UniversalGroundMap::Sample(), Isis::Camera::SetRightAscensionDeclination(), and Isis::ProcessMapMosaic::StartProcess().
double Isis::Projection::WorldY | ( | ) | const [inherited] |
This returns the world Y coordinate provided SetGround, SetCoordinate, SetUniversalGround, or SetWorld returned with success.
Success can also be checked using the IsGood method. The units of Y will be in the units as specified by the WorldMapper object which was given to the SetWorldMapper. If a mapper object was not given then world coordinates are the same as the projection coordinates (i.e., WorldY and YCoord will return the same value).
Definition at line 1209 of file Projection.cpp.
References Isis::Projection::m_mapper, Isis::Projection::m_y, and Isis::WorldMapper::WorldY().
Referenced by Isis::MosaicSceneItem::drawImage(), Isis::ImagePolygon::FixPolePoly(), Isis::UniversalGroundMap::Line(), Isis::Chip::Load(), Isis::DemShape::localRadius(), Isis::Camera::RawFocalPlanetoImage(), and Isis::Camera::SetRightAscensionDeclination().
double Isis::Projection::XCoord | ( | ) | const [inherited] |
This returns the projection X provided SetGround, SetCoordinate, SetUniversalGround, or SetWorld returned with success.
Success can also be checked using the IsGood method. The units of X will be in the same . units as the radii obtained from the label.
Definition at line 1042 of file Projection.cpp.
References Isis::Projection::m_x.
Referenced by Isis::ProjectionFactory::CreateForCube(), Isis::MosaicSceneWidget::createReferenceFootprint(), Isis::ProcessExport::CreateWorldFile(), Isis::Projection::findExtreme(), Isis::PolygonTools::LatLonToXY(), Isis::MosaicSceneItem::reproject(), Isis::MosaicGridTool::setLatExtents(), Isis::SubArea::UpdateLabel(), Isis::AdvancedTrackTool::updateRow(), and Isis::LambertConformal::XYRange().
bool Isis::Equirectangular::XYRange | ( | double & | minX, |
double & | maxX, | ||
double & | minY, | ||
double & | maxY | ||
) | [virtual] |
This method is used to determine the x/y range which completely covers the area of interest specified by the lat/lon range.
The latitude/longitude range may be obtained from the labels. The purpose of this method is to return the x/y range so it can be used to compute how large a map may need to be. For example, how big a piece of paper is needed or how large of an image needs to be created. The method may fail as indicated by its return value.
minX | Minimum x projection coordinate which covers the latitude longitude range specified in the labels. |
maxX | Maximum x projection coordinate which covers the latitude longitude range specified in the labels. |
minY | Minimum y projection coordinate which covers the latitude longitude range specified in the labels. |
maxY | Maximum y projection coordinate which covers the latitude longitude range specified in the labels. |
Reimplemented from Isis::Projection.
Definition at line 267 of file Equirectangular.cpp.
References Isis::Projection::m_maximumLatitude, Isis::Projection::m_maximumLongitude, Isis::Projection::m_maximumX, Isis::Projection::m_maximumY, Isis::Projection::m_minimumLatitude, Isis::Projection::m_minimumLongitude, Isis::Projection::m_minimumX, Isis::Projection::m_minimumY, and Isis::Projection::XYRangeCheck().
void Isis::Projection::XYRangeCheck | ( | const double | latitude, |
const double | longitude | ||
) | [protected, inherited] |
This convience function is established to assist in the development of the XYRange virtual method.
It allows the developer to test ground points (lat/lon) to see if they produce a minimum/maximum projection coordinate. For example in Sinusoidal,
bool Sinusoidal::XYRange(double &minX, double &maxX, double &minY, double &maxY) { // Check the corners of the lat/lon range XYRangeCheck (m_minimumLatitude,m_minimumLongitude); XYRangeCheck (m_maximumLatitude,m_minimumLongitude); XYRangeCheck (m_minimumLatitude,m_maximumLongitude); XYRangeCheck (m_maximumLatitude,m_maximumLongitude); // If the latitude crosses the equator check there if ((m_minimumLatitude < 0.0) && (m_maximumLatitude > 0.0)) { XYRangeCheck (0.0,m_minimumLongitude); XYRangeCheck (0.0,m_maximumLongitude); } // Make sure everything is ordered if (m_minimumX >= m_maximumX) return false; if (m_minimumY >= m_maximumY) return false; // Return X/Y min/maxs minX = m_minimumX; maxX = m_maximumX; minY = m_minimumY; maxY = m_maximumY; return true; }
latitude | Test for min/max projection coordinates at this latitude |
longitude | Test for min/max projection coordinates at this longitude |
Definition at line 1613 of file Projection.cpp.
References Isis::Projection::IsGood(), Isis::Projection::m_good, Isis::Projection::m_maximumX, Isis::Projection::m_maximumY, Isis::Projection::m_minimumX, Isis::Projection::m_minimumY, Isis::Projection::m_x, Isis::Projection::m_y, Isis::Null, and Isis::Projection::SetGround().
Referenced by Isis::PointPerspective::XYRange(), Isis::LunarAzimuthalEqualArea::XYRange(), Isis::Robinson::XYRange(), Isis::TransverseMercator::XYRange(), Isis::Mercator::XYRange(), Isis::Orthographic::XYRange(), Isis::LambertConformal::XYRange(), Isis::PolarStereographic::XYRange(), XYRange(), Isis::SimpleCylindrical::XYRange(), and Isis::Sinusoidal::XYRange().
bool Isis::Projection::xyRangeOblique | ( | double & | minX, |
double & | maxX, | ||
double & | minY, | ||
double & | maxY | ||
) | [protected, inherited] |
This method is used to find the XY range for oblique aspect projections (non-polar projections) by "walking" around each of the min/max lat/lon.
minX | Minimum x projection coordinate which covers the latitude longitude range specified in the labels. |
maxX | Maximum x projection coordinate which covers the latitude longitude range specified in the labels. |
minY | Minimum y projection coordinate which covers the latitude longitude range specified in the labels. |
maxY | Maximum y projection coordinate which covers the latitude longitude range specified in the labels. |
Definition at line 1648 of file Projection.cpp.
References Isis::Projection::doSearch(), Isis::Projection::HasGroundRange(), Isis::Projection::m_maximumX, Isis::Projection::m_maximumY, Isis::Projection::m_minimumX, Isis::Projection::m_minimumY, Isis::Projection::m_specialLatCases, Isis::Projection::m_specialLonCases, Isis::Projection::MaximumLatitude(), Isis::Projection::MaximumLongitude(), min(), Isis::Projection::MinimumLatitude(), Isis::Projection::MinimumLongitude(), and Isis::Null.
Referenced by Isis::ObliqueCylindrical::XYRange().
double Isis::Projection::YCoord | ( | ) | const [inherited] |
This returns the projection Y provided SetGround, SetCoordinate, SetUniversalGround, or SetWorld returned with success.
Success can also be checked using the IsGood method. The units of Y will be in the same units as the radii obtained from the label.
Definition at line 1055 of file Projection.cpp.
References Isis::Projection::m_y.
Referenced by Isis::ProjectionFactory::CreateForCube(), Isis::MosaicSceneWidget::createReferenceFootprint(), Isis::ProcessExport::CreateWorldFile(), Isis::Projection::findExtreme(), Isis::PolygonTools::LatLonToXY(), Isis::MosaicSceneItem::reproject(), Isis::MosaicGridTool::setLatExtents(), Isis::SubArea::UpdateLabel(), Isis::AdvancedTrackTool::updateRow(), and Isis::LambertConformal::XYRange().
double Isis::Equirectangular::m_centerLatitude [private] |
The center latitude for the map projection.
Definition at line 99 of file Equirectangular.h.
Referenced by Equirectangular(), operator==(), and TrueScaleLatitude().
double Isis::Equirectangular::m_centerLongitude [private] |
The center longitude for the map projection.
Definition at line 98 of file Equirectangular.h.
Referenced by Equirectangular(), operator==(), SetCoordinate(), and SetGround().
double Isis::Equirectangular::m_clatRadius [private] |
The radius of the target planet at the center latitude.
Definition at line 101 of file Equirectangular.h.
Referenced by Equirectangular(), SetCoordinate(), and SetGround().
double Isis::Equirectangular::m_cosCenterLatitude [private] |
Cosine of the center latitude.
Definition at line 100 of file Equirectangular.h.
Referenced by Equirectangular(), SetCoordinate(), and SetGround().
double Isis::Projection::m_eccentricity [protected, inherited] |
Planet Eccentricity.
Definition at line 386 of file Projection.h.
Referenced by Isis::Projection::Eccentricity(), Isis::Projection::Projection(), and Isis::Projection::qCompute().
double Isis::Projection::m_equatorialRadius [protected, inherited] |
Polar radius of the target.
This is a unitless value so that if the radius are in inches then the m_x and m_y will be in inches. The value is read from the labels.
Definition at line 374 of file Projection.h.
Referenced by Isis::Projection::EquatorialRadius(), Isis::LambertConformal::LambertConformal(), Isis::Projection::LocalRadius(), Isis::PointPerspective::PointPerspective(), Isis::Projection::Projection(), Isis::Projection::Scale(), Isis::PointPerspective::SetCoordinate(), Isis::LunarAzimuthalEqualArea::SetCoordinate(), Isis::Robinson::SetCoordinate(), Isis::TransverseMercator::SetCoordinate(), Isis::Mercator::SetCoordinate(), Isis::Orthographic::SetCoordinate(), Isis::LambertConformal::SetCoordinate(), Isis::ObliqueCylindrical::SetCoordinate(), Isis::PolarStereographic::SetCoordinate(), Isis::SimpleCylindrical::SetCoordinate(), Isis::Sinusoidal::SetCoordinate(), Isis::PointPerspective::SetGround(), Isis::LunarAzimuthalEqualArea::SetGround(), Isis::Robinson::SetGround(), Isis::TransverseMercator::SetGround(), Isis::Mercator::SetGround(), Isis::LambertConformal::SetGround(), Isis::Orthographic::SetGround(), Isis::ObliqueCylindrical::SetGround(), Isis::PolarStereographic::SetGround(), Isis::SimpleCylindrical::SetGround(), Isis::Sinusoidal::SetGround(), Isis::Projection::ToPlanetocentric(), Isis::Projection::ToPlanetographic(), Isis::TransverseMercator::TransverseMercator(), Isis::PointPerspective::XYRange(), and Isis::Orthographic::XYRange().
bool Isis::Projection::m_good [protected, inherited] |
Indicates if the contents of m_x, m_y, m_latitude, and m_longitude are valid.
Definition at line 353 of file Projection.h.
Referenced by Isis::Projection::findExtreme(), Isis::Projection::IsGood(), Isis::Projection::Projection(), Isis::Projection::SetComputedXY(), Isis::PointPerspective::SetCoordinate(), Isis::LunarAzimuthalEqualArea::SetCoordinate(), Isis::Robinson::SetCoordinate(), Isis::TransverseMercator::SetCoordinate(), Isis::Mercator::SetCoordinate(), Isis::Orthographic::SetCoordinate(), Isis::LambertConformal::SetCoordinate(), Isis::ObliqueCylindrical::SetCoordinate(), Isis::PolarStereographic::SetCoordinate(), SetCoordinate(), Isis::SimpleCylindrical::SetCoordinate(), Isis::Sinusoidal::SetCoordinate(), Isis::Projection::SetCoordinate(), Isis::PointPerspective::SetGround(), Isis::LunarAzimuthalEqualArea::SetGround(), Isis::Robinson::SetGround(), Isis::TransverseMercator::SetGround(), Isis::Mercator::SetGround(), Isis::Orthographic::SetGround(), Isis::LambertConformal::SetGround(), Isis::ObliqueCylindrical::SetGround(), Isis::PolarStereographic::SetGround(), SetGround(), Isis::SimpleCylindrical::SetGround(), Isis::Sinusoidal::SetGround(), Isis::Projection::SetGround(), Isis::Projection::SetUniversalGround(), Isis::Projection::SetXY(), Isis::LambertConformal::XYRange(), and Isis::Projection::XYRangeCheck().
bool Isis::Projection::m_groundRangeGood [protected, inherited] |
Indicates if the ground range (min/max lat/lons) were read from the labels.
Definition at line 390 of file Projection.h.
Referenced by Isis::Projection::HasGroundRange(), Isis::Projection::Projection(), and Isis::Projection::XYRange().
double Isis::Projection::m_latitude [protected, inherited] |
This contain a latitude value.
The value is only usable if m_good is true.
Definition at line 349 of file Projection.h.
Referenced by Isis::Projection::Latitude(), Isis::Projection::LocalRadius(), Isis::Projection::Projection(), Isis::PointPerspective::SetCoordinate(), Isis::LunarAzimuthalEqualArea::SetCoordinate(), Isis::Robinson::SetCoordinate(), Isis::TransverseMercator::SetCoordinate(), Isis::Mercator::SetCoordinate(), Isis::LambertConformal::SetCoordinate(), Isis::Orthographic::SetCoordinate(), Isis::ObliqueCylindrical::SetCoordinate(), Isis::PolarStereographic::SetCoordinate(), SetCoordinate(), Isis::SimpleCylindrical::SetCoordinate(), Isis::Sinusoidal::SetCoordinate(), Isis::Projection::SetCoordinate(), Isis::PointPerspective::SetGround(), Isis::LunarAzimuthalEqualArea::SetGround(), Isis::Robinson::SetGround(), Isis::TransverseMercator::SetGround(), Isis::Mercator::SetGround(), Isis::Orthographic::SetGround(), Isis::LambertConformal::SetGround(), Isis::ObliqueCylindrical::SetGround(), Isis::PolarStereographic::SetGround(), SetGround(), Isis::SimpleCylindrical::SetGround(), Isis::Sinusoidal::SetGround(), Isis::Projection::SetGround(), Isis::Projection::SetUniversalGround(), Isis::Projection::UniversalLatitude(), Isis::PointPerspective::XYRange(), Isis::Orthographic::XYRange(), and Isis::LambertConformal::XYRange().
LatitudeType Isis::Projection::m_latitudeType [protected, inherited] |
An enumerated type indicating the LatitudeType read from the labels.
It can be either Planetographic or Planetocentric.
Definition at line 356 of file Projection.h.
Referenced by Isis::Projection::IsPlanetocentric(), Isis::Projection::IsPlanetographic(), Isis::Projection::LatitudeTypeString(), Isis::Projection::Projection(), Isis::Projection::SetUniversalGround(), and Isis::Projection::UniversalLatitude().
double Isis::Projection::m_longitude [protected, inherited] |
This contain a longitude value.
The value is only usable if m_good is true.
Definition at line 351 of file Projection.h.
Referenced by Isis::Projection::Longitude(), Isis::Projection::Projection(), Isis::PointPerspective::SetCoordinate(), Isis::LunarAzimuthalEqualArea::SetCoordinate(), Isis::Robinson::SetCoordinate(), Isis::TransverseMercator::SetCoordinate(), Isis::Mercator::SetCoordinate(), Isis::LambertConformal::SetCoordinate(), Isis::Orthographic::SetCoordinate(), Isis::ObliqueCylindrical::SetCoordinate(), Isis::PolarStereographic::SetCoordinate(), SetCoordinate(), Isis::SimpleCylindrical::SetCoordinate(), Isis::Sinusoidal::SetCoordinate(), Isis::Projection::SetCoordinate(), Isis::PointPerspective::SetGround(), Isis::LunarAzimuthalEqualArea::SetGround(), Isis::Robinson::SetGround(), Isis::TransverseMercator::SetGround(), Isis::Mercator::SetGround(), Isis::Orthographic::SetGround(), Isis::LambertConformal::SetGround(), Isis::ObliqueCylindrical::SetGround(), Isis::PolarStereographic::SetGround(), SetGround(), Isis::SimpleCylindrical::SetGround(), Isis::Sinusoidal::SetGround(), Isis::Projection::SetGround(), Isis::Projection::SetUniversalGround(), Isis::Projection::UniversalLongitude(), Isis::PointPerspective::XYRange(), Isis::LambertConformal::XYRange(), and Isis::Orthographic::XYRange().
LongitudeDirection Isis::Projection::m_longitudeDirection [protected, inherited] |
An enumerated type indicating the LongitudeDirection read from the labels.
It can be either PositiveEast or PositiveWest. Indicating which direction the positive axis for longitude is.
Definition at line 361 of file Projection.h.
Referenced by Equirectangular(), Isis::Projection::IsPositiveEast(), Isis::Projection::IsPositiveWest(), Isis::LambertConformal::LambertConformal(), Isis::Projection::LongitudeDirectionString(), Isis::Mercator::Mercator(), Isis::Orthographic::Orthographic(), Isis::PointPerspective::PointPerspective(), Isis::PolarStereographic::PolarStereographic(), Isis::Projection::Projection(), Isis::Robinson::Robinson(), Isis::PointPerspective::SetCoordinate(), Isis::Robinson::SetCoordinate(), Isis::TransverseMercator::SetCoordinate(), Isis::Mercator::SetCoordinate(), Isis::Orthographic::SetCoordinate(), Isis::LambertConformal::SetCoordinate(), Isis::ObliqueCylindrical::SetCoordinate(), Isis::PolarStereographic::SetCoordinate(), SetCoordinate(), Isis::SimpleCylindrical::SetCoordinate(), Isis::Sinusoidal::SetCoordinate(), Isis::PointPerspective::SetGround(), Isis::LunarAzimuthalEqualArea::SetGround(), Isis::Robinson::SetGround(), Isis::TransverseMercator::SetGround(), Isis::Mercator::SetGround(), Isis::LambertConformal::SetGround(), Isis::Orthographic::SetGround(), Isis::ObliqueCylindrical::SetGround(), Isis::PolarStereographic::SetGround(), SetGround(), Isis::SimpleCylindrical::SetGround(), Isis::Sinusoidal::SetGround(), Isis::Projection::SetUniversalGround(), Isis::SimpleCylindrical::SimpleCylindrical(), Isis::Sinusoidal::Sinusoidal(), Isis::TransverseMercator::TransverseMercator(), Isis::Projection::UniversalLongitude(), Isis::LambertConformal::XYRange(), and Isis::PolarStereographic::XYRange().
int Isis::Projection::m_longitudeDomain [protected, inherited] |
This integer is either 180 or 360 and is read from the labels.
It represents the longitude domain when returning values through Longitude method. The domain is either -180 to 180 or 0 to 360.
Definition at line 368 of file Projection.h.
Referenced by Isis::Projection::Has180Domain(), Isis::Projection::Has360Domain(), Isis::Projection::LongitudeDomainString(), Isis::Projection::Projection(), Isis::PointPerspective::SetCoordinate(), Isis::TransverseMercator::SetCoordinate(), Isis::Orthographic::SetCoordinate(), Isis::PolarStereographic::SetCoordinate(), and Isis::Projection::SetUniversalGround().
WorldMapper* Isis::Projection::m_mapper [protected, inherited] |
This points to a mapper passed into the SetWorldMapper method.
This mapper allows the programmer to specify a different world coordinate system. Thus the programmer could pass in line/sample positions in order to obtain a latitude/longitude or set a lat/lon and get a line/sample.
Definition at line 341 of file Projection.h.
Referenced by Isis::Projection::Projection(), Isis::Projection::Resolution(), Isis::Projection::Scale(), Isis::Projection::SetWorld(), Isis::Projection::SetWorldMapper(), Isis::Projection::ToProjectionX(), Isis::Projection::ToProjectionY(), Isis::Projection::ToWorldX(), Isis::Projection::ToWorldY(), Isis::Projection::WorldX(), Isis::Projection::WorldY(), and Isis::Projection::~Projection().
PvlGroup Isis::Projection::m_mappingGrp [protected, inherited] |
Mapping group that created this projection.
Definition at line 418 of file Projection.h.
Referenced by Isis::PointPerspective::Mapping(), Isis::LunarAzimuthalEqualArea::Mapping(), Isis::Robinson::Mapping(), Isis::TransverseMercator::Mapping(), Isis::Mercator::Mapping(), Isis::Orthographic::Mapping(), Isis::LambertConformal::Mapping(), Isis::ObliqueCylindrical::Mapping(), Isis::PolarStereographic::Mapping(), Mapping(), Isis::SimpleCylindrical::Mapping(), Isis::Sinusoidal::Mapping(), Isis::Projection::Mapping(), Isis::PointPerspective::MappingLatitudes(), Isis::TransverseMercator::MappingLatitudes(), Isis::Mercator::MappingLatitudes(), Isis::LambertConformal::MappingLatitudes(), Isis::Orthographic::MappingLatitudes(), Isis::PolarStereographic::MappingLatitudes(), MappingLatitudes(), Isis::Projection::MappingLatitudes(), Isis::PointPerspective::MappingLongitudes(), Isis::Robinson::MappingLongitudes(), Isis::TransverseMercator::MappingLongitudes(), Isis::Mercator::MappingLongitudes(), Isis::Orthographic::MappingLongitudes(), Isis::LambertConformal::MappingLongitudes(), Isis::PolarStereographic::MappingLongitudes(), MappingLongitudes(), Isis::SimpleCylindrical::MappingLongitudes(), Isis::Sinusoidal::MappingLongitudes(), Isis::Projection::MappingLongitudes(), Isis::Projection::Projection(), and Isis::Projection::SetUpperLeftCorner().
double Isis::Projection::m_maximumLatitude [protected, inherited] |
Contains the maximum latitude for the entire ground range.
Only usable if m_groundRangeGood is true.
Definition at line 395 of file Projection.h.
Referenced by Equirectangular(), Isis::LambertConformal::LambertConformal(), Isis::Projection::MaximumLatitude(), Isis::Mercator::Mercator(), Isis::Orthographic::Orthographic(), Isis::PointPerspective::PointPerspective(), Isis::PolarStereographic::PolarStereographic(), Isis::Projection::Projection(), Isis::TransverseMercator::TransverseMercator(), Isis::PointPerspective::XYRange(), Isis::LunarAzimuthalEqualArea::XYRange(), Isis::Robinson::XYRange(), Isis::TransverseMercator::XYRange(), Isis::Mercator::XYRange(), Isis::Orthographic::XYRange(), Isis::LambertConformal::XYRange(), Isis::PolarStereographic::XYRange(), XYRange(), Isis::SimpleCylindrical::XYRange(), Isis::Sinusoidal::XYRange(), and Isis::Projection::XYRange().
double Isis::Projection::m_maximumLongitude [protected, inherited] |
Contains the maximum longitude for the entire ground range.
Only usable if m_groundRangeGood is true.
Definition at line 401 of file Projection.h.
Referenced by Isis::LambertConformal::LambertConformal(), Isis::Projection::MaximumLongitude(), Isis::Mercator::Mercator(), Isis::Orthographic::Orthographic(), Isis::PointPerspective::PointPerspective(), Isis::PolarStereographic::PolarStereographic(), Isis::Projection::Projection(), Isis::Robinson::Robinson(), Isis::SimpleCylindrical::SimpleCylindrical(), Isis::Sinusoidal::Sinusoidal(), Isis::TransverseMercator::TransverseMercator(), Isis::PointPerspective::XYRange(), Isis::LunarAzimuthalEqualArea::XYRange(), Isis::Robinson::XYRange(), Isis::TransverseMercator::XYRange(), Isis::Mercator::XYRange(), Isis::Orthographic::XYRange(), Isis::LambertConformal::XYRange(), Isis::PolarStereographic::XYRange(), XYRange(), Isis::SimpleCylindrical::XYRange(), Isis::Sinusoidal::XYRange(), and Isis::Projection::XYRange().
double Isis::Projection::m_maximumX [protected, inherited] |
See minimumX description.
Definition at line 415 of file Projection.h.
Referenced by Isis::Projection::Projection(), Isis::PointPerspective::XYRange(), Isis::LunarAzimuthalEqualArea::XYRange(), Isis::Robinson::XYRange(), Isis::TransverseMercator::XYRange(), Isis::Mercator::XYRange(), Isis::Orthographic::XYRange(), Isis::LambertConformal::XYRange(), Isis::PolarStereographic::XYRange(), XYRange(), Isis::SimpleCylindrical::XYRange(), Isis::Sinusoidal::XYRange(), Isis::Projection::XYRangeCheck(), and Isis::Projection::xyRangeOblique().
double Isis::Projection::m_maximumY [protected, inherited] |
See minimumX description.
Definition at line 417 of file Projection.h.
Referenced by Isis::Projection::Projection(), Isis::PointPerspective::XYRange(), Isis::LunarAzimuthalEqualArea::XYRange(), Isis::Robinson::XYRange(), Isis::TransverseMercator::XYRange(), Isis::Mercator::XYRange(), Isis::Orthographic::XYRange(), Isis::LambertConformal::XYRange(), Isis::PolarStereographic::XYRange(), XYRange(), Isis::SimpleCylindrical::XYRange(), Isis::Sinusoidal::XYRange(), Isis::Projection::XYRangeCheck(), and Isis::Projection::xyRangeOblique().
double Isis::Projection::m_minimumLatitude [protected, inherited] |
Contains the minimum latitude for the entire ground range.
Only usable if m_groundRangeGood is true.
Definition at line 392 of file Projection.h.
Referenced by Equirectangular(), Isis::LambertConformal::LambertConformal(), Isis::Mercator::Mercator(), Isis::Projection::MinimumLatitude(), Isis::Orthographic::Orthographic(), Isis::PointPerspective::PointPerspective(), Isis::PolarStereographic::PolarStereographic(), Isis::Projection::Projection(), Isis::TransverseMercator::TransverseMercator(), Isis::PointPerspective::XYRange(), Isis::LunarAzimuthalEqualArea::XYRange(), Isis::Robinson::XYRange(), Isis::TransverseMercator::XYRange(), Isis::Mercator::XYRange(), Isis::Orthographic::XYRange(), Isis::LambertConformal::XYRange(), Isis::PolarStereographic::XYRange(), XYRange(), Isis::SimpleCylindrical::XYRange(), Isis::Sinusoidal::XYRange(), and Isis::Projection::XYRange().
double Isis::Projection::m_minimumLongitude [protected, inherited] |
Contains the minimum longitude for the entire ground range.
Only usable if m_groundRangeGood is true.
Definition at line 398 of file Projection.h.
Referenced by Isis::LambertConformal::LambertConformal(), Isis::Mercator::Mercator(), Isis::Projection::MinimumLongitude(), Isis::Orthographic::Orthographic(), Isis::PointPerspective::PointPerspective(), Isis::PolarStereographic::PolarStereographic(), Isis::Projection::Projection(), Isis::Robinson::Robinson(), Isis::SimpleCylindrical::SimpleCylindrical(), Isis::Sinusoidal::Sinusoidal(), Isis::TransverseMercator::TransverseMercator(), Isis::PointPerspective::XYRange(), Isis::LunarAzimuthalEqualArea::XYRange(), Isis::Robinson::XYRange(), Isis::TransverseMercator::XYRange(), Isis::Mercator::XYRange(), Isis::Orthographic::XYRange(), Isis::LambertConformal::XYRange(), Isis::PolarStereographic::XYRange(), XYRange(), Isis::SimpleCylindrical::XYRange(), Isis::Sinusoidal::XYRange(), and Isis::Projection::XYRange().
double Isis::Projection::m_minimumX [protected, inherited] |
The data elements m_minimumX, m_minimumY, m_maximumX, and m_maximumY are convience data elements when you write the XYRange virtual function.
They are used in conjuction with the XYRangeCheck convience method. After utilizing XYRangeCheck to test boundary conditions in the XYRange method these values will contain the projection x/y coverage for the ground range specified by min/max lat/lon.
Definition at line 406 of file Projection.h.
Referenced by Isis::Projection::Projection(), Isis::PointPerspective::XYRange(), Isis::LunarAzimuthalEqualArea::XYRange(), Isis::Robinson::XYRange(), Isis::TransverseMercator::XYRange(), Isis::Mercator::XYRange(), Isis::Orthographic::XYRange(), Isis::LambertConformal::XYRange(), Isis::PolarStereographic::XYRange(), XYRange(), Isis::SimpleCylindrical::XYRange(), Isis::Sinusoidal::XYRange(), Isis::Projection::XYRangeCheck(), and Isis::Projection::xyRangeOblique().
double Isis::Projection::m_minimumY [protected, inherited] |
See minimumX description.
Definition at line 416 of file Projection.h.
Referenced by Isis::Projection::Projection(), Isis::PointPerspective::XYRange(), Isis::LunarAzimuthalEqualArea::XYRange(), Isis::Robinson::XYRange(), Isis::TransverseMercator::XYRange(), Isis::Mercator::XYRange(), Isis::Orthographic::XYRange(), Isis::LambertConformal::XYRange(), Isis::PolarStereographic::XYRange(), XYRange(), Isis::SimpleCylindrical::XYRange(), Isis::Sinusoidal::XYRange(), Isis::Projection::XYRangeCheck(), and Isis::Projection::xyRangeOblique().
double Isis::Projection::m_polarRadius [protected, inherited] |
Polar radius of the target.
This is a unitless value so that if the radius are in inches then the m_x and m_y will be in inches. Of course the units must be the same as the equatorial radius. The value is read from the labels.
Definition at line 379 of file Projection.h.
Referenced by Isis::Projection::LocalRadius(), Isis::Projection::PolarRadius(), Isis::Projection::Projection(), Isis::Projection::Scale(), Isis::Projection::ToPlanetocentric(), and Isis::Projection::ToPlanetographic().
bool Isis::Projection::m_sky [protected, inherited] |
Indicates whether projection is sky or land.
Definition at line 387 of file Projection.h.
Referenced by Isis::Projection::IsSky(), and Isis::Projection::Projection().