OTB  9.0.0
Orfeo Toolbox
List of all members

#include <otbGeometriesProjectionFilter.h>

+ Inheritance diagram for otb::GeometriesProjectionFilter:
+ Collaboration diagram for otb::GeometriesProjectionFilter:

Public Types

Standard ITK typedefs
typedef GeometriesProjectionFilter Self
 
typedef GeometriesToGeometriesFilter Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
- Public Types inherited from otb::GeometriesToGeometriesFilter
typedef GeometriesToGeometriesFilter Self
 
typedef itk::ProcessObject Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef GeometriesSet InputGeometriesType
 
typedef GeometriesSet OutputGeometriesType
 
- Public Types inherited from otb::GeometriesSource
typedef GeometriesSource Self
 
typedef itk::ProcessObject Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType
 
typedef GeometriesSet OutputGeometriesType
 

Public Member Functions

ImageMetadata accessors and mutators
const ImageMetadataGetInputImageMetadata () const
 
void SetInputImageMetadata (const ImageMetadata *imd)
 
const ImageMetadataGetOutputImageMetadata () const
 
void SetOutputImageMetadata (const ImageMetadata *imd)
 
Projection references accessors and mutators

Projection references accessors and mutators. As the Input Projection Reference comes from the Input Geometries set, it can't be set independently.

virtual void SetOutputProjectionRef (const char *_arg)
 
virtual const char * GetOutputProjectionRef () const
 
- Public Member Functions inherited from otb::GeometriesToGeometriesFilter
virtual void SetInput (const InputGeometriesType *input)
 
const InputGeometriesTypeGetInput (void)
 
- Public Member Functions inherited from otb::GeometriesSource
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual OutputGeometriesTypeGetOutput (void)
 
virtual OutputGeometriesTypeGetOutput (DataObjectPointerArraySizeType idx)
 
virtual void SetOutput (OutputGeometriesType *output, DataObjectPointerArraySizeType idx=0)
 
void PrepareOutputs () override
 

Standard macros

static Pointer New ()
 
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 

I/O typedefs

typedef Superclass::InputGeometriesType InputGeometriesType
 
typedef Superclass::OutputGeometriesType OutputGeometriesType
 
typedef ogr::ImageReference< double > ImageReference
 
OGRSpatialReference * DoDefineNewLayerSpatialReference (ogr::Layer const &source) const override
 
void DoProcessLayer (ogr::Layer const &source, ogr::Layer &destination) const override
 
void DoFinalizeInitialization () override
 
void DoDefineNewLayerFields (ogr::Layer const &source, ogr::Layer &dest) const override
 
 GeometriesProjectionFilter ()
 
 ~GeometriesProjectionFilter () override
 
void GenerateOutputInformation (void) override
 

Image Reference (origin, spacing)

ImageReference m_InputImageReference
 
ImageReference m_OutputImageReference
 
std::string m_OutputProjectionRef
 
const ImageMetadatam_InputImageMetadata = nullptr
 
const ImageMetadatam_OutputImageMetadata = nullptr
 
void SetInputSpacing (ImageReference::SpacingType const &spacing)
 
void SetOutputSpacing (ImageReference::SpacingType const &spacing)
 
void SetInputOrigin (ImageReference::OriginType const &origin)
 
void SetOutputOrigin (ImageReference::OriginType const &origin)
 

Functor definition

typedef internal::ReprojectTransformationFunctor TransformationFunctorType
 
typedef TransformationFunctorType::TransformedElementType TransformedElementType
 
typedef TransformationFunctorDispatcher< TransformationFunctorType, TransformedElementType, FieldCopyTransformationTransformationFunctorDispatcherType
 
TransformationFunctorDispatcherType m_TransformationFunctor
 

1 Point Transformation definition

typedef TransformationFunctorType::InternalTransformType InternalTransformType
 
typedef TransformationFunctorType::InternalTransformPointerType InternalTransformPointerType
 
InternalTransformPointerType m_Transform
 

Additional Inherited Members

- Static Public Member Functions inherited from otb::GeometriesSource
static Pointer New ()
 
- Protected Member Functions inherited from otb::GeometriesToGeometriesFilter
 GeometriesToGeometriesFilter ()
 
 ~GeometriesToGeometriesFilter () override
 
void GenerateData (void) override
 
- Protected Member Functions inherited from otb::GeometriesSource
 GeometriesSource ()
 
 ~GeometriesSource () override
 
virtual void DoAllocateOutputs ()
 

Detailed Description

Projection filter for OGR geometries sets.

