USGS

Isis 3.0 Developer's Reference (API)

Home

LambertConformal.h

Go to the documentation of this file.
00001 #ifndef LambertConformal_h
00002 #define LambertConformal_h
00003 
00025 #include "Projection.h"
00026 #include "Constants.h"
00027 
00028 namespace Isis {
00055   class LambertConformal : public Isis::Projection {
00056     public:
00057       LambertConformal(Isis::Pvl &label, bool allowDefaults = false);
00058       ~LambertConformal();
00059       bool SetGround(const double lat, const double lon);
00060       bool SetCoordinate(const double x, const double y);
00061       bool XYRange(double &minX, double &maxX, double &minY, double &maxY);
00062       PvlGroup Mapping();
00063       PvlGroup MappingLatitudes();
00064       PvlGroup MappingLongitudes();
00065 
00071       std::string Name() const {
00072         return "LambertConformal";
00073       }
00074 
00081       std::string Version() const {
00082         return "1.0";
00083       }
00084 
00085       bool operator== (const Isis::Projection &proj);
00086 
00093       double TrueScaleLatitude() const {
00094         if(p_par1 > p_par2) return p_par2 * 180.0 / Isis::PI;
00095         else return p_par1 * 180.0 / Isis::PI;
00096       };
00097 
00098 
00099     private:
00100       double p_centerLongitude; 
00101       double p_centerLatitude;  
00102       double p_par1;            
00103       double p_par2;            
00104       double p_n, p_f, p_rho;   
00105 
00106   };
00107 };
00108 
00109 #endif