OTB  9.0.0
Orfeo Toolbox
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions > Class Template Reference

#include <otbGenericMapProjection.h>

+ Inheritance diagram for otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >:
+ Collaboration diagram for otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef itk::Point< ScalarType, NInputDimensions > InputPointType
 
typedef itk::Point< ScalarType, NOutputDimensions > OutputPointType
 
typedef itk::SmartPointer< SelfPointer
 
typedef Superclass::ScalarType ScalarType
 
typedef GenericMapProjection Self
 
typedef Transform< TScalarType, NInputDimensions, NOutputDimensions > Superclass
 
- Public Types inherited from otb::Transform< double, 2, 2 >
typedef itk::SmartPointer< const SelfConstPointer
 
typedef itk::SmartPointer< SelfPointer
 
typedef Transform Self
 
typedef itk::Transform< double, NInputDimensions, NOutputDimensions > Superclass
 
enum  TransformDirection
 
typedef double ScalarType
 
typedef Superclass::ParametersType ParametersType
 
typedef Superclass::ParametersValueType ParametersValueType
 
typedef Superclass::NumberOfParametersType NumberOfParametersType
 
typedef itk::Array2D< double > JacobianType
 
typedef itk::Vector< double, NInputDimensions > InputVectorType
 
typedef itk::Vector< double, NOutputDimensions > OutputVectorType
 
typedef itk::CovariantVector< double, NInputDimensions > InputCovariantVectorType
 
typedef itk::CovariantVector< double, NOutputDimensions > OutputCovariantVectorType
 
typedef vnl_vector_fixed< double, NInputDimensions > InputVnlVectorType
 
typedef vnl_vector_fixed< double, NOutputDimensions > OutputVnlVectorType
 
typedef itk::Point< double, NInputDimensions > InputPointType
 
typedef itk::Point< double, NOutputDimensions > OutputPointType
 
typedef Superclass::InverseTransformBaseType InverseTransformBaseType
 
typedef Superclass::InverseTransformBasePointer InverseTransformBasePointer
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 
virtual std::string GetWkt ()
 
bool IsProjectionDefined () const
 
virtual void SetWkt (const std::string &projectionRefWkt)
 
OutputPointType TransformPoint (const InputPointType &point) const override
 
- Public Member Functions inherited from otb::Transform< double, 2, 2 >
virtual const char * GetNameOfClass () const
 
unsigned int GetInputSpaceDimension (void) const override
 
unsigned int GetOutputSpaceDimension (void) const override
 
OutputPointType TransformPoint (const InputPointType &) const override
 
OutputVectorType TransformVector (const InputVectorType &) const override
 
OutputVnlVectorType TransformVector (const InputVnlVectorType &) const override
 
OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &) const override
 
void SetParameters (const ParametersType &) override
 
void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const override
 
void SetParametersByValue (const ParametersType &p) override
 
const ParametersTypeGetParameters (void) const override
 
void SetFixedParameters (const ParametersType &) override
 
const ParametersTypeGetFixedParameters (void) const override
 
virtual const JacobianTypeGetJacobian (const InputPointType &) const
 
NumberOfParametersType GetNumberOfParameters (void) const override
 

Static Public Member Functions

static Pointer New ()
 

Static Public Attributes

static const TransformDirection DirectionOfMapping = TDirectionOfMapping
 
static const unsigned int InputSpaceDimension = NInputDimensions
 
static const unsigned int OutputSpaceDimension = NOutputDimensions
 
static const unsigned int ParametersDimension = NInputDimensions*(NInputDimensions + 1)
 
static const unsigned int SpaceDimension = NInputDimensions
 
- Static Public Attributes inherited from otb::Transform< double, 2, 2 >
static const unsigned int InputSpaceDimension
 
static const unsigned int OutputSpaceDimension
 

Protected Member Functions

 GenericMapProjection ()
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
 ~GenericMapProjection () override
 
- Protected Member Functions inherited from otb::Transform< double, 2, 2 >
 Transform ()
 
 Transform (NumberOfParametersType numberOfParameters)
 
 ~Transform () override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 

Protected Attributes

std::unique_ptr< CoordinateTransformationm_MapProjection
 
- Protected Attributes inherited from otb::Transform< double, 2, 2 >
ParametersType m_Parameters
 
ParametersType m_FixedParameters
 
