OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimGeneralRasterElevationDatabase.h
Go to the documentation of this file.
1 #ifndef ossimGeneralRasterElevationDatabase_HEADER
2 #define ossimGeneralRasterElevationDatabase_HEADER 1
3 
7 #include <mutex>
8 
10 {
11 public:
14  {
15  }
18  {
19  }
21  {
22  if(m_cellHandler.valid())
23  {
24  m_cellHandler->close();
25  }
26  m_cellHandler = 0;
27  }
28 
29  virtual ossimObject* dup() const
30  {
32  duped->open(m_connectionString);
33  return duped;
34  }
35 
36  virtual bool open(const ossimString& connectionString);
37  virtual bool pointHasCoverage(const ossimGpt& gpt) const;
38 
39  virtual bool getAccuracyInfo(ossimElevationAccuracyInfo& /*info*/, const ossimGpt& /*gpt*/) const
40  {
41  return false;
42  }
43 
49 // virtual double getAccuracyLE90(const ossimGpt& /* gpt */) const
50 // {
51 // std::cout << "ossimGeneralElevationDatabase::getAccuracyLE90 \n";
52 // return 0.0;
53 // }
54 // virtual double getAccuracyCE90(const ossimGpt& /* gpt */) const
55  // {
56  // std::cout << "ossimGeneralElevationDatabase::getAccuracyCE90 \n";
57  // return 0.0;
58  // }
59  virtual double getHeightAboveMSL(const ossimGpt&);
60  virtual double getHeightAboveEllipsoid(const ossimGpt& gpt);
61  virtual bool loadState(const ossimKeywordlist& kwl, const char* prefix = 0);
62  virtual bool saveState(ossimKeywordlist& kwl, const char* prefix = 0)const;
63  virtual ossim_uint64 createId(const ossimGpt& /* pt */)const
64  {
65  return 0;
66  }
67 
68  virtual std::ostream& print(std::ostream& out) const;
69 
70 protected:
72  bool openGeneralRasterDirectory(const ossimFilename& dir);
73  void createRelativePath(ossimFilename& file, const ossimGpt& gpt)const;
74  void createFullPath(ossimFilename& file, const ossimGpt& gpt)const
75  {
76  ossimFilename relativeFile;
77  createRelativePath(relativeFile, gpt);
78  file = ossimFilename(m_connectionString).dirCat(relativeFile);
79  }
80  ossimRefPtr<ossimElevCellHandler> createHandler(const ossimGpt& /* gpt */);
81  virtual ossimRefPtr<ossimElevCellHandler> createCell(const ossimGpt& /* gpt */);
82 
83 
84  TYPE_DATA
85 };
86 #endif
virtual double getHeightAboveMSL(const ossimGpt &)=0
Height access methods:
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
virtual ossimRefPtr< ossimElevCellHandler > createCell(const ossimGpt &)
virtual bool open(const ossimString &connectionString)
Open a connection to a database.
Represents serializable keyword/value map.
ossimGeneralRasterElevationDatabase(const ossimGeneralRasterElevationDatabase &rhs)
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
void createFullPath(ossimFilename &file, const ossimGpt &gpt) const
virtual bool getAccuracyInfo(ossimElevationAccuracyInfo &, const ossimGpt &) const
#define TYPE_DATA
Definition: ossimRtti.h:339
unsigned long long ossim_uint64
virtual bool pointHasCoverage(const ossimGpt &) const =0
METHOD: pointHasCoverage(gpt) Returns TRUE if coverage exists over gpt:
ossimRefPtr< ossimGeneralRasterElevHandler > m_cellHandler
virtual std::ostream & print(std::ostream &out) const
Outputs theErrorStatus as an ossimErrorCode and an ossimString.
#define OSSIM_DLL
ossimFilename dirCat(const ossimFilename &file) const
virtual double getHeightAboveEllipsoid(const ossimGpt &)
virtual ossim_uint64 createId(const ossimGpt &) const
virtual bool open(const ossimString &connectionString)=0
Open a connection to a database.
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23