OSSIM - Open Source Software Image Map
Version 1.9.0 (20180803)
|
#include <ossimPolarStereoProjection.h>
Public Member Functions | |
ossimPolarStereoProjection (const ossimEllipsoid &ellipsoid=ossimEllipsoid(), const ossimGpt &origin=ossimGpt()) | |
ossimPolarStereoProjection (const ossimEllipsoid &ellipsoid, const ossimGpt &origin, const double falseEasting, const double falseNorthing) | |
~ossimPolarStereoProjection () | |
virtual ossimObject * | dup () const |
virtual ossimGpt | inverse (const ossimDpt &eastingNorthing) const |
Will take a point in meters and convert it to ground. More... | |
virtual ossimDpt | forward (const ossimGpt &latLon) const |
All map projections will convert the world coordinate to an easting northing (Meters). More... | |
virtual void | update () |
void | setFalseEasting (double falseEasting) |
void | setFalseNorthing (double falseNorthing) |
void | setFalseEastingNorthing (double falseEasting, double falseNorthing) |
void | setDefaults () |
double | getFalseEasting () const |
double | getFalseNorthing () const |
virtual bool | saveState (ossimKeywordlist &kwl, const char *prefix=0) const |
virtual bool | loadState (const ossimKeywordlist &kwl, const char *prefix=0) |
![]() | |
ossimMapProjection (const ossimEllipsoid &ellipsoid=ossimEllipsoid(), const ossimGpt &origin=ossimGpt()) | |
ossimMapProjection (const ossimMapProjection &src) | |
virtual ossimGpt | origin () const |
virtual ossimDpt | worldToLineSample (const ossimGpt &worldPoint) const |
virtual void | worldToLineSample (const ossimGpt &worldPoint, ossimDpt &lineSample) const |
virtual ossimGpt | lineSampleToWorld (const ossimDpt &projectedPoint) const |
virtual void | lineSampleToWorld (const ossimDpt &projectedPoint, ossimGpt &gpt) const |
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, thereby bypassing reference to a DEM. More... | |
virtual void | lineSampleToEastingNorthing (const ossimDpt &liineSample, ossimDpt &eastingNorthing) const |
virtual void | eastingNorthingToLineSample (const ossimDpt &eastingNorthing, ossimDpt &lineSample) const |
virtual void | eastingNorthingToWorld (const ossimDpt &eastingNorthing, ossimGpt &worldPt) const |
virtual double | getStandardParallel1 () const |
Derived classes should implement as needed. More... | |
virtual double | getStandardParallel2 () const |
Derived classes should implement as needed. More... | |
virtual void | setPcsCode (ossim_uint32 pcsCode) |
virtual ossim_uint32 | getPcsCode () const |
Returns the EPSG PCS code or 32767 if the projection is a custom (non-EPSG) projection. More... | |
virtual ossimString | getProjectionName () const |
Returns the projection name. More... | |
virtual double | getA () const |
ACCESS METHODS: More... | |
virtual double | getB () const |
virtual double | getF () const |
virtual ossimDpt | getMetersPerPixel () const |
virtual const ossimDpt & | getDecimalDegreesPerPixel () const |
Returns decimal degrees per pixel as an ossimDpt with "x" representing longitude and "y" representing latitude. More... | |
virtual const ossimDpt & | getUlEastingNorthing () const |
virtual const ossimGpt & | getUlGpt () const |
virtual const ossimDatum * | getDatum () const |
const ossimEllipsoid & | getEllipsoid () const |
const ossimGpt & | getOrigin () const |
virtual bool | isGeographic () const |
virtual void | applyScale (const ossimDpt &scale, bool recenterTiePoint) |
Applies scale to theDeltaLonPerPixel, theDeltaLatPerPixel and theMetersPerPixel data members (eg: theDeltaLonPerPixel *= scale.x). More... | |
virtual void | setEllipsoid (const ossimEllipsoid &ellipsoid) |
SET METHODS: More... | |
virtual void | setAB (double a, double b) |
virtual void | setDatum (const ossimDatum *datum) |
Sets theDatum to datum. More... | |
virtual void | setOrigin (const ossimGpt &origin) |
Sets theOrigin to origin. More... | |
virtual void | setMetersPerPixel (const ossimDpt &gsd) |
virtual void | setDecimalDegreesPerPixel (const ossimDpt &gsd) |
virtual void | setUlTiePoints (const ossimGpt &gpt) |
virtual void | setUlTiePoints (const ossimDpt &eastingNorthing) |
virtual void | setUlEastingNorthing (const ossimDpt &ulEastingNorthing) |
virtual void | setUlGpt (const ossimGpt &ulGpt) |
virtual void | assign (const ossimProjection &aProjection) |
virtual std::ostream & | print (std::ostream &out) const |
Prints data members to stream. More... | |
virtual bool | operator== (const ossimProjection &projection) const |
Compares this to arg projection and returns TRUE if the same. More... | |
virtual void | computeDegreesPerPixel () |
Computes the approximate resolution in degrees/pixel. More... | |
virtual void | computeMetersPerPixel () |
This will go from the ground point and give you an approximate meters per pixel. More... | |
void | setMatrix (double rotation, const ossimDpt &scale, const ossimDpt &translation) |
void | setMatrixScale (const ossimDpt &scale) |
void | setMatrixRotation (double rotation) |
void | setMatrixTranslation (const ossimDpt &translation) |
void | snapTiePointTo (ossim_float64 multiple, ossimUnitType unitType) |
Utility method to snap the tie point to some multiple. More... | |
void | snapTiePointToOrigin () |
void | setElevationLookupFlag (bool flag) |
bool | getElevationLookupFlag () const |
ossimUnitType | getModelTransformUnitType () const |
void | setModelTransformUnitType (ossimUnitType unit) |
bool | hasModelTransform () const |
virtual bool | isAffectedByElevation () const |
Implementation of pure virtual ossimProjection::isAffectedByElevation method. More... | |
void | setProjectionUnits (ossimUnitType units) |
ossimUnitType | getProjectionUnits () const |
OSSIM considers all map projection coordinates (including false eastings and northings) to be in meters. More... | |
virtual bool | isEqualTo (const ossimObject &obj, ossimCompareType compareType=OSSIM_COMPARE_FULL) const |
![]() | |
ossimProjection () | |
virtual | ~ossimProjection () |
virtual void | getRoundTripError (const ossimDpt &imagePoint, ossimDpt &errorResult) const |
virtual void | getRoundTripError (const ossimGpt &groundPoint, ossimDpt &errorResult) const |
virtual void | getGroundClipPoints (ossimGeoPolygon &gpts) const |
virtual bool | operator!= (const ossimProjection &projection) const |
![]() | |
ossimObject () | |
virtual | ~ossimObject () |
virtual ossimString | getShortName () const |
virtual ossimString | getLongName () const |
virtual ossimString | getDescription () const |
virtual ossimString | getClassName () const |
virtual RTTItypeid | getType () const |
virtual bool | canCastTo (ossimObject *obj) const |
virtual bool | canCastTo (const RTTItypeid &id) const |
virtual bool | canCastTo (const ossimString &parentClassName) const |
virtual void | accept (ossimVisitor &visitor) |
![]() | |
ossimReferenced () | |
ossimReferenced (const ossimReferenced &) | |
ossimReferenced & | operator= (const ossimReferenced &) |
void | ref () const |
increment the reference count by one, indicating that this object has another pointer which is referencing it. More... | |
void | unref () const |
decrement the reference count by one, indicating that a pointer to this object is referencing it. More... | |
void | unref_nodelete () const |
decrement the reference count by one, indicating that a pointer to this object is referencing it. More... | |
int | referenceCount () const |
![]() | |
ossimErrorStatusInterface () | |
virtual | ~ossimErrorStatusInterface () |
virtual ossimErrorCode | getErrorStatus () const |
virtual ossimString | getErrorStatusString () const |
virtual void | setErrorStatus (ossimErrorCode error_status) const |
virtual void | setErrorStatus () const |
virtual void | clearErrorStatus () const |
bool | hasError () const |
Private Member Functions | |
long | Set_Polar_Stereographic_Parameters (double a, double f, double Latitude_of_True_Scale, double Longitude_Down_from_Pole, double False_Easting, double False_Northing) |
void | Get_Polar_Stereographic_Parameters (double *a, double *f, double *Latitude_of_True_Scale, double *Longitude_Down_from_Pole, double *False_Easting, double *False_Northing) const |
long | Convert_Geodetic_To_Polar_Stereographic (double Latitude, double Longitude, double *Easting, double *Northing) const |
long | Convert_Polar_Stereographic_To_Geodetic (double Easting, double Northing, double *Latitude, double *Longitude) const |
Private Attributes | |
double | Polar_a |
double | Polar_f |
double | es |
double | es_OVER_2 |
double | Southern_Hemisphere |
double | mc |
double | tc |
double | e4 |
double | Polar_a_mc |
double | two_Polar_a |
double | Polar_Origin_Lat |
double | Polar_Origin_Long |
double | Polar_False_Easting |
double | Polar_False_Northing |
double | Polar_Delta_Easting |
double | Polar_Delta_Northing |
Additional Inherited Members | |
![]() | |
virtual | ~ossimMapProjection () |
void | updateFromTransform () |
![]() | |
virtual | ~ossimReferenced () |
![]() | |
ossimEllipsoid | theEllipsoid |
This method verifies that the projection parameters match the current pcs code. More... | |
ossimGpt | theOrigin |
const ossimDatum * | theDatum |
This is only set if we want to have built in datum shifting. More... | |
ossimDpt | theMetersPerPixel |
Holds the number of meters per pixel. More... | |
ossimDpt | theDegreesPerPixel |
Hold the decimal degrees per pixel. More... | |
ossimGpt | theUlGpt |
Hold tie point in decimal degrees. More... | |
ossimDpt | theUlEastingNorthing |
Hold tie point as easting northing. More... | |
ossimDpt | theFalseEastingNorthing |
Hold the false easting northing. More... | |
ossim_uint32 | thePcsCode |
Projection Coordinate System(PCS) code. More... | |
bool | theElevationLookupFlag |
ossimMatrix4x4 | theModelTransform |
ossimMatrix4x4 | theInverseModelTransform |
ossimUnitType | theModelTransformUnitType |
ossimUnitType | theProjectionUnits |
Linear units of the projection as indicated in the projection's specification: More... | |
![]() | |
ossimErrorCode | theErrorStatus |
Definition at line 18 of file ossimPolarStereoProjection.h.
ossimPolarStereoProjection::ossimPolarStereoProjection | ( | const ossimEllipsoid & | ellipsoid = ossimEllipsoid() , |
const ossimGpt & | origin = ossimGpt() |
||
) |
Definition at line 51 of file ossimPolarStereoProjection.cpp.
References setDefaults(), and update().
ossimPolarStereoProjection::ossimPolarStereoProjection | ( | const ossimEllipsoid & | ellipsoid, |
const ossimGpt & | origin, | ||
const double | falseEasting, | ||
const double | falseNorthing | ||
) |
Definition at line 61 of file ossimPolarStereoProjection.cpp.
References Polar_Delta_Easting, Polar_Delta_Northing, Polar_False_Easting, Polar_False_Northing, and update().
|
inline |
Definition at line 27 of file ossimPolarStereoProjection.h.
|
private |
The function Convert_Geodetic_To_Polar_Stereographic converts geodetic coordinates (latitude and longitude) to Polar Stereographic coordinates (easting and northing), according to the current ellipsoid and Polar Stereographic projection parameters. If any errors occur, error code(s) are returned by the function, otherwise POLAR_NO_ERROR is returned.
Latitude : Latitude, in radians (input) Longitude : Longitude, in radians (input) Easting : Easting (X), in meters (output) Northing : Northing (Y), in meters (output)
Definition at line 321 of file ossimPolarStereoProjection.cpp.
References e4, es, PI_OVER_2, PI_Over_4, Polar_a_mc, Polar_False_Easting, Polar_False_Northing, POLAR_NO_ERROR, Polar_Origin_Lat, Polar_Origin_Long, POLAR_POW, Southern_Hemisphere, tc, and two_Polar_a.
Referenced by forward(), and Set_Polar_Stereographic_Parameters().
|
private |
The function Convert_Polar_Stereographic_To_Geodetic converts Polar Stereographic coordinates (easting and northing) to geodetic coordinates (latitude and longitude) according to the current ellipsoid and Polar Stereographic projection Parameters. If any errors occur, the code(s) are returned by the function, otherwise POLAR_NO_ERROR is returned.
Easting : Easting (X), in meters (input) Northing : Northing (Y), in meters (input) Latitude : Latitude, in radians (output) Longitude : Longitude, in radians (output)
Definition at line 417 of file ossimPolarStereoProjection.cpp.
References e4, es, PI_OVER_2, Polar_a_mc, Polar_False_Easting, Polar_False_Northing, POLAR_NO_ERROR, Polar_Origin_Lat, Polar_Origin_Long, POLAR_POW, Southern_Hemisphere, tc, and two_Polar_a.
Referenced by inverse().
|
inlinevirtual |
Implements ossimProjection.
Definition at line 29 of file ossimPolarStereoProjection.h.
All map projections will convert the world coordinate to an easting northing (Meters).
Implements ossimMapProjection.
Definition at line 131 of file ossimPolarStereoProjection.cpp.
References ossimGpt::changeDatum(), ossimDatum::code(), Convert_Geodetic_To_Polar_Stereographic(), ossimGpt::datum(), ossimGpt::latr(), ossimGpt::lonr(), and ossimMapProjection::theDatum.
|
private |
The function Get_Polar_Stereographic_Parameters returns the current ellipsoid parameters and Polar projection parameters.
a : Semi-major axis of ellipsoid, in meters (output) f : Flattening of ellipsoid (output) Latitude_of_True_Scale : Latitude of true scale, in radians (output) Longitude_Down_from_Pole : Longitude down from pole, in radians (output) False_Easting : Easting (X) at center of projection, in meters (output) False_Northing : Northing (Y) at center of projection, in meters (output)
Definition at line 290 of file ossimPolarStereoProjection.cpp.
References Polar_a, Polar_f, Polar_False_Easting, Polar_False_Northing, Polar_Origin_Lat, and Polar_Origin_Long.
|
inlinevirtual |
Reimplemented from ossimMapProjection.
Definition at line 56 of file ossimPolarStereoProjection.h.
|
inlinevirtual |
Reimplemented from ossimMapProjection.
Definition at line 57 of file ossimPolarStereoProjection.h.
Will take a point in meters and convert it to ground.
Implements ossimMapProjection.
Definition at line 118 of file ossimPolarStereoProjection.cpp.
References Convert_Polar_Stereographic_To_Geodetic(), DEG_PER_RAD, ossimMapProjection::theDatum, ossimDpt::x, and ossimDpt::y.
|
virtual |
Method to the load (recreate) the state of an object from a keyword list. Return true if ok or false on error.
Reimplemented from ossimMapProjection.
Definition at line 158 of file ossimPolarStereoProjection.cpp.
References ossimKeywordlist::find(), ossimMapProjection::loadState(), Polar_False_Easting, Polar_False_Northing, setDefaults(), STATIC_TYPE_NAME, ossimMapProjection::theFalseEastingNorthing, ossimKeywordNames::TYPE_KW, update(), ossimDpt::x, and ossimDpt::y.
|
virtual |
Method to save the state of an object to a keyword list. Return true if ok or false on error.
Reimplemented from ossimMapProjection.
Definition at line 153 of file ossimPolarStereoProjection.cpp.
References ossimMapProjection::saveState().
|
private |
The function Set_Polar_Stereographic_Parameters receives the ellipsoid parameters and Polar Stereograpic projection parameters as inputs, and sets the corresponding state variables. If any errors occur, error code(s) are returned by the function, otherwise POLAR_NO_ERROR is returned.
a : Semi-major axis of ellipsoid, in meters (input) f : Flattening of ellipsoid (input) Latitude_of_True_Scale : Latitude of true scale, in radians (input) Longitude_Down_from_Pole : Longitude down from pole, in radians (input) False_Easting : Easting (X) at center of projection, in meters (input) False_Northing : Northing (Y) at center of projection, in meters (input)
Definition at line 184 of file ossimPolarStereoProjection.cpp.
References Convert_Geodetic_To_Polar_Stereographic(), e4, es, es_OVER_2, M_PI, mc, PI_OVER_2, PI_Over_4, Polar_a, Polar_a_mc, Polar_Delta_Easting, Polar_Delta_Northing, Polar_f, Polar_False_Easting, Polar_False_Northing, POLAR_NO_ERROR, Polar_Origin_Lat, Polar_Origin_Long, POLAR_POW, Southern_Hemisphere, tc, TWO_PI, and two_Polar_a.
Referenced by update().
void ossimPolarStereoProjection::setDefaults | ( | ) |
Definition at line 103 of file ossimPolarStereoProjection.cpp.
References Polar_False_Easting, and Polar_False_Northing.
Referenced by loadState(), and ossimPolarStereoProjection().
void ossimPolarStereoProjection::setFalseEasting | ( | double | falseEasting | ) |
SetFalseEasting. The value is in meters. Update is then called so we can pre-compute paramters
Definition at line 89 of file ossimPolarStereoProjection.cpp.
References Polar_False_Easting, and update().
void ossimPolarStereoProjection::setFalseEastingNorthing | ( | double | falseEasting, |
double | falseNorthing | ||
) |
Sets both false easting and northing values. The values are expected to be in meters. Update is then called so we can pre-compute paramters
Definition at line 109 of file ossimPolarStereoProjection.cpp.
References Polar_False_Easting, Polar_False_Northing, and update().
void ossimPolarStereoProjection::setFalseNorthing | ( | double | falseNorthing | ) |
SetFalseNorthing. The value is in meters. Update is then called so we can pre-compute paramters
Definition at line 96 of file ossimPolarStereoProjection.cpp.
References Polar_False_Northing, and update().
|
virtual |
Reimplemented from ossimMapProjection.
Definition at line 74 of file ossimPolarStereoProjection.cpp.
References ossimEllipsoid::getA(), ossimEllipsoid::getFlattening(), ossimGpt::latr(), ossimGpt::lonr(), Polar_False_Easting, Polar_False_Northing, Set_Polar_Stereographic_Parameters(), ossimMapProjection::theEllipsoid, ossimMapProjection::theFalseEastingNorthing, ossimMapProjection::theOrigin, ossimMapProjection::update(), ossimDpt::x, and ossimDpt::y.
Referenced by loadState(), ossimPolarStereoProjection(), setFalseEasting(), setFalseEastingNorthing(), and setFalseNorthing().
|
mutableprivate |
Definition at line 82 of file ossimPolarStereoProjection.h.
Referenced by Convert_Geodetic_To_Polar_Stereographic(), Convert_Polar_Stereographic_To_Geodetic(), and Set_Polar_Stereographic_Parameters().
|
mutableprivate |
Definition at line 77 of file ossimPolarStereoProjection.h.
Referenced by Convert_Geodetic_To_Polar_Stereographic(), Convert_Polar_Stereographic_To_Geodetic(), and Set_Polar_Stereographic_Parameters().
|
mutableprivate |
Definition at line 78 of file ossimPolarStereoProjection.h.
Referenced by Set_Polar_Stereographic_Parameters().
|
mutableprivate |
Definition at line 80 of file ossimPolarStereoProjection.h.
Referenced by Set_Polar_Stereographic_Parameters().
|
mutableprivate |
Definition at line 75 of file ossimPolarStereoProjection.h.
Referenced by Get_Polar_Stereographic_Parameters(), and Set_Polar_Stereographic_Parameters().
|
mutableprivate |
Definition at line 83 of file ossimPolarStereoProjection.h.
Referenced by Convert_Geodetic_To_Polar_Stereographic(), Convert_Polar_Stereographic_To_Geodetic(), and Set_Polar_Stereographic_Parameters().
|
mutableprivate |
Definition at line 93 of file ossimPolarStereoProjection.h.
Referenced by ossimPolarStereoProjection(), and Set_Polar_Stereographic_Parameters().
|
mutableprivate |
Definition at line 94 of file ossimPolarStereoProjection.h.
Referenced by ossimPolarStereoProjection(), and Set_Polar_Stereographic_Parameters().
|
mutableprivate |
Definition at line 76 of file ossimPolarStereoProjection.h.
Referenced by Get_Polar_Stereographic_Parameters(), and Set_Polar_Stereographic_Parameters().
|
mutableprivate |
Definition at line 89 of file ossimPolarStereoProjection.h.
Referenced by Convert_Geodetic_To_Polar_Stereographic(), Convert_Polar_Stereographic_To_Geodetic(), Get_Polar_Stereographic_Parameters(), loadState(), ossimPolarStereoProjection(), Set_Polar_Stereographic_Parameters(), setDefaults(), setFalseEasting(), setFalseEastingNorthing(), and update().
|
mutableprivate |
Definition at line 90 of file ossimPolarStereoProjection.h.
Referenced by Convert_Geodetic_To_Polar_Stereographic(), Convert_Polar_Stereographic_To_Geodetic(), Get_Polar_Stereographic_Parameters(), loadState(), ossimPolarStereoProjection(), Set_Polar_Stereographic_Parameters(), setDefaults(), setFalseEastingNorthing(), setFalseNorthing(), and update().
|
mutableprivate |
Definition at line 87 of file ossimPolarStereoProjection.h.
Referenced by Convert_Geodetic_To_Polar_Stereographic(), Convert_Polar_Stereographic_To_Geodetic(), Get_Polar_Stereographic_Parameters(), and Set_Polar_Stereographic_Parameters().
|
mutableprivate |
Definition at line 88 of file ossimPolarStereoProjection.h.
Referenced by Convert_Geodetic_To_Polar_Stereographic(), Convert_Polar_Stereographic_To_Geodetic(), Get_Polar_Stereographic_Parameters(), and Set_Polar_Stereographic_Parameters().
|
mutableprivate |
Definition at line 79 of file ossimPolarStereoProjection.h.
Referenced by Convert_Geodetic_To_Polar_Stereographic(), Convert_Polar_Stereographic_To_Geodetic(), and Set_Polar_Stereographic_Parameters().
|
mutableprivate |
Definition at line 81 of file ossimPolarStereoProjection.h.
Referenced by Convert_Geodetic_To_Polar_Stereographic(), Convert_Polar_Stereographic_To_Geodetic(), and Set_Polar_Stereographic_Parameters().
|
mutableprivate |
Definition at line 84 of file ossimPolarStereoProjection.h.
Referenced by Convert_Geodetic_To_Polar_Stereographic(), Convert_Polar_Stereographic_To_Geodetic(), and Set_Polar_Stereographic_Parameters().