21 #ifndef otbGeometryMetadata_h
22 #define otbGeometryMetadata_h
24 #include "OTBMetadataExport.h"
43 class OTBMetadata_EXPORT
GCP
68 GCP(std::string
id, std::string info,
double col,
double row,
double px,
double py,
double pz);
70 void Print(std::ostream& os)
const;
71 std::string ToJSON(
bool multiline=
false)
const;
95 std::string ToJSON(
bool multiline=
false)
const;
139 double LineOffset = 0.0;
140 double SampleOffset = 0.0;
141 double LatOffset = 0.0;
142 double LonOffset = 0.0;
143 double HeightOffset = 0.0;
146 double LineScale = 0.0;
147 double SampleScale = 0.0;
148 double LatScale = 0.0;
149 double LonScale = 0.0;
150 double HeightScale = 0.0;
153 double LineNum[20] = {
154 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
155 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
158 double LineDen[20] = {
159 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
160 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
163 double SampleNum[20] = {
164 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
165 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
168 double SampleDen[20] = {
169 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
170 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
173 std::string ToJSON(
bool multiline=
false)
const;
176 std::ostringstream oss;
178 for (
int loop = 0 ; loop < 20 ; loop++)
179 oss <<
" \"" << array[loop] <<
"\", ";
185 template <
class BinaryPredicate>
198 && std::equal(std::begin(LineNum), std::end(LineNum), std::begin(other.
LineNum),p)
199 && std::equal(std::begin(LineDen), std::end(LineDen), std::begin(other.
LineDen),p)
200 && std::equal(std::begin(SampleNum), std::end(SampleNum), std::begin(other.
SampleNum),p)
201 && std::equal(std::begin(SampleDen), std::end(SampleDen), std::begin(other.
SampleDen),p);
207 return lhs.
Compare(rhs, [](
double rhs,
double lhs){
return rhs == lhs;});