JacobianType m_Jacobian
 

Private Member Functions

 GenericMapProjection (const Self &)=delete
 
void operator= (const Self &)=delete
 

Detailed Description

template<TransformDirection TDirectionOfMapping, class TScalarType = double, unsigned int NInputDimensions = 2, unsigned int NOutputDimensions = 2>
class otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >

This is the base class for generic map projection transformation.

The forward transformation will transform the coordinate for the geographic to the cartographic. The inverse model will transform from the cartographic to the geographic.

All derived class assume that the latitude and longitude are given according to the WGS84 ellipsoid model.

Definition at line 50 of file otbGenericMapProjection.h.

Member Typedef Documentation

◆ ConstPointer

template<TransformDirection TDirectionOfMapping, class TScalarType = double, unsigned int NInputDimensions = 2, unsigned int NOutputDimensions = 2>
typedef itk::SmartPointer<const Self> otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >::ConstPointer

Definition at line 59 of file otbGenericMapProjection.h.

◆ InputPointType

template<TransformDirection TDirectionOfMapping, class TScalarType = double, unsigned int NInputDimensions = 2, unsigned int NOutputDimensions = 2>
typedef itk::Point<ScalarType, NInputDimensions> otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >::InputPointType

Definition at line 62 of file otbGenericMapProjection.h.

◆ OutputPointType

template<TransformDirection TDirectionOfMapping, class TScalarType = double, unsigned int NInputDimensions = 2, unsigned int NOutputDimensions = 2>
typedef itk::Point<ScalarType, NOutputDimensions> otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >::OutputPointType

Definition at line 63 of file otbGenericMapProjection.h.

◆ Pointer

template<TransformDirection TDirectionOfMapping, class TScalarType = double, unsigned int NInputDimensions = 2, unsigned int NOutputDimensions = 2>
typedef itk::SmartPointer<Self> otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >::Pointer

Definition at line 58 of file otbGenericMapProjection.h.

◆ ScalarType

template<TransformDirection TDirectionOfMapping, class TScalarType = double, unsigned int NInputDimensions = 2, unsigned int NOutputDimensions = 2>
typedef Superclass::ScalarType otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >::ScalarType

Definition at line 61 of file otbGenericMapProjection.h.

◆ Self

template<TransformDirection TDirectionOfMapping, class TScalarType = double, unsigned int NInputDimensions = 2, unsigned int NOutputDimensions = 2>
typedef GenericMapProjection otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >::Self

Definition at line 57 of file otbGenericMapProjection.h.

◆ Superclass

template<TransformDirection TDirectionOfMapping, class TScalarType = double, unsigned int NInputDimensions = 2, unsigned int NOutputDimensions = 2>
typedef Transform<TScalarType, NInputDimensions, NOutputDimensions> otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >::Superclass

Standard class typedefs.

Definition at line 56 of file otbGenericMapProjection.h.

Constructor & Destructor Documentation

◆ GenericMapProjection() [1/2]

template<TransformDirection TDirectionOfMapping, class TScalarType , unsigned int NInputDimensions, unsigned int NOutputDimensions>
otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >::GenericMapProjection
protected

Definition at line 31 of file otbGenericMapProjection.hxx.

◆ ~GenericMapProjection()

template<TransformDirection TDirectionOfMapping, class TScalarType , unsigned int NInputDimensions, unsigned int NOutputDimensions>
otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >::~GenericMapProjection
overrideprotected

Definition at line 37 of file otbGenericMapProjection.hxx.

◆ GenericMapProjection() [2/2]

template<TransformDirection TDirectionOfMapping, class TScalarType = double, unsigned int NInputDimensions = 2, unsigned int NOutputDimensions = 2>
otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >::GenericMapProjection ( const Self )
privatedelete

Member Function Documentation

◆ CreateAnother()

template<TransformDirection TDirectionOfMapping, class TScalarType = double, unsigned int NInputDimensions = 2, unsigned int NOutputDimensions = 2>
virtual::itk::LightObject::Pointer otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >::CreateAnother ( void  ) const

◆ GetNameOfClass()

template<TransformDirection TDirectionOfMapping, class TScalarType = double, unsigned int NInputDimensions = 2, unsigned int NOutputDimensions = 2>
virtual const char* otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

◆ GetWkt()