Since
OTB v 3.14.0
Parameters
[in]InputGeometriesSet
[in]InputImageMetadataif the InputGeometriesSet doesn't have a projection reference (i.e. a OGRSpatialReference), this filter will use the InputImageMetadata to describe the positioning of the geometries set.
[in,out]OutputGeometriesSetThis set of geometries needs to be given to the filter (in order to set the exact output file/OGR driver). However the filter is in charge of filling the geometries set.
[in]OutputProjectionRefwkt description of the OGRSpatialReference to project the InputGeometriesSet into.
[in]OutputImageMetadataif no OutputProjectionRef is set, the projection will be done according to the OutputImageMetadata.
Note
Unlike VectorDataProjectionFilter, we have to explicitly set which to use between projection reference or ImageMetadata.
This filter does not support in-place transformation as the spatial references of the new layer are expected to change.

Definition at line 170 of file otbGeometriesProjectionFilter.h.

Member Typedef Documentation

◆ ConstPointer

typedef itk::SmartPointer<const Self> otb::GeometriesProjectionFilter::ConstPointer

Definition at line 179 of file otbGeometriesProjectionFilter.h.

◆ ImageReference

Hook used to determine the OGRSpatialReference when creating a new layer.

Parameters
[in]sourcesource Layer for reference (in case it has relevant information).
Returns
a OGRSpatialReference that matches the OutputProjectionRef of the filter. It's up to the caller to take responsibility of the returned object.

Definition at line 198 of file otbGeometriesProjectionFilter.h.

◆ InputGeometriesType

typedef Superclass::InputGeometriesType otb::GeometriesProjectionFilter::InputGeometriesType

Hook used to determine the OGRSpatialReference when creating a new layer.

Parameters
[in]sourcesource Layer for reference (in case it has relevant information).
Returns
a OGRSpatialReference that matches the OutputProjectionRef of the filter. It's up to the caller to take responsibility of the returned object.

Definition at line 194 of file otbGeometriesProjectionFilter.h.

◆ InternalTransformPointerType

Definition at line 313 of file otbGeometriesProjectionFilter.h.

◆ InternalTransformType

Definition at line 312 of file otbGeometriesProjectionFilter.h.

◆ OutputGeometriesType

typedef Superclass::OutputGeometriesType otb::GeometriesProjectionFilter::OutputGeometriesType

Hook used to determine the OGRSpatialReference when creating a new layer.

Parameters
[in]sourcesource Layer for reference (in case it has relevant information).
Returns
a OGRSpatialReference that matches the OutputProjectionRef of the filter. It's up to the caller to take responsibility of the returned object.

Definition at line 196 of file otbGeometriesProjectionFilter.h.

◆ Pointer

typedef itk::SmartPointer<Self> otb::GeometriesProjectionFilter::Pointer

Definition at line 178 of file otbGeometriesProjectionFilter.h.

◆ Self

Definition at line 176 of file otbGeometriesProjectionFilter.h.

◆ Superclass

Definition at line 177 of file otbGeometriesProjectionFilter.h.

◆ TransformationFunctorDispatcherType

Definition at line 305 of file otbGeometriesProjectionFilter.h.

◆ TransformationFunctorType

Definition at line 303 of file otbGeometriesProjectionFilter.h.

◆ TransformedElementType

Definition at line 304 of file otbGeometriesProjectionFilter.h.

Constructor & Destructor Documentation

◆ GeometriesProjectionFilter()

otb::GeometriesProjectionFilter::GeometriesProjectionFilter ( )
protected

Default constructor.

◆ ~GeometriesProjectionFilter()

otb::GeometriesProjectionFilter::~GeometriesProjectionFilter ( )
overrideprotected

Destructor.

Member Function Documentation

◆ CreateAnother()

virtual::itk::LightObject::Pointer otb::GeometriesProjectionFilter::CreateAnother ( void  ) const

Method for creation through the object factory.

◆ DoDefineNewLayerFields()

void otb::GeometriesProjectionFilter::DoDefineNewLayerFields ( ogr::Layer const &  source,
ogr::Layer dest 
) const
overrideprivatevirtual

Hook used to define the fields of the new layer.

Parameters
[in]sourcesource Layer – for reference
[in,out]destdestination Layer

Just forwards the fields definition to the FieldTransformationPolicy encapsuled in the TransformationFunctorDispatcherType.

Implements otb::GeometriesToGeometriesFilter.

◆ DoDefineNewLayerSpatialReference()

OGRSpatialReference* otb::GeometriesProjectionFilter::DoDefineNewLayerSpatialReference ( ogr::Layer const &  source) const
overrideprivatevirtual

Hook used to determine the OGRSpatialReference when creating a new layer.

Parameters
[in]sourcesource Layer for reference (in case it has relevant information).
Returns
a OGRSpatialReference that matches the OutputProjectionRef of the filter. It's up to the caller to take responsibility of the returned object.

Reimplemented from otb::GeometriesToGeometriesFilter.

◆ DoFinalizeInitialization()

void otb::GeometriesProjectionFilter::DoFinalizeInitialization ( )
overrideprivatevirtual

