OSSIM - Open Source Software Image Map
Version 1.9.0 (20180803)
|
#include <ossimSpaceObliqueMercatorProjection.h>
Public Types | |
enum | ossimSatelliteType { SOM_TYPE_LANDSAT_1 = 0, SOM_TYPE_LANDSAT_2 = 1, SOM_TYPE_LANDSAT_3 = 2, SOM_TYPE_LANDSAT_4 = 3, SOM_TYPE_LANDSAT_5 = 4, SOM_TYPE_LANDSAT_7 = 5 } |
Public Member Functions | |
ossimSpaceObliqueMercatorProjection (ossimSatelliteType type=SOM_TYPE_LANDSAT_7, double pathNumber=34, const ossimEllipsoid &ellipsoid=ossimEllipsoid()) | |
virtual ossimObject * | dup () const |
virtual ossimDpt | forward (const ossimGpt &worldPoint) const |
All map projections will convert the world coordinate to an easting northing (Meters). More... | |
virtual ossimGpt | inverse (const ossimDpt &projectedPoint) const |
Will take a point in meters and convert it to ground. More... | |
virtual bool | saveState (ossimKeywordlist &kwl, const char *prefix=0) const |
virtual bool | loadState (const ossimKeywordlist &kwl, const char *prefix=0) |
virtual void | setParameters (ossimSatelliteType type, double path) |
virtual void | update () |
virtual bool | operator== (const ossimProjection &projection) const |
Returns TRUE if principal parameters are within epsilon tolerance. More... | |
![]() | |
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 | getFalseEasting () const |
virtual double | getFalseNorthing () 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 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 |
Protected Member Functions | |
void | seraz0 (double lam, double mult) |
![]() | |
virtual | ~ossimMapProjection () |
void | updateFromTransform () |
![]() | |
virtual | ~ossimReferenced () |
Protected Attributes | |
double | a2 |
double | a4 |
double | b |
double | c1 |
double | c3 |
double | q |
double | t |
double | u |
double | w |
double | p22 |
double | sa |
double | ca |
double | xj |
double | rlm |
double | rlm2 |
double | lam0 |
double | es |
double | e |
double | one_es |
double | rone_es |
double | a |
double | thePath |
ossimSatelliteType | theSatelliteType |
![]() | |
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 |
This class implments the formulas for the ellipsoid and circular orbit. All formulas were directly taken from proj 4. Proj 4 implementation is from the following manual reference:
Map Projections - A Working Manual by John Snyder Space Oblique Mercator p. 221.
Definition at line 27 of file ossimSpaceObliqueMercatorProjection.h.
Enumerator | |
---|---|
SOM_TYPE_LANDSAT_1 | |
SOM_TYPE_LANDSAT_2 | |
SOM_TYPE_LANDSAT_3 | |
SOM_TYPE_LANDSAT_4 | |
SOM_TYPE_LANDSAT_5 | |
SOM_TYPE_LANDSAT_7 |
Definition at line 30 of file ossimSpaceObliqueMercatorProjection.h.
ossimSpaceObliqueMercatorProjection::ossimSpaceObliqueMercatorProjection | ( | ossimSatelliteType | type = SOM_TYPE_LANDSAT_7 , |
double | pathNumber = 34 , |
||
const ossimEllipsoid & | ellipsoid = ossimEllipsoid() |
||
) |
Definition at line 81 of file ossimSpaceObliqueMercatorProjection.cpp.
|
inlinevirtual |
Implements ossimProjection.
Definition at line 44 of file ossimSpaceObliqueMercatorProjection.h.
All map projections will convert the world coordinate to an easting northing (Meters).
Implements ossimMapProjection.
Definition at line 192 of file ossimSpaceObliqueMercatorProjection.cpp.
References a, a2, a4, aasin(), b, c1, c3, ca, ossimGpt::changeDatum(), ossimDatum::code(), ossimGpt::datum(), es, FORTPI, HALFPI, lam0, ossimGpt::latr(), ossimGpt::lonr(), ossimDpt::makeNan(), one_es, p22, PI_HALFPI, q, rlm, rlm2, sa, t, ossimMapProjection::theDatum, TOL, TWOPI_HALFPI, w, ossimDpt::x, xj, and ossimDpt::y.
|
virtual |
Will take a point in meters and convert it to ground.
Implements ossimMapProjection.
Definition at line 273 of file ossimSpaceObliqueMercatorProjection.cpp.
References a, a2, a4, aasin(), b, c1, c3, ca, DEG_PER_RAD, es, FORTPI, HALFPI, lam0, one_es, p22, q, rone_es, sa, t, ossimMapProjection::theDatum, TOL, u, w, ossimDpt::x, xj, 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 358 of file ossimSpaceObliqueMercatorProjection.cpp.
References ossimKeywordlist::find().
|
virtual |
Returns TRUE if principal parameters are within epsilon tolerance.
Reimplemented from ossimMapProjection.
Definition at line 400 of file ossimSpaceObliqueMercatorProjection.cpp.
References ossim::almostEqual(), thePath, and theSatelliteType.
|
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 340 of file ossimSpaceObliqueMercatorProjection.cpp.
References ossimKeywordlist::add().
|
protected |
Definition at line 165 of file ossimSpaceObliqueMercatorProjection.cpp.
References a2, a4, b, c1, c3, ca, p22, q, RAD_PER_DEG, sa, sq, t, w, and xj.
Referenced by setParameters().
|
virtual |
Definition at line 93 of file ossimSpaceObliqueMercatorProjection.cpp.
References ossimEllipsoid::a(), a, a2, a4, b, c1, c3, ca, e, ossimEllipsoid::eccentricity(), es, lam0, one_es, p22, PI, q, RAD_PER_DEG, rlm, rlm2, rone_es, sa, seraz0(), SOM_TYPE_LANDSAT_1, SOM_TYPE_LANDSAT_2, SOM_TYPE_LANDSAT_3, SOM_TYPE_LANDSAT_4, SOM_TYPE_LANDSAT_5, SOM_TYPE_LANDSAT_7, t, ossimMapProjection::theEllipsoid, thePath, theSatelliteType, TWOPI, u, update(), w, and xj.
|
virtual |
Reimplemented from ossimMapProjection.
Definition at line 327 of file ossimSpaceObliqueMercatorProjection.cpp.
Referenced by setParameters().
|
protected |
Definition at line 83 of file ossimSpaceObliqueMercatorProjection.h.
Referenced by forward(), inverse(), and setParameters().
|
protected |
Definition at line 74 of file ossimSpaceObliqueMercatorProjection.h.
Referenced by forward(), inverse(), seraz0(), and setParameters().
|
protected |
Definition at line 74 of file ossimSpaceObliqueMercatorProjection.h.
Referenced by forward(), inverse(), seraz0(), and setParameters().
|
protected |
Definition at line 74 of file ossimSpaceObliqueMercatorProjection.h.
Referenced by forward(), inverse(), seraz0(), and setParameters().
|
protected |
Definition at line 74 of file ossimSpaceObliqueMercatorProjection.h.
Referenced by forward(), inverse(), seraz0(), and setParameters().
|
protected |
Definition at line 74 of file ossimSpaceObliqueMercatorProjection.h.
Referenced by forward(), inverse(), seraz0(), and setParameters().
|
protected |
Definition at line 75 of file ossimSpaceObliqueMercatorProjection.h.
Referenced by forward(), inverse(), seraz0(), and setParameters().
|
protected |
Definition at line 80 of file ossimSpaceObliqueMercatorProjection.h.
Referenced by setParameters().
|
protected |
Definition at line 79 of file ossimSpaceObliqueMercatorProjection.h.
Referenced by forward(), inverse(), and setParameters().
|
protected |
Definition at line 78 of file ossimSpaceObliqueMercatorProjection.h.
Referenced by forward(), inverse(), and setParameters().
|
protected |
Definition at line 81 of file ossimSpaceObliqueMercatorProjection.h.
Referenced by forward(), inverse(), and setParameters().
|
protected |
Definition at line 75 of file ossimSpaceObliqueMercatorProjection.h.
Referenced by forward(), inverse(), seraz0(), and setParameters().
|
protected |
Definition at line 75 of file ossimSpaceObliqueMercatorProjection.h.
Referenced by forward(), inverse(), seraz0(), and setParameters().
|
protected |
Definition at line 75 of file ossimSpaceObliqueMercatorProjection.h.
Referenced by forward(), and setParameters().
|
protected |
Definition at line 75 of file ossimSpaceObliqueMercatorProjection.h.
Referenced by forward(), and setParameters().
|
protected |
Definition at line 82 of file ossimSpaceObliqueMercatorProjection.h.
Referenced by inverse(), and setParameters().
|
protected |
Definition at line 75 of file ossimSpaceObliqueMercatorProjection.h.
Referenced by forward(), inverse(), seraz0(), and setParameters().
|
protected |
Definition at line 75 of file ossimSpaceObliqueMercatorProjection.h.
Referenced by forward(), inverse(), seraz0(), and setParameters().
|
protected |
Is the p variable in Map Projections a Working Manual.
Definition at line 90 of file ossimSpaceObliqueMercatorProjection.h.
Referenced by operator==(), and setParameters().
|
protected |
Definition at line 91 of file ossimSpaceObliqueMercatorProjection.h.
Referenced by operator==(), and setParameters().
|
protected |
Definition at line 75 of file ossimSpaceObliqueMercatorProjection.h.
Referenced by inverse(), and setParameters().
|
protected |
Definition at line 75 of file ossimSpaceObliqueMercatorProjection.h.
Referenced by forward(), inverse(), seraz0(), and setParameters().
|
protected |
Definition at line 75 of file ossimSpaceObliqueMercatorProjection.h.
Referenced by forward(), inverse(), seraz0(), and setParameters().