OTB  6.7.0
Orfeo Toolbox
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
otb::GeometriesProjectionFilter Class Reference

#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 Self
ConstPointer
 
I/O typedefs
typedef
Superclass::InputGeometriesType 
InputGeometriesType
 
typedef
Superclass::OutputGeometriesType 
OutputGeometriesType
 
typedef ogr::ImageReference
< double > 
ImageReference
 
- Public Types inherited from otb::GeometriesToGeometriesFilter
typedef
GeometriesToGeometriesFilter 
Self
 
typedef itk::ProcessObject Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer
< const Self
ConstPointer
 
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 Self
ConstPointer
 
typedef
itk::ProcessObject::DataObjectPointerArraySizeType 
DataObjectPointerArraySizeType
 
typedef GeometriesSet OutputGeometriesType
 
- Public Types inherited from itk::ProcessObject
typedef SmartPointer< const SelfConstPointer
 
typedef
DataObject::DataObjectIdentifierType 
DataObjectIdentifierType
 
typedef DataObject::Pointer DataObjectPointer
 
typedef std::vector
< DataObjectPointer
DataObjectPointerArray
 
typedef
DataObjectPointerArray::size_type 
DataObjectPointerArraySizeType
 
typedef std::vector
< DataObjectIdentifierType
NameArray
 
typedef SmartPointer< SelfPointer
 
typedef ProcessObject Self
 
typedef Object Superclass
 
- Public Types inherited from itk::Object
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef Object Self
 
typedef LightObject Superclass
 
- Public Types inherited from itk::LightObject
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef LightObject Self
 

Public Member Functions

virtual ImageKeywordlist GetOutputKeywordList ()
 
void SetOutputKeywordList (const ImageKeywordlist &kwl)
 
Keywords lists accessors and mutators
virtual ImageKeywordlist GetInputKeywordList ()
 
void SetInputKeywordList (const ImageKeywordlist &kwl)
 
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
void PrepareOutputs () override
 
virtual OutputGeometriesTypeGetOutput (void)
 
virtual OutputGeometriesTypeGetOutput (DataObjectPointerArraySizeType idx)
 
virtual void SetOutput (OutputGeometriesType *output, DataObjectPointerArraySizeType idx=0)
 
- Public Member Functions inherited from itk::ProcessObject
virtual void AbortGenerateDataOff ()
 
virtual void AbortGenerateDataOn ()
 
virtual void EnlargeOutputRequestedRegion (DataObject *)
 
virtual const bool & GetAbortGenerateData () const
 
DataObjectPointerArray GetIndexedInputs ()
 
DataObjectPointerArray GetIndexedOutputs ()
 
NameArray GetInputNames () const
 
DataObjectPointerArray GetInputs ()
 
MultiThreader * GetMultiThreader () const
 
DataObjectPointerArraySizeType GetNumberOfIndexedInputs () const
 
DataObjectPointerArraySizeType GetNumberOfIndexedOutputs () const
 
DataObjectPointerArraySizeType GetNumberOfInputs () const
 
DataObjectPointerArraySizeType GetNumberOfOutputs () const
 
virtual const ThreadIdTypeGetNumberOfThreads () const
 
virtual
DataObjectPointerArraySizeType 
GetNumberOfValidRequiredInputs () const
 
NameArray GetOutputNames () const
 
DataObjectPointerArray GetOutputs ()
 
virtual const float & GetProgress () const
 
virtual const bool & GetReleaseDataBeforeUpdateFlag () const
 
virtual bool GetReleaseDataFlag () const
 
NameArray GetRequiredInputNames () const
 
bool HasInput (const DataObjectIdentifierType &key) const
 
bool HasOutput (const DataObjectIdentifierType &key) const
 
virtual DataObjectPointer MakeOutput (const DataObjectIdentifierType &)
 
virtual DataObjectPointer MakeOutput (DataObjectPointerArraySizeType idx)
 
virtual void PropagateRequestedRegion (DataObject *output)
 
virtual void ReleaseDataBeforeUpdateFlagOff ()
 
virtual void ReleaseDataBeforeUpdateFlagOn ()
 
void ReleaseDataFlagOff ()
 
void ReleaseDataFlagOn ()
 
virtual void ResetPipeline ()
 
virtual void SetAbortGenerateData (bool _arg)
 