template<TransformDirection TDirectionOfMapping, class TScalarType , unsigned int NInputDimensions, unsigned int NOutputDimensions>
std::string otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >::GetWkt
virtual

Return the Wkt representation of the projection

Definition at line 42 of file otbGenericMapProjection.hxx.

References otb::FORWARD.

◆ IsProjectionDefined()

template<TransformDirection TDirectionOfMapping, class TScalarType , unsigned int NInputDimensions, unsigned int NOutputDimensions>
bool otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >::IsProjectionDefined

Definition at line 128 of file otbGenericMapProjection.hxx.

◆ New()

template<TransformDirection TDirectionOfMapping, class TScalarType = double, unsigned int NInputDimensions = 2, unsigned int NOutputDimensions = 2>
static Pointer otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >::New ( )
static

Method for creation through the object factory.

◆ operator=()

template<TransformDirection TDirectionOfMapping, class TScalarType = double, unsigned int NInputDimensions = 2, unsigned int NOutputDimensions = 2>
void otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >::operator= ( const Self )
privatedelete

◆ PrintSelf()

template<TransformDirection TDirectionOfMapping, class TScalarType , unsigned int NInputDimensions, unsigned int NOutputDimensions>
void otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
overrideprotected

Definition at line 134 of file otbGenericMapProjection.hxx.

◆ SetWkt()

template<TransformDirection TDirectionOfMapping, class TScalarType , unsigned int NInputDimensions, unsigned int NOutputDimensions>
void otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >::SetWkt ( const std::string &  projectionRefWkt)
virtual

Instantiate the projection according to the Wkt specification

Definition at line 60 of file otbGenericMapProjection.hxx.

References otb::SpatialReference::FromDescription(), otb::SpatialReference::FromWGS84(), and otb::INVERSE.

◆ TransformPoint()

template<TransformDirection TDirectionOfMapping, class TScalarType , unsigned int NInputDimensions, unsigned int NOutputDimensions>
GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >::OutputPointType otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >::TransformPoint ( const InputPointType point) const
override

Definition at line 90 of file otbGenericMapProjection.hxx.

References otb::FORWARD, and otb::INVERSE.

Member Data Documentation

◆ DirectionOfMapping

template<TransformDirection TDirectionOfMapping, class TScalarType = double, unsigned int NInputDimensions = 2, unsigned int NOutputDimensions = 2>
const TransformDirection otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >::DirectionOfMapping = TDirectionOfMapping
static

Definition at line 71 of file otbGenericMapProjection.h.

◆ InputSpaceDimension

template<TransformDirection TDirectionOfMapping, class TScalarType = double, unsigned int NInputDimensions = 2, unsigned int NOutputDimensions = 2>
const unsigned int otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >::InputSpaceDimension = NInputDimensions
static

Definition at line 73 of file otbGenericMapProjection.h.

◆ m_MapProjection

template<TransformDirection TDirectionOfMapping, class TScalarType = double, unsigned int NInputDimensions = 2, unsigned int NOutputDimensions = 2>
std::unique_ptr<CoordinateTransformation> otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >::m_MapProjection
protected

Definition at line 94 of file otbGenericMapProjection.h.

◆ OutputSpaceDimension

template<TransformDirection TDirectionOfMapping, class TScalarType = double, unsigned int NInputDimensions = 2, unsigned int NOutputDimensions = 2>
const unsigned int otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >::OutputSpaceDimension = NOutputDimensions
static

Definition at line 74 of file otbGenericMapProjection.h.

◆ ParametersDimension

template<TransformDirection TDirectionOfMapping, class TScalarType = double, unsigned int NInputDimensions = 2, unsigned int NOutputDimensions = 2>
const unsigned int otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >::ParametersDimension = NInputDimensions*(NInputDimensions + 1)
static

Definition at line 76 of file otbGenericMapProjection.h.

◆ SpaceDimension

template<TransformDirection TDirectionOfMapping, class TScalarType = double, unsigned int NInputDimensions = 2, unsigned int NOutputDimensions = 2>
const unsigned int otb::GenericMapProjection< TDirectionOfMapping, TScalarType, NInputDimensions, NOutputDimensions >::SpaceDimension = NInputDimensions
static

Definition at line 75 of file otbGenericMapProjection.h.


The documentation for this class was generated from the following files: