This class defines the Lambert projection used in France. More...
#include <ilviews/maps/projection/frlamber.h>
Public Member Functions | |
IlvFrenchLambertProjection (IlvFrenchLambertMode mode=IlvFrenchLambert_II_extended) | |
Initializes a new IlvFrenchLambertPojection instance and sets it to a specified mode. More... | |
virtual IlvProjection * | copy () const |
Returns a copy of the projection. More... | |
virtual IlvProjectionClassInfo * | getClassInfo () 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 &) |
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 a new IlvLambertConformalConicProjection instance of the class and sets its secant latitudes. | |
IlDouble | getScaleFactor () const |
Returns the scale factor applied to the projected data. More... | |
virtual IlvMapsError | setEllipsoid (const IlvEllipsoid &) |
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 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... | |
Public Member Functions inherited from IlvProjection | |
virtual IlvMapsError | forward (const IlvCoordinate &llIn, IlvCoordinate &xyOut) const |
Converts a latitude and a longitude to Cartesian coordinates (x, y). More... | |
virtual 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... | |
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... | |
virtual IlvMapsError | inverse (const IlvCoordinate &xyIn, IlvCoordinate &llOut) const |
Converts the specified coordinate to a latitude and a longitude. More... | |
virtual 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... | |
virtual 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 IlvEllipsoid * | GetNTFEllipsoid () |
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 IlvEllipsoid * | GetRGF93Ellipsoid () |
Returns the ellipsoid used for the Lambert 93 mode of the projection. More... | |
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. | |
Additional Inherited Members | |
Protected Member Functions inherited from IlvLambertConformalConicProjection | |
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 IlvConicProjection | |
IlvConicProjection (IlBoolean ellipsoidEnabled, IlBoolean inverseEnabled, IlvProjectionGeometricProperty property) | |
Initializes a new IlvConicProjection instance. 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... | |
virtual bool | isUsingProj4 () const |
Are we using proj4 implementation. More... | |
void | setError (IlvMapsError error) |
Sets the status of this projection. More... | |
This class defines the Lambert projection used in France.
Library: ilvmaps
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éseau Gé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.
IlvFrenchLambertProjection::IlvFrenchLambertProjection | ( | IlvFrenchLambertMode | mode = IlvFrenchLambert_II_extended | ) |
Initializes a new IlvFrenchLambertPojection
instance and sets it to a specified mode.
mode | The mode. |
|
virtual |
Returns a copy of the projection.
It must be overridden in each subclass.
Implements IlvProjection.
|
virtual |
Returns the class information for the projection.
Reimplemented from IlvConicProjection.
IlvFrenchLambertMode IlvFrenchLambertProjection::getMode | ( | ) | const |
Returns the mode of the projection.
|
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
.
|
static |
Returns the longitude of the Paris meridian in radian.
|
static |
Returns the ellipsoid used for the Lambert 93 mode of the projection.
|
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.
lon | The central meridian in radian. |
lat | The central parallel in radian. |
Reimplemented from IlvLambertConformalConicProjection.
void IlvFrenchLambertProjection::setMode | ( | IlvFrenchLambertMode | mode | ) |
Sets the mode of the projection.
mode | The mode of the projection. |
|
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. |
Reimplemented from 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 IlvLambertConformalConicProjection.