OSSIM - Open Source Software Image Map
Version 1.9.0 (20180803)
|
#include <ossimBngProjection.h>
Public Member Functions | |
ossimBngProjection () | |
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 () |
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 | 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 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 |
Protected Member Functions | |
long | Find_Index (char letter, const char *letter_Array, long *index) const |
long | Round_BNG (double value) const |
long | Make_BNG_String (char ltrnum[4], long Easting, long Northing, char *BNG, long Precision) const |
long | Break_BNG_String (char *BNG, char Letters[3], double *Easting, double *Northing, long *Precision) const |
long | Check_Out_Of_Area (char BNG500, char BNG100) const |
long | Set_BNG_Parameters (char *Ellipsoid_Code) |
void | Get_BNG_Parameters (char *Ellipsoid_Code) |
long | Convert_Geodetic_To_BNG (double Latitude, double Longitude, long Precision, char *BNG) const |
long | Convert_BNG_To_Geodetic (char *BNG, double *Latitude, double *Longitude) const |
long | Convert_Transverse_Mercator_To_BNG (double Easting, double Northing, long Precision, char *BNG) const |
long | Convert_BNG_To_Transverse_Mercator (char *BNG, double *Easting, double *Northing) const |
![]() | |
virtual | ~ossimMapProjection () |
void | updateFromTransform () |
![]() | |
virtual | ~ossimReferenced () |
Protected Attributes | |
double | BNG_a |
double | BNG_f |
double | BNG_Origin_Lat |
double | BNG_Origin_Long |
double | BNG_False_Northing |
double | BNG_False_Easting |
double | BNG_Scale_Factor |
long | string_Broken |
![]() | |
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 11 of file ossimBngProjection.h.
ossimBngProjection::ossimBngProjection | ( | ) |
Definition at line 49 of file ossimBngProjection.cpp.
References ossimDatumFactory::create(), ossimDatumFactory::instance(), string_Broken, ossimMapProjection::theDatum, and update().
|
protected |
Definition at line 259 of file ossimBngProjection.cpp.
References BNG_NO_ERROR, BNG_STRING_ERROR, and n.
Referenced by Convert_BNG_To_Geodetic(), and Convert_BNG_To_Transverse_Mercator().
|
protected |
Definition at line 349 of file ossimBngProjection.cpp.
References BNG_INVALID_AREA_ERROR, and BNG_NO_ERROR.
|
protected |
The function Convert_BNG_To_Geodetic converts a BNG coordinate string to geodetic (latitude and longitude) coordinates, according to the current ellipsoid parameters. If any errors occur, the error code(s) are returned by the function, otherwise BNG_NO_ERROR is returned.
BNG : British National Grid coordinate string (input) Latitude : Latitude, in radians (output) Longitude : Longitude, in radians (output)
Definition at line 553 of file ossimBngProjection.cpp.
References BNG_NO_ERROR, and Break_BNG_String().
Referenced by inverse().
|
protected |
The function Convert_BNG_To_Transverse_Mercator converts a BNG coordinate string to Transverse Mercator projection (easting and northing) coordinates according to the current ellipsoid parameters. If any errors occur, the error code(s) are returned by the function, otherwise BNG_NO_ERROR is returned.
BNG : British National Grid coordinate string (input) Easting : Easting (X), in meters (output) Northing : Northing (Y), in meters (output)
Definition at line 693 of file ossimBngProjection.cpp.
References BNG_NO_ERROR, Break_BNG_String(), and string_Broken.
Referenced by forward().
|
protected |
The function Convert_Geodetic_To_BNG converts geodetic (latitude and longitude) coordinates to a BNG coordinate string, according to the current ellipsoid parameters. If any errors occur, the error code(s)
are returned by the function, otherwise BNG_NO_ERROR is returned.
Latitude : Latitude, in radians (input) Longitude : Longitude, in radians (input) Precision : Precision level of BNG string (input) BNG : British National Grid coordinate string (output)
Definition at line 502 of file ossimBngProjection.cpp.
References BNG_LAT_ERROR, BNG_LON_ERROR, BNG_NO_ERROR, Convert_Geodetic_To_Transverse_Mercator(), MAX_LAT, MAX_LON, MIN_LAT, and MIN_LON.
Referenced by forward().
|
protected |
The function Convert_Transverse_Mercator_To_BNG converts Transverse Mercator (easting and northing) coordinates to a BNG coordinate string, according to the current ellipsoid parameters. If any errors occur, the error code(s) are returned by the function, otherwise BNG_NO_ERROR is returned.
Easting : Easting (X), in meters (input) Northing : Northing (Y), in meters (input) Precision : Precision level of BNG string (input) BNG : British National Grid coordinate string (output)
Definition at line 605 of file ossimBngProjection.cpp.
References BNG_NO_ERROR, x, and y.
Referenced by inverse().
|
inlinevirtual |
|
protected |
Definition at line 171 of file ossimBngProjection.cpp.
References BNG_NO_ERROR, and BNG_STRING_ERROR.
All map projections will convert the world coordinate to an easting northing (Meters).
Implements ossimMapProjection.
Definition at line 85 of file ossimBngProjection.cpp.
References BNG_a, BNG_f, BNG_False_Easting, BNG_False_Northing, BNG_Origin_Lat, BNG_Origin_Long, BNG_Scale_Factor, Convert_BNG_To_Transverse_Mercator(), Convert_Geodetic_To_BNG(), ossimGpt::latr(), ossimGpt::lonr(), Set_Transverse_Mercator_Parameters(), and string_Broken.
|
protected |
Definition at line 487 of file ossimBngProjection.cpp.
Will take a point in meters and convert it to ground.
Implements ossimMapProjection.
Definition at line 60 of file ossimBngProjection.cpp.
References BNG_a, BNG_f, BNG_False_Easting, BNG_False_Northing, BNG_Origin_Lat, BNG_Origin_Long, BNG_Scale_Factor, Convert_BNG_To_Geodetic(), Convert_Transverse_Mercator_To_BNG(), ossimGpt::latr(), ossimGpt::lonr(), ossim::nan(), Set_Transverse_Mercator_Parameters(), string_Broken, 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 159 of file ossimBngProjection.cpp.
References ossimMapProjection::loadState(), and update().
|
protected |
Definition at line 218 of file ossimBngProjection.cpp.
References BNG_NO_ERROR, and Round_BNG().
|
protected |
Definition at line 205 of file ossimBngProjection.cpp.
Referenced by Make_BNG_String().
|
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 139 of file ossimBngProjection.cpp.
References ossimKeywordlist::add(), BNG_Scale_Factor, ossimObject::getClassName(), ossimMapProjection::saveState(), ossimKeywordNames::SCALE_FACTOR_KW, and ossimKeywordNames::TYPE_KW.
|
protected |
Definition at line 457 of file ossimBngProjection.cpp.
References BNG_NO_ERROR.
|
virtual |
Reimplemented from ossimMapProjection.
Definition at line 108 of file ossimBngProjection.cpp.
References BNG_a, BNG_f, BNG_False_Easting, BNG_False_Northing, BNG_Origin_Lat, BNG_Origin_Long, BNG_Scale_Factor, M_PI, ossim::nan(), ossimMapProjection::theDatum, ossimMapProjection::theFalseEastingNorthing, ossimMapProjection::theOrigin, ossimMapProjection::update(), ossimDpt::x, and ossimDpt::y.
Referenced by loadState(), and ossimBngProjection().
|
protected |
Definition at line 41 of file ossimBngProjection.h.
|
protected |
Definition at line 42 of file ossimBngProjection.h.
|
protected |
Definition at line 48 of file ossimBngProjection.h.
|
protected |
Definition at line 47 of file ossimBngProjection.h.
|
protected |
Definition at line 45 of file ossimBngProjection.h.
|
protected |
Definition at line 46 of file ossimBngProjection.h.
|
protected |
Definition at line 49 of file ossimBngProjection.h.
Referenced by forward(), inverse(), saveState(), and update().
|
mutableprotected |
Definition at line 50 of file ossimBngProjection.h.
Referenced by Convert_BNG_To_Transverse_Mercator(), forward(), inverse(), and ossimBngProjection().