virtual void SetNumberOfThreads (ThreadIdType _arg)
 
void SetProgress (float progress)
 
virtual void SetReleaseDataBeforeUpdateFlag (bool _arg)
 
virtual void SetReleaseDataFlag (bool flag)
 
virtual void Update ()
 
virtual void UpdateLargestPossibleRegion ()
 
virtual void UpdateOutputData (DataObject *output)
 
virtual void UpdateOutputInformation ()
 
void UpdateProgress (float progress)
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *)
 
unsigned long AddObserver (const EventObject &event, Command *) const
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
const MetaDataDictionaryGetMetaDataDictionary () const
 
MetaDataDictionaryGetMetaDataDictionary ()
 
virtual ModifiedTimeType GetMTime () const
 
virtual const std::string & GetObjectName () const
 
virtual const TimeStampGetTimeStamp () const
 
bool HasObserver (const EventObject &event) const
 
void InvokeEvent (const EventObject &)
 
void InvokeEvent (const EventObject &) const
 
virtual void Modified () const
 
virtual void Register () const override
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag)
 
void SetDebug (bool debugFlag) const
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
virtual void SetObjectName (std::string _arg)
 
virtual void SetReferenceCount (int) override
 
virtual void UnRegister () const noexceptoverride
 
- Public Member Functions inherited from itk::LightObject
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
 itkCloneMacro (Self)
 
void Print (std::ostream &os, Indent indent=0) const
 

Protected Member Functions

void GenerateOutputInformation (void) override
 
 GeometriesProjectionFilter ()
 
 ~GeometriesProjectionFilter () override
 
- Protected Member Functions inherited from otb::GeometriesToGeometriesFilter
void GenerateData (void) override
 
 GeometriesToGeometriesFilter ()
 
 ~GeometriesToGeometriesFilter () override
 
- Protected Member Functions inherited from otb::GeometriesSource
 GeometriesSource ()
 
 ~GeometriesSource () override
 
virtual void DoAllocateOutputs ()
 
- Protected Member Functions inherited from itk::ProcessObject
virtual void AddInput (DataObject *input)
 
virtual void AddOutput (DataObject *output)
 
bool AddRequiredInputName (const DataObjectIdentifierType &, DataObjectPointerArraySizeType idx)
 
bool AddRequiredInputName (const DataObjectIdentifierType &)
 
virtual void CacheInputReleaseDataFlags ()
 
virtual void GenerateInputRequestedRegion ()
 
virtual void GenerateOutputRequestedRegion (DataObject *output)
 
const DataObjectGetInput (const DataObjectIdentifierType &key) const
 
DataObjectGetInput (DataObjectPointerArraySizeType idx)
 
const DataObjectGetInput (DataObjectPointerArraySizeType idx) const
 
DataObjectGetInput (const DataObjectIdentifierType &key)
 
virtual const
DataObjectPointerArraySizeType
GetNumberOfRequiredInputs () const
 
virtual const
DataObjectPointerArraySizeType
GetNumberOfRequiredOutputs () const
 
DataObjectGetOutput (const DataObjectIdentifierType &key)
 
const DataObjectGetOutput (const DataObjectIdentifierType &key) const
 
DataObjectGetOutput (DataObjectPointerArraySizeType idx)
 
const DataObjectGetOutput (DataObjectPointerArraySizeType idx) const
 
DataObjectGetPrimaryInput ()
 
const DataObjectGetPrimaryInput () const
 
virtual const char * GetPrimaryInputName (void) const
 
DataObjectGetPrimaryOutput ()
 
const DataObjectGetPrimaryOutput () const
 
virtual const char * GetPrimaryOutputName (void) const
 
bool IsIndexedInputName (const DataObjectIdentifierType &) const
 
bool IsIndexedOutputName (const DataObjectIdentifierType &) const
 
bool IsRequiredInputName (const DataObjectIdentifierType &) const
 
 itkLegacyMacro (virtual void RemoveInput(DataObject *input))
 
 itkLegacyMacro (void SetNumberOfInputs(DataObjectPointerArraySizeType num))
 
 itkLegacyMacro (virtual void RemoveOutput(DataObject *output))
 
 itkLegacyMacro (void SetNumberOfOutputs(DataObjectPointerArraySizeType num))
 
