Rogue Wave Views Maps Package API Reference Guide |
Rogue Wave Views Documentation Home |
This class defines the Stereographic projection. More...
#include <ilviews/maps/projection/stereo.h>
Public Member Functions | |
IlvStereographicProjection () | |
Initializes a new of the class IlvStereographicProjection instance. | |
IlDouble | getLatitudeOfTrueScale () const |
Returns the latitude of the true scale in radian. More... | |
IlDouble | getScaleFactor () const |
Returns the scale factor applied to the central meridian. More... | |
virtual IlvMapsError | setEllipsoid (const IlvEllipsoid &) |
Sets the ellipsoid used for the projection. More... | |
void | setLatitudeOfTrueScale (IlDouble latitudeOfTrueScale) |
Sets the latitude of the true scale in radian. More... | |
virtual void | setLLCenter (IlDouble, IlDouble) |
Specifies the central meridian and the central parallel (in radian) associated with the projection. More... | |
virtual void | setScaleFactor (IlDouble k0) |
Sets the scale factor applied to the central meridian. More... | |
virtual void | write (IlvOutputFile &) const |
Saves the parameters of a projection to the specified output file. More... | |
Public Member Functions inherited from IlvProjection | |
virtual IlvProjection * | copy () const =0 |
Returns a copy of the projection. More... | |
IlvMapsError | forward (const IlvCoordinate &llIn, IlvCoordinate &xyOut) const |
Converts a latitude and a longitude to Cartesian coordinates (x, y). More... | |
IlvMapsError | forward (IlvCoordinate &coords) const |
Projects a latitude and a longitude pair to Cartesian coordinates. More... | |
IlDouble | getCentralMeridian () const |
Returns the central meridian of the projection. More... | |
IlDouble | getCentralParallel () const |
Returns the central parallel of the projection. More... | |
virtual IlvProjectionClassInfo * | getClassInfo () const |
Returns the class information for the projection. More... | |
const IlvHorizontalDatum * | getDatum (void) const |
Returns the horizontal datum used for the projection. More... | |
const IlvEllipsoid * | getEllipsoid () const |
Returns the ellipsoid used for the projection. More... | |
IlvMapsError | getError () const |
Returns the status of the projection. More... | |
IlDouble | getFalseEasting () const |
Returns the false easting of the projection. More... | |
IlDouble | getFalseNorthing () const |
Returns the false northing of the projection. More... | |
IlvProjectionInterface * | getInterface () |
Returns the interface of the projection. More... | |
IlvCoordinate | getLLCenter (void) const |
Returns the central meridian and the central parallel associated with the projection (0-0 by default). More... | |
IlvProjectionGeometricProperty | getProperty () const |
Returns the geometric property of the projection. More... | |
const IlvUnitConverter * | getUnitConverter () const |
Returns the unit converter. More... | |
IlvCoordinate | getXYOffset () const |
Returns the false easting and the false northing of the projection. More... | |
IlvMapsError | inverse (const IlvCoordinate &xyIn, IlvCoordinate &llOut) const |
Converts the specified coordinate to a latitude and a longitude. More... | |
IlvMapsError | inverse (IlvCoordinate &coords) const |
Invserse-projects Cartesian coordinates to a latitude and a longitude. More... | |
IlBoolean | isBad () const |
Checks for an inconsistent state of the projection. More... | |
IlBoolean | isEllipsoidEnabled () const |
Indicates if non spherical ellipsoids can be used for the projection. More... | |
IlBoolean | isGeocentric () const |
Checks if the projection uses geocentric latitudes. More... | |
IlBoolean | isInverseEnabled () const |
Indicates if the inverse function is supported by the projection. More... | |
IlBoolean | isShared () const |
Indicates that the projection is shared. More... | |
IlBoolean | isUsingLongitudeReduction () const |
Returns IlTrue if the projection uses range reduction for longitudes. More... | |
void | lock () |
Locks the projection. | |
virtual std::ostream & | printPROJ4Descriptor (std::ostream &ostr, IlvMapsError *status=0) const |
This virtual member function converts the projection to a string in the PROJ4 format. More... | |
void | save (IlvOutputFile &outputFile) const |
Saves an instance of a subclass of IlvProjection to the specified output file. More... | |
void | setCentralMeridian (IlDouble lon) |
Sets the central meridian of the projection. More... | |
void | setCentralParallel (IlDouble lat) |
Sets the central parallel of the projection. More... | |
virtual IlvMapsError | setDatum (const IlvHorizontalDatum *datum) |
Sets the datum used for the projection. More... | |
void | setFalseEasting (IlDouble falseEasting) |
Sets the false easting of the projection. More... | |
void | setFalseNorthing (IlDouble falseNorthing) |
Sets the false northing of the projection. More... | |
void | setGeocentric (IlBoolean geoc) |
Specifies whether the projection uses geocentric or geodetic latitudes. More... | |
void | setShared () |
Specifies that the projection will be shared. More... | |
void | setUnitConverter (const IlvUnitConverter &converter) |
Sets the unit converter of the projection. More... | |
void | setUsingLongitudeReduction (IlBoolean use) |
Specifies whether the projection uses longitude reduction. More... | |
void | setXYOffset (IlDouble x0, IlDouble y0) |
Specifies the false easting and the false northing. More... | |
void | unLock () |
Unlocks the object. More... | |
Protected Member Functions | |
virtual IlvMapsError | eForward (IlvCoordinate &) const |
Must be redefined in subclasses to implement the projection for a non spherical ellipsoid. More... | |
virtual IlvMapsError | eInverse (IlvCoordinate &) const |
Implements the inverse projection for a non spherical ellipsoid. More... | |
virtual IlvMapsError | sForward (IlvCoordinate &) const |
Must be redefined in subclasses to implement the projection for a sphere. More... | |
virtual IlvMapsError | sInverse (IlvCoordinate &) const |
Must be redefined in subclasses to implement the inverse projection for a sphere. More... | |
Protected Member Functions inherited from IlvProjection | |
IlvProjection (IlBoolean ellipsoidEnabled, IlBoolean inverseEnabled, IlvProjectionGeometricProperty property) | |
Initializes a new IlvProjection instance. More... | |
void | addError (IlvMapsError error) |
Used by the constructors of subclasses if an error occurs during an object initialization. More... | |
void | setError (IlvMapsError error) |
Sets the status of this projection. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from IlvProjection | |
static IlvProjectionClassInfo * | ClassInfo () |
Returns the class information of the class. More... | |
static IlvClassInfo ** | ClassInfoRef () |
Returns the address of the class information of the class. More... | |
static IlvMapsError | InputError () |
Indicates that the coordinates passed to the forward function are not in a valid range for radian angles. | |
static IlvMapsError | InvalidEllipsoidError () |
Indicates that you attempt to set a non spherical ellipsoid to a projection that does not support non spherical ellipsoids. | |
static IlvProjection * | Load (IlvInputFile &inputFile) |
Loads a projection from the specified file. More... | |
static IlvProjection * | PROJ4ToIlvProjection (const char *proj4Descriptor, IlvMapsError *status=0) |
Creates the projection from a PROJ4 descriptor. More... | |
static IlvMapsError | ToleranceConditionError () |
Indicates that an internal projection computation failed. More... | |
static IlvMapsError | UnsupportedFeatureError () |
Indicates that an unsupported projection feature is requested, like inverse projection for a projection that does not support inverse projection. | |
This class defines the Stereographic projection.
Library: ilvmaps
The Stereographic projection is an Azimuthal projection, that is, a projection onto a plane tangent to the earth at a point specified by the central meridian and the central parallel. By default, the latitude of the true scale is PI/2.
This projection applies both to spherical and non-spherical ellipsoids and implements an inverse function.
This projection is Conformal.
Stereographic Projection
|
protectedvirtual |
Must be redefined in subclasses to implement the projection for a non spherical ellipsoid.
The default implementation returns IlvProjection::UnsupportedFeatureError()
.
ll | Contains the longitude and latitude coordinates in radian (x = longitude, y = latitude). |
Reimplemented from IlvProjection.
|
protectedvirtual |
Implements the inverse projection for a non spherical ellipsoid.
The default implementation returns IlvProjection::UnsupportedFeatureError()
.
xy | Contains the Cartesian coordinates to inverse. |
Reimplemented from IlvProjection.
IlDouble IlvStereographicProjection::getLatitudeOfTrueScale | ( | ) | const |
Returns the latitude of the true scale in radian.
IlDouble IlvStereographicProjection::getScaleFactor | ( | ) | const |
Returns the scale factor applied to the central meridian.
|
virtual |
Sets the ellipsoid used for the projection.
This virtual member function sets the ellipsoid used for the projection. Most of the projections are initialized with a spherical ellipsoid with a radius of 6,370,997 meters.
This function returns IlvMaps::NoError()
if the operation is successful or an error status if you specify a non spherical ellipsoid and your type does not support non spherical.
ellipsoid | The ellipsoid used for the projection. |
IlvMapsError
if the ellipsoid does not match the projection. Reimplemented from IlvProjection.
void IlvStereographicProjection::setLatitudeOfTrueScale | ( | IlDouble | latitudeOfTrueScale | ) |
Sets the latitude of the true scale in radian.
latitudeOfTrueScale | The latitude of the true scale. |
Specifies the central meridian and the central parallel (in radian) associated with the projection.
By default, theses values are set to 0
.
This function is virtual because it can be overridden by subclasses of IlvProjection
to update the internal parameters when the center is changed.
lon | The central meridian in radian. |
lat | The central parallel in radian. |
Reimplemented from IlvProjection.
Reimplemented in IlvUniversalPolarStereographicProjection.
|
virtual |
Sets the scale factor applied to the central meridian.
By default, the scale factor is 1
.
k0 | The new scale factor applied to the central meridian. |
Reimplemented in IlvUniversalPolarStereographicProjection.
|
protectedvirtual |
Must be redefined in subclasses to implement the projection for a sphere.
ll | Contains the longitude and latitude coordinates in radian. |
Implements IlvProjection.
|
protectedvirtual |
Must be redefined in subclasses to implement the inverse projection for a sphere.
The default implementation returns IlvProjection::UnsupportedFeatureError()
.
xy | Contains the Cartesian coordinates to inverse. |
Reimplemented from IlvProjection.
|
virtual |
Saves the parameters of a projection to the specified output file.
It must be overridden by subclasses of IlvProjection
that need to save additional parameters.
This function should not be directly called; use the save()
function instead.
outputFile | The file to write the projection parameters to. |
Reimplemented from IlvProjection.
Reimplemented in IlvUniversalPolarStereographicProjection.
© Copyright 2018, Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave is a registered trademark of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.