Rogue Wave Views
Maps Package API Reference Guide
Product Documentation:

Rogue Wave Views
Documentation Home
List of all members | Public Member Functions | Static Public Member Functions
IlvFrenchLambertProjection Class Reference

This class defines the Lambert projection used in France. More...

#include <ilviews/maps/projection/frlamber.h>

Inheritance diagram for IlvFrenchLambertProjection:
IlvLambertConformalConicProjection IlvConicProjection IlvProjection

Public Member Functions

 IlvFrenchLambertProjection (IlvFrenchLambertMode mode=IlvFrenchLambert_II_extended)
 Initializes an instance of IlvFrenchLambertPojection and sets it to the specified mode. More...
 
virtual IlvProjectioncopy () const
 Returns a copy of the projection. It must be overridden in each subclass. More...
 
virtual IlvProjectionClassInfogetClassInfo () const
 Returns the class information for the projection. More...
 
IlvFrenchLambertMode getMode () const
 Returns the mode of the projection. More...
 
virtual void setLLCenter (double, double)
 Specifies the central meridian and the central parallel (in radian) associated with the projection. More...
 
void setMode (IlvFrenchLambertMode mode)
 Sets the mode of the projection. 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 IlvLambertConformalConicProjection
 IlvLambertConformalConicProjection (IlDouble l1=IlvMaps::DegreeToRadian(33.), IlDouble l2=IlvMaps::DegreeToRadian(45.))
 Initializes an instance of the class IlvLambertConformalConicProjection and sets its secant latitudes to the specified values.

 
IlDouble getScaleFactor () const
 Returns the scale factor applied to the projected data. More...
 
virtual IlvMapsError setEllipsoid (const IlvEllipsoid &ellipsoid)
 Sets the ellipsoid used for the projection. More...
 
void setScaleFactor (IlDouble k0)
 Sets the scale factor applied to the projected data. More...
 
- Public Member Functions inherited from IlvConicProjection
IlDouble getSecantLatitude1 (void) const
 Gets the first secant latitude. More...
 
IlDouble getSecantLatitude2 (void) const
 Gets the second secant latitude. More...
 
const IlvCoordinategetSecantLatitudes () 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...
 
- Public Member Functions inherited from IlvProjection
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 IlvHorizontalDatumgetDatum (void) const
 Returns the horizontal datum used for the projection. More...
 
const IlvEllipsoidgetEllipsoid (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...
 
IlvProjectionInterfacegetInterface ()
 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 IlvUnitConvertergetUnitConverter () 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...
 
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. 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...
 

Static Public Member Functions

static const IlvEllipsoidGetNTFEllipsoid ()
 Returns the ellipsoid used for the NTF geodesic system. More...
 
static IlDouble GetParisMeridian ()
 Returns the longitude of the Paris meridian in radian. More...
 
static const IlvEllipsoidGetRGF93Ellipsoid ()
 Returns the ellipsoid used for the Lambert 93 mode of the projection. More...
 
- Static Public Member Functions inherited from IlvProjection
static IlvProjectionClassInfoClassInfo ()
 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 IlvProjectionLoad (IlvInputFile &inputFile)
 Loads a projection from the specified file. More...
 
static IlvProjectionPROJ4ToIlvProjection (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.
 

Additional Inherited Members

- Protected Member Functions inherited from IlvLambertConformalConicProjection
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...
 
virtual IlvMapsError sForward (IlvCoordinate &ll) const
 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...
 
- Protected Member Functions inherited from IlvConicProjection
 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...
 
void setError (IlvMapsError error)
 Sets the status of this projection. More...
 

Detailed Description

This class defines the Lambert projection used in France.

It is a special form of the IlvLambertConformalConicProjection for which a set of parameters is defined for six different modes.
For small scale maps (1:25 000 and smaller), France has been divided into four zones. To each zone corresponds a mode of the projection:

For large scale maps, the Lambert II extended mode is generally used. Another mode is used for maps using the RGF93 geodesic system (RGF93 stands for "R&eacute;seau G&eacute;odesique Francais"). This mode is called Lambert 93.
The first five modes of the projection use an IGN version of the Clarke 1880 ellipsoid, while the Lambert 93 mode uses the GRS80 ellipsoid. The first five modes are centered on the Paris meridian that passes through the middle of the facade of the "Observatoire de Paris." The Lambert 93 is centered at 3 degrees east.


Library: ilvmaps

Constructor & Destructor Documentation

IlvFrenchLambertProjection::IlvFrenchLambertProjection ( IlvFrenchLambertMode  mode = IlvFrenchLambert_II_extended)

Initializes an instance of IlvFrenchLambertPojection and sets it to the specified mode.

Parameters
modeIlvFrenchLambertMode.
See also
IlvFrenchLambertMode.

Member Function Documentation

virtual IlvProjection* IlvFrenchLambertProjection::copy ( ) const
virtual

Returns a copy of the projection. It must be overridden in each subclass.

Returns
The copy of the object.

Implements IlvProjection.

virtual IlvProjectionClassInfo* IlvFrenchLambertProjection::getClassInfo ( ) const
virtual

Returns the class information for the projection.

Returns
The class information for the projection.

Reimplemented from IlvConicProjection.

IlvFrenchLambertMode IlvFrenchLambertProjection::getMode ( ) const

Returns the mode of the projection.

Returns
The mode of the projection.
static const IlvEllipsoid* IlvFrenchLambertProjection::GetNTFEllipsoid ( )
static

Returns the ellipsoid used for the NTF geodesic system.

This geodesic system is used by the modes Lambert_I, Lambert_II, Lambert_III, Lambert_IV and Lambert_II_extended.

Returns
the ellipsoid used for the NTF geodesic system.
static IlDouble IlvFrenchLambertProjection::GetParisMeridian ( )
static

Returns the longitude of the Paris meridian in radian.

Returns
The longitude of the Paris meridian.
static const IlvEllipsoid* IlvFrenchLambertProjection::GetRGF93Ellipsoid ( )
static

Returns the ellipsoid used for the Lambert 93 mode of the projection.

Returns
The ellipsoid used for the Lambert 93 mode.
virtual void IlvFrenchLambertProjection::setLLCenter ( double  lon,
double  lat 
)
virtual

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.

Parameters
lonThe central meridian in radian.
latThe central parallel in radian.

Reimplemented from IlvLambertConformalConicProjection.

void IlvFrenchLambertProjection::setMode ( IlvFrenchLambertMode  mode)

Sets the mode of the projection.

Parameters
modeThe mode of the projection.
virtual IlvMapsError IlvFrenchLambertProjection::setSecantLatitudes ( const IlvCoordinate secant)
virtual

Sets the latitudes at which the cone of the projection intersects with the earth.

Parameters
secantA 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.
Returns
An error status if the latitudes specify a limiting form, that is, if secant.x = -secant.y or secant.x = secant.y = PI/2.

Reimplemented from IlvLambertConformalConicProjection.

virtual void IlvFrenchLambertProjection::write ( IlvOutputFile outputFile) const
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.

Parameters
outputFileThe file to write the projection parameters to.

Reimplemented from IlvLambertConformalConicProjection.


© Copyright 2016, 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.