24 static ossimTrace traceDebug(
"ossimEquDistCylProjection:debug");
27 "ossimEquDistCylProjection",
37 # define PI_OVER_2 ( M_PI / 2.0) 40 # define TWO_PI (2.0 * M_PI) 42 #define ONE (1.0 * M_PI / 180.0) 44 #define EQCY_NO_ERROR 0x0000 45 #define EQCY_LAT_ERROR 0x0001 46 #define EQCY_LON_ERROR 0x0002 47 #define EQCY_EASTING_ERROR 0x0004 48 #define EQCY_NORTHING_ERROR 0x0008 49 #define EQCY_ORIGIN_LAT_ERROR 0x0010 50 #define EQCY_CENT_MER_ERROR 0x0020 51 #define EQCY_A_ERROR 0x0040 52 #define EQCY_B_ERROR 0x0080 53 #define EQCY_A_LESS_B_ERROR 0x0100 102 if ((datum_code >= 6000) && (datum_code < 7000))
134 double falseNorthing)
153 const double& hgtEllipsoid,
195 gpt =
inverse(eastingNorthing);
205 gpt.
hgt = hgtEllipsoid;
237 gptEastingNorthing =
forward(gpt);
241 gptEastingNorthing =
forward(worldPoint);
245 if(!gptEastingNorthing.
isNan())
278 if( !gptEastingNorthing.
isNan() )
281 if ( imageSize.
x > 0.0 )
293 if ( rightImageX < rightProjectionEdge.
x )
303 rightImageX - rightProjectionEdge.
x + leftProjectionEdge.
x;
305 if ( ( gptEastingNorthing.
x >= leftImageX ) &&
306 ( gptEastingNorthing.
x <= rightProjectionEdge.
x ) )
312 else if ( ( gptEastingNorthing.
x >= leftProjectionEdge.
x ) &&
313 ( gptEastingNorthing.
x <= normRightX ) )
326 if ( deltaToRight < deltaToLeft )
378 double easting = 0.0;
379 double northing = 0.0;
458 double Central_Meridian,
459 double False_Easting,
460 double False_Northing)
540 double *Std_Parallel,
541 double *Central_Meridian,
542 double *False_Easting,
543 double *False_Northing)
const 574 double *Northing)
const 627 double *Longitude)
const
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to the load (recreate) the state of an object from a keyword list.
Represents serializable keyword/value map.
const char * find(const char *key) const
virtual ossim_uint32 epsgCode() const
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
virtual ossimDpt worldToLineSample(const ossimGpt &worldPoint) const
virtual void setOrigin(const ossimGpt &origin)
Sets theOrigin to origin.
ossimDpt theUlEastingNorthing
Hold tie point as easting northing.
virtual void lineSampleHeightToWorld(const ossimDpt &lineSampPt, const double &heightAboveEllipsoid, ossimGpt &worldPt) const
This is the pure virtual that projects the image point to the given elevation above ellipsoid...
virtual const ossimString & code() const
ossim_float64 hgt
Height in meters above the ellipsiod.
RTTI_DEF1(ossimEquDistCylProjection, "ossimEquDistCylProjection", ossimMapProjection)
static ossimElevManager * instance()
METHOD: instance() Implements singelton pattern.
ossimGpt theUlGpt
Hold tie point in decimal degrees.
double Eqcy_False_Northing
static const char * TYPE_KW
void changeDatum(const ossimDatum *datum)
This will actually perform a shift.
virtual void setMetersPerPixel(const ossimDpt &gsd)
#define STATIC_TYPE_NAME(T)
const ossimDatum * datum() const
datum().
bool theElevationLookupFlag
long Convert_Geodetic_To_Equidistant_Cyl(double Latitude, double Longitude, double *Easting, double *Northing) const
ossimDpt theMetersPerPixel
Holds the number of meters per pixel.
ossimUnitType theModelTransformUnitType
virtual double getHeightAboveEllipsoid(const ossimGpt &gpt)
const double & getA() const
virtual ossimGpt origin() const
double lonr() const
Returns the longitude in radian measure.
unsigned int ossim_uint32
virtual ossimDpt forward(const ossimGpt &latLon) const
All map projections will convert the world coordinate to an easting northing (Meters).
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Method to save the state of an object to a keyword list.
long Convert_Equidistant_Cyl_To_Geodetic(double Easting, double Northing, double *Latitude, double *Longitude) const
ossimEquDistCylProjection(const ossimEllipsoid &ellipsoid=ossimEllipsoid(), const ossimGpt &origin=ossimGpt())
long Set_Equidistant_Cyl_Parameters(double a, double f, double Std_Parallel, double Central_Meridian, double False_Easting, double False_Northing)
virtual void setOrigin(const ossimGpt &origin)
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
ossimUnitType theProjectionUnits
Linear units of the projection as indicated in the projection's specification:
void setFalseEastingNorthing(double falseEasting, double falseNorthing)
ossim_uint32 thePcsCode
Projection Coordinate System(PCS) code.
void Get_Equidistant_Cyl_Parameters(double *a, double *f, double *Std_Parallel, double *Central_Meridian, double *False_Easting, double *False_Northing) const
virtual void worldToLineSample(const ossimGpt &worldPoint, ossimDpt &lineSample) const
void setFalseNorthing(double falseNorthing)
ossimDpt theDegreesPerPixel
Hold the decimal degrees per pixel.
double Cos_Eqcy_Std_Parallel
double latr() const
latr().
double Ra_Cos_Eqcy_Std_Parallel
double Eqcy_Delta_Northing
virtual void setUlTiePoints(const ossimGpt &gpt)
const double & getFlattening() const
ossimEllipsoid theEllipsoid
This method verifies that the projection parameters match the current pcs code.
ossimDpt theFalseEastingNorthing
Hold the false easting northing.
virtual ossimDpt getMetersPerPixel() const
double Eqcy_False_Easting
virtual void computeDegreesPerPixel()
Computes the approximate resolution in degrees/pixel.
virtual void lineSampleHeightToWorld(const ossimDpt &lineSampPt, const double &heightAboveEllipsoid, ossimGpt &worldPt) const
This is the pure virtual that projects the image point to the given elevation above ellipsoid...
void setFalseEasting(double falseEasting)
virtual ossimGpt inverse(const ossimDpt &eastingNorthing) const
Will take a point in meters and convert it to ground.
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
bool isnan(const float &v)
isnan Test for floating point Not A Number (NAN) value.
const ossimDatum * theDatum
This is only set if we want to have built in datum shifting.