Rogue Wave Views |
Rogue Wave Views Documentation Home |
This abstract class is the base class for all the conic projections in the library. More...
#include <ilviews/maps/projection/conic.h>
Public Member Functions | |
virtual IlvProjectionClassInfo * | getClassInfo () const |
Returns the class information for the projection. More... | |
IlDouble | getSecantLatitude1 (void) const |
Gets the first secant latitude. More... | |
IlDouble | getSecantLatitude2 (void) const |
Gets the second secant latitude. More... | |
const IlvCoordinate & | getSecantLatitudes () const |
Returns the secant latitudes of the projection in an IlvCoordinate . More... | |
IlvMapsError | setSecantLatitude1 (IlDouble v) |
Sets the first secant latitude. More... | |
IlvMapsError | setSecantLatitude2 (IlDouble v) |
Sets the second secant latitude. More... | |
virtual IlvMapsError | setSecantLatitudes (const IlvCoordinate &secant) |
Sets the latitudes at which the cone of the projection intersects with the earth. 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. It must be overridden in each subclass. More... | |
IlvMapsError | forward (const IlvCoordinate &llIn, IlvCoordinate &xyOut) const |
Converts a latitude and a longitude to Cartesian coordinates (x,y). More... | |
IlvMapsError | forward (IlvCoordinate &x) const |
This member function converts a latitude and a longitude 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... | |
const IlvHorizontalDatum * | getDatum (void) const |
Returns the horizontal datum used for the projection. More... | |
const IlvEllipsoid * | getEllipsoid (void) const |
Returns the ellipsoid used for the projection. More... | |
IlvMapsError | getError () const |
Returns the status of the projection. If the projection is valid, the function returns IlvMapsError::NoError() , otherwise, it returns an error code. See the IlvMaps class to know how to interpret the error codes. 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 (void) 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 &x) const |
Converts the IlvCoordinate representing Cartesian coordinates to a latitude and a longitude. More... | |
IlBoolean | isBad () const |
Checks for an inconsistent state of the projection. More... | |
IlBoolean | isEllipsoidEnabled () const |
Returns IlTrue 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 |
Returns IlTrue if the inverse function is supported by the projection. More... | |
IlBoolean | isShared () const |
Returns IlTrue if 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 IL_STDPREF ostream & | printPROJ4Descriptor (IL_STDPREF 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... | |
virtual IlvMapsError | setEllipsoid (const IlvEllipsoid &ellipsoid) |
Sets the ellipsoid 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... | |
virtual void | setLLCenter (IlDouble lon, IlDouble lat) |
Specifies the central meridian and the central parallel (in radian) associated with the projection. More... | |
void | setShared () |
Specifies that the projection will be shared. More... | |
void | setUnitConverter (const IlvUnitConverter &converter) |
Sets the unit converter of the projection. The default unit is meters. 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 | |
IlvConicProjection (IlBoolean ellipsoidEnabled, IlBoolean inverseEnabled, IlvProjectionGeometricProperty property) | |
Initializes a new instance of the class IlvConicProjection . More... | |
Protected Member Functions inherited from IlvProjection | |
IlvProjection (IlBoolean ellipsoidEnabled, IlBoolean inverseEnabled, IlvProjectionGeometricProperty property) | |
This constructor initializes a new instance of the class. More... | |
void | addError (IlvMapsError error) |
Used by the constructors of subclasses if an error occurs during an object initialization. More... | |
virtual IlvMapsError | eForward (IlvCoordinate &ll) const |
Must be redefined in subclasses to implement the projection for a non spherical ellipsoid. More... | |
virtual IlvMapsError | eInverse (IlvCoordinate &xy) const |
Implements the inverse projection for a non spherical ellipsoid. More... | |
void | setError (IlvMapsError error) |
Sets the status of this projection. More... | |
virtual IlvMapsError | sForward (IlvCoordinate &ll) const =0 |
Must be redefined in subclasses to implement the projection for a sphere. More... | |
virtual IlvMapsError | sInverse (IlvCoordinate &xy) const |
Must be redefined in subclasses to implement the inverse projection for a sphere. 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 () |
Returned if the coordinates passed to the forward function are not in a valid range for radian angles. | |
static IlvMapsError | InvalidEllipsoidError () |
Returned if 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 specified by proj4Descriptor. More... | |
static IlvMapsError | ToleranceConditionError () |
Returned when an internal projection computation fails. Some projections, however, can return more specific error codes in this case. | |
static IlvMapsError | UnsupportedFeatureError () |
Returned if an unsupported projection feature is requested, like inverse projection for a projection that does not support inverse projection. | |
This abstract class is the base class for all the conic projections in the library.
Library: ilvmaps
A conic projection transfers the image of the globe to a cone, either secant or tangent to the surface of the earth. The latitudes at which the cone intersects with the globe can be specified with the function setSecantLatitudes(IlvCoordinate secant)
. The secant parameter is a vector that contains two values:
secant.x represents the first latitude at which the cone intersects with the earth.
secant.y represents the second latitude.
When the cone is tangent to the earth, secant.x equals secant.y.
|
protected |
Initializes a new instance of the class IlvConicProjection
.
ellipsoidEnabled | A Boolean argument that should be set to IlTrue if non-spherical ellipsoids can be used for the projection. Projections supporting non-spherical ellipsoids should implement the eForward member function. |
inverseEnabled | A Boolean argument that should be set to IlTrue if the projection implements an inverse function. This type of projection should implement the sInverse and eInverse member functions if ellipsoids are supported. |
property | Specifies the geometric property of the projection. This argument can take one of the following values:
|
|
virtual |
Returns the class information for the projection.
Reimplemented from IlvProjection.
Reimplemented in IlvFrenchLambertProjection.
IlDouble IlvConicProjection::getSecantLatitude1 | ( | void | ) | const |
Gets the first secant latitude.
IlDouble IlvConicProjection::getSecantLatitude2 | ( | void | ) | const |
Gets the second secant latitude.
const IlvCoordinate& IlvConicProjection::getSecantLatitudes | ( | ) | const |
Returns the secant latitudes of the projection in an IlvCoordinate
.
IlvCoordinate
object containing the secant latitudes. IlvMapsError IlvConicProjection::setSecantLatitude1 | ( | IlDouble | v | ) |
Sets the first secant latitude.
v | The first secant latitude. |
IlvMapsError IlvConicProjection::setSecantLatitude2 | ( | IlDouble | v | ) |
Sets the second secant latitude.
v | The second secant latitude. |
|
virtual |
Sets the latitudes at which the cone of the projection intersects with the earth.
secant | A vector that contains two values: secant.x represents the first latitude at which the cone intersects with the earth. secant.y represents the second latitude at which the cone intersects with the earth. Both values are expressed in radian. |
secant.x
= -secant.y
or secant.x
= secant.y
= PI/2
.Reimplemented in IlvFrenchLambertProjection, IlvLambertEqualAreaConicProjection, IlvAlbersEqualAreaProjection, and IlvLambertConformalConicProjection.
|
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 IlvFrenchLambertProjection, IlvLambertEqualAreaConicProjection, IlvLambertConformalConicProjection, and IlvAlbersEqualAreaProjection.
© Copyright 2015, 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.