Skip to content
Snippets Groups Projects
Commit 67dadec9 authored by Emmanuel Christophe's avatar Emmanuel Christophe
Browse files

Ajout projection lambert 93

parent 1b70aa8a
Branches
Tags
No related merge requests found
/*=========================================================================
Program: ORFEO Toolbox
Language: C++
Date: $Date$
Version: $Revision$
Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
See OTBCopyright.txt for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notices for more information.
=========================================================================*/
#ifndef __otbLambert93Projection_h
#define __otbLambert93Projection_h
#include "projection/ossimMapProjection.h"
#include "projection/ossimLambertConformalConicProjection.h"
#include "otbMapProjection.h"
namespace otb
{
/** \class Lambert93Projection
* \brief This class implements the Lambert93 map projection (RGF93 french geodesic system).
* It converts coordinates in longitude,latitude (WGS84) to Lambert 93 map coordinates.
*
*/
template <InverseOrForwardTransformationEnum transform>
class ITK_EXPORT Lambert93Projection : public LambertConformalConicMapProjection<transform>
{
public :
/** Standard class typedefs. */
typedef Lambert93Projection Self;
typedef LambertConformalConicMapProjection<transform> Superclass;
typedef itk::SmartPointer<Self> Pointer;
typedef itk::SmartPointer<const Self> ConstPointer;
typedef typename Superclass::ScalarType ScalarType;
typedef itk::Point<ScalarType,2 > InputPointType;
typedef itk::Point<ScalarType,2 > OutputPointType;
/** Method for creation through the object factory. */
itkNewMacro( Self );
/** Run-time type information (and related methods). */
itkTypeMacro( Lambert93Projection, MapProjection );
protected:
Lambert93Projection();
virtual ~Lambert93Projection();
private :
Lambert93Projection(const Self&); //purposely not implemented
void operator=(const Self&); //purposely not implemented
};
} // namespace otb
#ifndef OTB_MANUAL_INSTANTIATION
#include "otbLambert93Projection.txx"
#endif
#endif
/*=========================================================================
Program: ORFEO Toolbox
Language: C++
Date: $Date$
Version: $Revision$
Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
See OTBCopyright.txt for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notices for more information.
=========================================================================*/
#ifndef __otbLambert93Projection_txx
#define __otbLambert93Projection_txx
#include "otbLambert93Projection.h"
namespace otb
{
template <InverseOrForwardTransformationEnum transform>
Lambert93Projection<transform>
::Lambert93Projection()
{
itk::Point<double,2> origin;
origin[0]=3;
origin[1]=46.5;
std::string datum = "WE"; //WGS84 datum
double parall1=44;
double parall2=49;
double falseEasting=700000;
double falseNorthing=6600000;
std::string ellipsoid = "RF"; //GRS-80 ellipsoid
//TODO: 29-02-2008 Emmanuel: when ossim version > 1.7.2 only
// SetOrigin required (remove SetEllipsoid)
this->SetOrigin(origin, datum);
this->SetEllipsoid(ellipsoid);
this->SetParameters(parall1, parall2, falseEasting, falseNorthing);
}
template <InverseOrForwardTransformationEnum transform>
Lambert93Projection<transform>
::~Lambert93Projection()
{
}
} // namespace otb
#endif
......@@ -50,6 +50,7 @@ PURPOSE. See the above copyright notices for more information.
#include "otbUtmMapProjection.h"
#include "otbLambertConformalConicMapProjection.h"
#include "otbLambert2EtenduProjection.h"
#include "otbLambert93Projection.h"
#include "otbEckert4MapProjection.h"
#include "otbTransMercatorMapProjection.h"
#include "otbSinusoidalMapProjection.h"
......@@ -81,8 +82,10 @@ namespace otb
typedef MapProjection<ossimGnomonicProjection,FORWARD> GnomonicForwardProjection;
typedef LambertConformalConicMapProjection<INVERSE> LambertConformalConicInverseProjection;
typedef LambertConformalConicMapProjection<FORWARD> LambertConformalConicForwardProjection;
typedef Lambert2EtenduProjection<INVERSE> Lambert2EtenduInverseProjection;
typedef Lambert2EtenduProjection<FORWARD> Lambert2EtenduForwardProjection;
typedef Lambert2EtenduProjection<INVERSE> Lambert2EtenduInverseProjection;
typedef Lambert2EtenduProjection<FORWARD> Lambert2EtenduForwardProjection;
typedef Lambert93Projection<INVERSE> Lambert93InverseProjection;
typedef Lambert93Projection<FORWARD> Lambert93ForwardProjection;
typedef MapProjection<ossimLlxyProjection,INVERSE> LlxyInverseProjection;
typedef MapProjection<ossimLlxyProjection,FORWARD> LlxyForwardProjection;
typedef MapProjection<ossimEquDistCylProjection,INVERSE> EquDistCylInverseProjection;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment