OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimWktProjectionFactory.h
Go to the documentation of this file.
1 //*******************************************************************
2 //
3 // License: See top level LICENSE.txt file.
4 //
5 // Author: Oscar Kramer
6 //
7 //*******************************************************************
8 // $Id: ossimWktProjectionFactory.h 22924 2014-10-27 16:32:58Z okramer $
9 
10 #ifndef ossimWktProjectionFactory_HEADER
11 #define ossimWktProjectionFactory_HEADER
12 
15 #include <ossim/base/ossimRefPtr.h>
16 
17 class ossimProjection;
18 class ossimString;
19 class ossimMapProjection;
20 class ossimDatum;
21 
22 //*************************************************************************************************
26 //*************************************************************************************************
28 {
29 public:
34  static ossimWktProjectionFactory* instance();
35 
36  virtual ossimProjection* createProjection(const ossimFilename& filename,
37  ossim_uint32 entryIdx) const;
38 
41  virtual ossimProjection* createProjection(const ossimString& name) const;
42 
43  virtual ossim_uint32 getCode(const ossimString& name);
44 
48  const char* prefix = 0)const;
49 
50  virtual ossimObject* createObject(const ossimString& typeName)const;
51  virtual ossimObject* createObject(const ossimKeywordlist& kwl, const char* prefix=0)const;
52 
55  virtual void getTypeNameList(std::vector<ossimString>& typeList) const;
56 
57 protected:
58 
62 
63  ossimProjection* doTransverseMercator(const ossimKeywordlist& kwl)const;
64  ossimProjection* doMercator(const ossimKeywordlist& kwl)const;
65  ossimProjection* doLambertConformalConic(const ossimKeywordlist& kwl) const;
66  ossimProjection* doEquiDistCylindrical(const ossimKeywordlist& kwl) const;
67  ossimProjection* doEquiAreaCylindrical(const ossimKeywordlist& kwl) const;
68 
69  void loadRecords() const;
70 
71  template<class T> void doMapCommon(const ossimKeywordlist& kwl, T proj) const;
72 
74  mutable std::map<std::string, ossim_uint32> m_wktProjRecords;
75 
76 };
77 
78 #endif
#define OSSIMDLLEXPORT
Represents serializable keyword/value map.
Projection Factory for coded projections defined in database.
std::map< std::string, ossim_uint32 > m_wktProjRecords
virtual void getTypeNameList(std::vector< ossimString > &typeList) const =0
static ossimWktProjectionFactory * m_instance
Singleton implementation.
virtual ossimProjection * createProjection(const ossimFilename &filename, ossim_uint32 entryIdx) const =0
takes a filename.
unsigned int ossim_uint32
virtual ossimObject * createObject(const ossimString &typeName) const =0
ossimWktProjectionFactory()
Constructor loads the WKT CSV file specified in the ossim prefs with "wkt_database_file" keyword...