Cartographic (PROJ4) projection class. More...
#include <Inventor/projection/SbProj4Projection.h>
Cartographic (PROJ4) projection class.
This class performs a cartographic projection using the PROJ.4 Cartographic Projections Library ( see http://proj.maptools.org/ )
To use this class as a projection, refer to the documentation of SbProjection class.
By default, input points must be defined in the geodetic coordinate system :
It is possible to define the input data in the geocentric coordinate system by calling setCoordinateSystem(GEOCENTRIC). The geocentric coordinate system is the earth coordinate system, where x, y and z coordinate are expressed in meters.
The PROJ.4 library parameters are stored as SbProjection string parameters:
The first SbProjection float parameter is used to specify the z coordinate scaleRatio applied to the projected shapes.
The enumeration PredefinedEllipsoid defines the list of available ellipsoid. An ellispoid definition is a mathematical representation used to approximate the earth when computing projections. Calling setEllipsoid() sets the current ellipsoid used to compute projections.
Only projections with an inverse function defined are available.
The available projections are defined with the Projection enumeration. When using an SbProj4Projection object with an SoProjection node, those projections are automatically added in the order above, and you can choose the desired projection by using the corresponding id (refer to SoProjection node).
LIMITATIONS
It can happen that vertices of a projected shape cross other ones, depending on the chosen projection. Visually it results in a flipping effect.
SbProjection, SoProjection, SoGeoProjection
Available ellipsoids.
Available projections.
SbProj4Projection::SbProj4Projection | ( | ) |
Constructor.
SbProj4Projection::SbProj4Projection | ( | SoProjection * | node | ) |
Constructor.
SbProj4Projection::SbProj4Projection | ( | const SbProj4Projection & | proj | ) |
Copy constructor.
virtual SbProj4Projection::~SbProj4Projection | ( | ) | [virtual] |
Destructor.
virtual void SbProj4Projection::exit | ( | ) | [virtual] |
Exit function.
Reimplemented from SbProjection.
SbProj4Projection::CoordinateSystem SbProj4Projection::getCoordinateSystem | ( | ) |
Get current coordinate system.
SbProj4Projection::PredefinedEllipsoid SbProj4Projection::getEllipsoid | ( | ) |
Get current ellipsoid.
SbProj4Projection::PredefinedEllipsoid SbProj4Projection::getEllipsoidIn | ( | ) |
Get current input ellipsoid.
static SbString SbProj4Projection::getEllipsoidString | ( | SbProj4Projection::PredefinedEllipsoid | ellipsoid | ) | [static] |
Get PROJ.4 ellipsoid string.
SbProj4Projection::Projection SbProj4Projection::getProjection | ( | ) |
Get current projection .
SbProj4Projection::Projection SbProj4Projection::getProjectionIn | ( | ) |
Get current input projection .
static SbString SbProj4Projection::getProjectionName | ( | SbProj4Projection::Projection | proj | ) | [static] |
Get projection name description.
static SbString SbProj4Projection::getProjectionString | ( | SbProj4Projection::Projection | proj | ) | [static] |
Get internal PROJ.4 projection string.
int SbProj4Projection::getUTMZone | ( | ) |
Get current UTM zone.
virtual void SbProj4Projection::init | ( | ) | [virtual] |
Initialisation.
Reimplemented from SbProjection.
virtual void SbProj4Projection::inverse | ( | SbVec3f & | point | ) | [virtual] |
Inverse projection of one point.
Reimplemented from SbProjection.
bool SbProj4Projection::isRevertCoordNeeded | ( | ) | [inline] |
Get revertCoordNeeded.
bool SbProj4Projection::isUTMSouth | ( | ) |
Get m_south (UTM).
void SbProj4Projection::setCoordinateSystem | ( | SbProj4Projection::CoordinateSystem | coordinateSystem | ) |
Set current coordinate system.
void SbProj4Projection::setEllipsoid | ( | SbProj4Projection::PredefinedEllipsoid | ellipsoid | ) |
Set current ellipsoid.
void SbProj4Projection::setEllipsoidIn | ( | SbProj4Projection::PredefinedEllipsoid | ellipsoid | ) |
Set current input ellipsoid.
void SbProj4Projection::setProjection | ( | SbProj4Projection::Projection | proj | ) |
Set current projection.
void SbProj4Projection::setProjectionIn | ( | SbProj4Projection::Projection | proj | ) |
Set current input projection.
void SbProj4Projection::setRevertCoord | ( | bool | revertCoordNeeded | ) | [inline] |
Set revertCoordNeeded.
void SbProj4Projection::setUTMSouth | ( | bool | south | ) |
Set m_south (UTM).
void SbProj4Projection::setUTMZone | ( | int | zone | ) |
Set current UTM zone.
void SbProj4Projection::toGeocentric | ( | SbVec3f & | point | ) |
Transform the given coordinates from Geodetic coordinate system to Geocentric coordinate system .
void SbProj4Projection::toGeodetic | ( | SbVec3f & | point | ) |
Transform the given coordinates from Geocentric coordinate system to Geodetic coordinate system .