DataObjectPointerArraySizeType MakeIndexFromInputName (const DataObjectIdentifierType &name) const
 
DataObjectPointerArraySizeType MakeIndexFromOutputName (const DataObjectIdentifierType &name) const
 
DataObjectIdentifierType MakeNameFromInputIndex (DataObjectPointerArraySizeType idx) const
 
DataObjectIdentifierType MakeNameFromOutputIndex (DataObjectPointerArraySizeType idx) const
 
virtual void PopBackInput ()
 
virtual void PopFrontInput ()
 
virtual void PrintSelf (std::ostream &os, Indent indent) const override
 
 ProcessObject ()
 
virtual void PropagateResetPipeline ()
 
virtual void PushBackInput (const DataObject *input)
 
virtual void PushFrontInput (const DataObject *input)
 
virtual void ReleaseInputs ()
 
virtual void RemoveInput (const DataObjectIdentifierType &key)
 
virtual void RemoveInput (DataObjectPointerArraySizeType)
 
virtual void RemoveOutput (const DataObjectIdentifierType &key)
 
virtual void RemoveOutput (DataObjectPointerArraySizeType idx)
 
bool RemoveRequiredInputName (const DataObjectIdentifierType &)
 
virtual void RestoreInputReleaseDataFlags ()
 
virtual void SetInput (const DataObjectIdentifierType &key, DataObject *input)
 
virtual void SetNthInput (DataObjectPointerArraySizeType num, DataObject *input)
 
virtual void SetNthOutput (DataObjectPointerArraySizeType num, DataObject *output)
 
void SetNumberOfIndexedInputs (DataObjectPointerArraySizeType num)
 
void SetNumberOfIndexedOutputs (DataObjectPointerArraySizeType num)
 
virtual void SetNumberOfRequiredInputs (DataObjectPointerArraySizeType)
 
virtual void SetNumberOfRequiredOutputs (DataObjectPointerArraySizeType _arg)
 
virtual void SetOutput (const DataObjectIdentifierType &key, DataObject *output)
 
virtual void SetPrimaryInput (DataObject *input)
 
virtual void SetPrimaryInputName (const DataObjectIdentifierType &key)
 
virtual void SetPrimaryOutput (DataObject *output)
 
virtual void SetPrimaryOutputName (const DataObjectIdentifierType &key)
 
void SetRequiredInputNames (const NameArray &)
 
virtual void VerifyInputInformation ()
 
virtual void VerifyPreconditions ()
 
 ~ProcessObject ()
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void SetTimeStamp (const TimeStamp &time)
 
virtual ~Object ()
 
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

Private Member Functions

void DoDefineNewLayerFields (ogr::Layer const &source, ogr::Layer &dest) const override
 
OGRSpatialReference * DoDefineNewLayerSpatialReference (ogr::Layer const &source) const override
 
void DoFinalizeInitialization () override
 
void DoProcessLayer (ogr::Layer const &source, ogr::Layer &destination) const override
 

Private Attributes

ImageKeywordlist m_InputKeywordList
 
ImageKeywordlist m_OutputKeywordList
 
std::string m_OutputProjectionRef
 

Standard macros

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

Image Reference (origin, spacing)

ImageReference m_InputImageReference
 
ImageReference m_OutputImageReference
 
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,
FieldCopyTransformation
TransformationFunctorDispatcherType
 
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 ()
 
- Static Public Member Functions inherited from itk::Object
static bool GetGlobalWarningDisplay ()
 
static void GlobalWarningDisplayOff ()
 
static void GlobalWarningDisplayOn ()
 
static Pointer New ()
 
static void SetGlobalWarningDisplay (bool flag)
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 
- Protected Attributes inherited from itk::ProcessObject
TimeStamp m_OutputInformationMTime
 
bool m_Updating
 
- Protected Attributes inherited from itk::LightObject
AtomicInt< int > m_ReferenceCount
 

Detailed Description

Projection filter for OGR geometries sets.

Since
OTB v 3.14.0
Parameters
[in]InputGeometriesSet
[in]InputKeywordListif the InputGeometriesSet doesn't have a projection reference (i.e. a OGRSpatialReference), this filter will use the InputKeywordList to describe the positionning 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]OutputKeywordListif no OutputProjectionRef is set, the projection will be done according to the OutputKeywordList.
Note
Unlike VectorDataProjectionFilter, we have to explicitly set which to use between projection reference or keyword list. There is no MetaDataDictionary property.
This filter does not support in-place transformation as the spatial references of the new layer are expected to change.