Hook used to conclude the initialization phase. Global ogr::DataSource settings for the m_Transform functor are forwarded to the functor. ogr::Layer specific settings will be set at the last moment from DoProcessLayer().

Reimplemented from otb::GeometriesToGeometriesFilter.

◆ DoProcessLayer()

void otb::GeometriesProjectionFilter::DoProcessLayer ( ogr::Layer const &  source,
ogr::Layer destination 
) const
overrideprivatevirtual

Hook that actually filters an OGR Layer.

Parameters
[in]sourceInput layer
[in,out]destinationOutput layer

Before forwarding the transformation to the m_TransformationFunctor, this specialization finishes initializing the inner transformation functor. Indeed some values depend on the current layer to reproject and thus, the inner-filter working on ogr::DataSource cannot be globally configured once and for all.

Implements otb::GeometriesToGeometriesFilter.

◆ GenerateOutputInformation()

void otb::GeometriesProjectionFilter::GenerateOutputInformation ( void  )
overrideprotected

Computes output information.

Postcondition
m_OutputProjectionRef contains all its related meta-data

◆ GetInputImageMetadata()

const ImageMetadata* otb::GeometriesProjectionFilter::GetInputImageMetadata ( ) const
inline

Definition at line 267 of file otbGeometriesProjectionFilter.h.

◆ GetNameOfClass()

virtual const char* otb::GeometriesProjectionFilter::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from otb::GeometriesToGeometriesFilter.

◆ GetOutputImageMetadata()

const ImageMetadata* otb::GeometriesProjectionFilter::GetOutputImageMetadata ( ) const
inline

Definition at line 278 of file otbGeometriesProjectionFilter.h.

◆ GetOutputProjectionRef()

virtual const char* otb::GeometriesProjectionFilter::GetOutputProjectionRef ( ) const
virtual

◆ New()

static Pointer otb::GeometriesProjectionFilter::New ( )
static

Method for creation through the object factory.

◆ SetInputImageMetadata()

void otb::GeometriesProjectionFilter::SetInputImageMetadata ( const ImageMetadata imd)
inline

Definition at line 272 of file otbGeometriesProjectionFilter.h.

◆ SetInputOrigin()

void otb::GeometriesProjectionFilter::SetInputOrigin ( ImageReference::OriginType const &  origin)
inline

Definition at line 72 of file otbGeometriesProjectionFilter.hxx.

◆ SetInputSpacing()

void otb::GeometriesProjectionFilter::SetInputSpacing ( ImageReference::SpacingType const &  spacing)
inline

Definition at line 62 of file otbGeometriesProjectionFilter.hxx.

◆ SetOutputImageMetadata()

void otb::GeometriesProjectionFilter::SetOutputImageMetadata ( const ImageMetadata imd)
inline

Definition at line 282 of file otbGeometriesProjectionFilter.h.

◆ SetOutputOrigin()

void otb::GeometriesProjectionFilter::SetOutputOrigin ( ImageReference::OriginType const &  origin)
inline

Definition at line 77 of file otbGeometriesProjectionFilter.hxx.

◆ SetOutputProjectionRef()

virtual void otb::GeometriesProjectionFilter::SetOutputProjectionRef ( const char *  _arg)
virtual

◆ SetOutputSpacing()

void otb::GeometriesProjectionFilter::SetOutputSpacing ( ImageReference::SpacingType const &  spacing)
inline

Definition at line 67 of file otbGeometriesProjectionFilter.hxx.

Member Data Documentation

◆ m_InputImageMetadata

const ImageMetadata* otb::GeometriesProjectionFilter::m_InputImageMetadata = nullptr
private

Definition at line 325 of file otbGeometriesProjectionFilter.h.

◆ m_InputImageReference

ImageReference otb::GeometriesProjectionFilter::m_InputImageReference
private

Definition at line 320 of file otbGeometriesProjectionFilter.h.

◆ m_OutputImageMetadata

const ImageMetadata* otb::GeometriesProjectionFilter::m_OutputImageMetadata = nullptr
private

Definition at line 326 of file otbGeometriesProjectionFilter.h.

◆ m_OutputImageReference

ImageReference otb::GeometriesProjectionFilter::m_OutputImageReference
private

Definition at line 321 of file otbGeometriesProjectionFilter.h.

◆ m_OutputProjectionRef

std::string otb::GeometriesProjectionFilter::m_OutputProjectionRef
private

Definition at line 324 of file otbGeometriesProjectionFilter.h.

◆ m_Transform

InternalTransformPointerType otb::GeometriesProjectionFilter::m_Transform
private

Definition at line 315 of file otbGeometriesProjectionFilter.h.

◆ m_TransformationFunctor

TransformationFunctorDispatcherType otb::GeometriesProjectionFilter::m_TransformationFunctor
private

Definition at line 307 of file otbGeometriesProjectionFilter.h.


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