OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
GroundControlPoint.h
Go to the documentation of this file.
1 //**************************************************************************************************
2 //
3 // OSSIM Open Source Geospatial Data Processing Library
4 // See top level LICENSE.txt file for license information
5 //
6 //**************************************************************************************************
7 
8 #ifndef GroundControlPoint_HEADER
9 #define GroundControlPoint_HEADER 1
10 
13 #include <ossim/matrix/newmat.h>
14 #include <memory>
15 
16 namespace ossim
17 {
23  public std::enable_shared_from_this<GroundControlPoint>
24 {
25 public:
26 
51  GroundControlPoint(const Json::Value& image_json_node);
52 
53  virtual ~GroundControlPoint();
54 
55  const std::string& getId() const { return m_id; }
56  const ossimEcefPoint& getECF() const { return m_gcp; }
57 
58  const NEWMAT::SymmetricMatrix& getCovariance() const {return m_covariance;}
59 
60  /*
61  * Refer to <a href="https://docs.google.com/document/d/1DXekmYm7wyo-uveM7mEu80Q7hQv40fYbtwZq-g0uKBs/edit?usp=sharing">3DISA API document</a>
62  * for JSON format used.
63  */
64  virtual void loadJSON(const Json::Value& json);
65 
66  /*
67  * Refer to <a href="https://docs.google.com/document/d/1DXekmYm7wyo-uveM7mEu80Q7hQv40fYbtwZq-g0uKBs/edit?usp=sharing">3DISA API document</a>
68  * for JSON format used.
69  */
70  virtual void saveJSON(Json::Value& json) const;
71 
72 private:
74 
75  std::string m_id;
77  NEWMAT::SymmetricMatrix m_covariance; //> X, Y, Z (ECF)
78 };
79 
80 typedef std::vector< std::shared_ptr<GroundControlPoint> > GcpList;
81 
82 } // end namespace ossimMsp
83 #endif /* #ifndef GroundControlPoint_HEADER */
NEWMAT::SymmetricMatrix m_covariance
This code was derived from https://gist.github.com/mshockwave.
Definition: Barrier.h:8
const NEWMAT::SymmetricMatrix & getCovariance() const
std::vector< std::shared_ptr< GroundControlPoint > > GcpList
Class for representing a ground control point.
virtual void loadJSON(const Json::Value &json)
Pure virtual interface for classes implementing JSON-based load/save state.
Definition: JsonInterface.h:19
const std::string & getId() const
virtual void saveJSON(Json::Value &json) const
const ossimEcefPoint & getECF() const