Definition at line 166 of file otbGeometriesProjectionFilter.h.

Member Typedef Documentation

Definition at line 175 of file otbGeometriesProjectionFilter.h.

Definition at line 194 of file otbGeometriesProjectionFilter.h.

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

Definition at line 190 of file otbGeometriesProjectionFilter.h.

Definition at line 295 of file otbGeometriesProjectionFilter.h.

Definition at line 294 of file otbGeometriesProjectionFilter.h.

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

Definition at line 192 of file otbGeometriesProjectionFilter.h.

Definition at line 174 of file otbGeometriesProjectionFilter.h.

Definition at line 172 of file otbGeometriesProjectionFilter.h.

Definition at line 173 of file otbGeometriesProjectionFilter.h.

Definition at line 287 of file otbGeometriesProjectionFilter.h.

Definition at line 284 of file otbGeometriesProjectionFilter.h.

Definition at line 285 of file otbGeometriesProjectionFilter.h.

Constructor & Destructor Documentation

otb::GeometriesProjectionFilter::GeometriesProjectionFilter ( )
protected

Default constructor.

otb::GeometriesProjectionFilter::~GeometriesProjectionFilter ( )
overrideprotected

Destructor.

Member Function Documentation

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

Method for creation through the object factory.

Reimplemented from otb::GeometriesSource.

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.

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.

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.

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.

void otb::GeometriesProjectionFilter::GenerateOutputInformation ( void  )
overrideprotectedvirtual

Computes output information.

Postcondition
m_OutputProjectionRef contains all its related meta-data

Reimplemented from itk::ProcessObject.

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

Run-time type information (and related methods).

Reimplemented from otb::GeometriesToGeometriesFilter.

virtual ImageKeywordlist otb::GeometriesProjectionFilter::GetOutputKeywordList ( )
virtual
virtual const char* otb::GeometriesProjectionFilter::GetOutputProjectionRef ( ) const
virtual
static Pointer otb::GeometriesProjectionFilter::New ( )
static

Method for creation through the object factory.

void otb::GeometriesProjectionFilter::SetInputKeywordList ( const ImageKeywordlist kwl)
inline

Definition at line 93 of file otbGeometriesProjectionFilter.hxx.

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

Definition at line 80 of file otbGeometriesProjectionFilter.hxx.

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

Definition at line 68 of file otbGeometriesProjectionFilter.hxx.

void otb::GeometriesProjectionFilter::SetOutputKeywordList ( const ImageKeywordlist kwl)
inline

Definition at line 100 of file otbGeometriesProjectionFilter.hxx.

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

Definition at line 86 of file otbGeometriesProjectionFilter.hxx.

virtual void otb::GeometriesProjectionFilter::SetOutputProjectionRef ( const char *  _arg)
virtual
void otb::GeometriesProjectionFilter::SetOutputSpacing ( ImageReference::SpacingType const &  spacing)
inline

Definition at line 74 of file otbGeometriesProjectionFilter.hxx.

Member Data Documentation

ImageReference otb::GeometriesProjectionFilter::m_InputImageReference
private

Definition at line 302 of file otbGeometriesProjectionFilter.h.

ImageKeywordlist otb::GeometriesProjectionFilter::m_InputKeywordList
private

Definition at line 307 of file otbGeometriesProjectionFilter.h.

ImageReference otb::GeometriesProjectionFilter::m_OutputImageReference
private

Definition at line 303 of file otbGeometriesProjectionFilter.h.

ImageKeywordlist otb::GeometriesProjectionFilter::m_OutputKeywordList
private

Definition at line 308 of file otbGeometriesProjectionFilter.h.

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

Definition at line 306 of file otbGeometriesProjectionFilter.h.

InternalTransformPointerType otb::GeometriesProjectionFilter::m_Transform
private

Definition at line 297 of file otbGeometriesProjectionFilter.h.

TransformationFunctorDispatcherType otb::GeometriesProjectionFilter::m_TransformationFunctor
private

Definition at line 289 of file otbGeometriesProjectionFilter.h.


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