OTB  9.0.0
Orfeo Toolbox
Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
otb::Projection::RPCParam Struct Reference

#include <otbGeometryMetadata.h>

Public Member Functions

template<class BinaryPredicate >
bool Compare (const RPCParam &other, const BinaryPredicate &p) const
 
RPCParamoperator= (RPCParam &)=default
 
 RPCParam ()=default
 
 RPCParam (const RPCParam &)=default
 
std::string ToJSON (bool multiline=false) const
 

Static Public Member Functions

static std::string doubleArrayToString (const double *array)
 

Public Attributes

double HeightOffset = 0.0
 
double HeightScale = 0.0
 
double LatOffset = 0.0
 
double LatScale = 0.0
 
double LineDen [20]
 
double LineNum [20]
 
double LineOffset = 0.0
 
double LineScale = 0.0
 
double LonOffset = 0.0
 
double LonScale = 0.0
 
double SampleDen [20]
 
double SampleNum [20]
 
double SampleOffset = 0.0
 
double SampleScale = 0.0
 

Friends

bool operator== (const RPCParam &lhs, const RPCParam &rhs)
 

Detailed Description

Coefficients for RPC model (quite similar to GDALRPCInfo)

Details of the mathematical model:

x = (longitude - LonOffset) / LonScale y = (latitude - LatOffset) / LatScale z = (Height - HeightOffset) / HeightScale rn = (Row - LineOffset) / LineScale cn = (Column - SampleOffset) / SampleScale

rn = LineNum(x,y,z) / LineDen(x,y,z) cn = SampleNum(x,y,z) / SampleDen(x,y,z)

Each cubic polynomial function LineNum, LineDen, SampleNum, SampleDen has 20 coefficients:

c1 + (order 0) c2*x + c3*y + c4*z + (order 1) c5*x*y + c6*x*z + c7*y*z + c8*x^2 + c9*y^2 + c10*z^2 + (order 2) c11*x*y*z + c12*x^3 + c13*x*y^2 + c14*x*z^2 + c15*x^2*y + c16*y^3 + c17*y*z^2 + c18*x^2*z + c19*y^2*z + c20*z^3 (order 3)

Definition at line 130 of file otbGeometryMetadata.h.

Constructor & Destructor Documentation

◆ RPCParam() [1/2]

otb::Projection::RPCParam::RPCParam ( )
default

◆ RPCParam() [2/2]

otb::Projection::RPCParam::RPCParam ( const RPCParam )
default

Member Function Documentation

◆ Compare()

template<class BinaryPredicate >
bool otb::Projection::RPCParam::Compare ( const RPCParam other,
const BinaryPredicate &  p 
) const
inline

◆ doubleArrayToString()

static std::string otb::Projection::RPCParam::doubleArrayToString ( const double *  array)
inlinestatic

Definition at line 174 of file otbGeometryMetadata.h.

◆ operator=()

RPCParam& otb::Projection::RPCParam::operator= ( RPCParam )
default

◆ ToJSON()

std::string otb::Projection::RPCParam::ToJSON ( bool  multiline = false) const

Friends And Related Function Documentation

◆ operator==

bool operator== ( const RPCParam lhs,
const RPCParam rhs 
)
friend

Definition at line 205 of file otbGeometryMetadata.h.

Member Data Documentation

◆ HeightOffset

double otb::Projection::RPCParam::HeightOffset = 0.0

Definition at line 143 of file otbGeometryMetadata.h.

Referenced by Compare().

◆ HeightScale

double otb::Projection::RPCParam::HeightScale = 0.0

Definition at line 150 of file otbGeometryMetadata.h.

Referenced by Compare().

◆ LatOffset

double otb::Projection::RPCParam::LatOffset = 0.0

Definition at line 141 of file otbGeometryMetadata.h.

Referenced by Compare().

◆ LatScale

double otb::Projection::RPCParam::LatScale = 0.0

Definition at line 148 of file otbGeometryMetadata.h.

Referenced by Compare().

◆ LineDen

double otb::Projection::RPCParam::LineDen[20]
Initial value:
= {
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}

Definition at line 158 of file otbGeometryMetadata.h.

Referenced by Compare().

◆ LineNum

double otb::Projection::RPCParam::LineNum[20]
Initial value:
= {
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}

Definition at line 153 of file otbGeometryMetadata.h.

Referenced by Compare().

◆ LineOffset

double otb::Projection::RPCParam::LineOffset = 0.0

Definition at line 139 of file otbGeometryMetadata.h.

Referenced by Compare().

◆ LineScale

double otb::Projection::RPCParam::LineScale = 0.0

Definition at line 146 of file otbGeometryMetadata.h.

Referenced by Compare().

◆ LonOffset

double otb::Projection::RPCParam::LonOffset = 0.0

Definition at line 142 of file otbGeometryMetadata.h.

Referenced by Compare().

◆ LonScale

double otb::Projection::RPCParam::LonScale = 0.0

Definition at line 149 of file otbGeometryMetadata.h.

Referenced by Compare().

◆ SampleDen

double otb::Projection::RPCParam::SampleDen[20]
Initial value:
= {
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}

Definition at line 168 of file otbGeometryMetadata.h.

Referenced by Compare().

◆ SampleNum

double otb::Projection::RPCParam::SampleNum[20]
Initial value:
= {
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}

Definition at line 163 of file otbGeometryMetadata.h.

Referenced by Compare().

◆ SampleOffset

double otb::Projection::RPCParam::SampleOffset = 0.0

Definition at line 140 of file otbGeometryMetadata.h.

Referenced by Compare().

◆ SampleScale

double otb::Projection::RPCParam::SampleScale = 0.0

Definition at line 147 of file otbGeometryMetadata.h.

Referenced by Compare().


The documentation for this struct was generated from the following file: