OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimVpfFeatureClassSchema.h
Go to the documentation of this file.
1 //*******************************************************************
2 //
3 // License: See top level LICENSE.txt file.
4 //
5 // Author: Garrett Potts (gpotts@imagelinks.com)
6 //
7 //********************************************************************
8 // $Id: ossimVpfFeatureClassSchema.h 20936 2012-05-18 14:45:00Z oscarkramer $
9 #ifndef ossimVpfFeatureClassSchema_HEADER
10 #define ossimVpfFeatureClassSchema_HEADER
11 #include <iostream>
12 #include <map>
13 #include <vector>
15 
16 class ossimVpfLibrary;
17 
19 {
20  public:
23  {
24  out << "table : " << data.theTable << endl
25  << "key : " << data.theTableKey << endl
26  << "primitive: " << data.thePrimitiveTable << endl
27  << "primitive key: " << data.thePrimitiveTableKey << endl;
28  return out;
29  }
30 
32  const ossimString& tableKey=ossimString(""),
33  const ossimFilename& primitiveTable=ossimFilename(""),
34  const ossimString& primitiveTableKey=ossimString(""))
35  :theTable(table),
36  theTableKey(tableKey),
37  thePrimitiveTable(primitiveTable),
38  thePrimitiveTableKey(primitiveTableKey)
39  {
40  }
41 
46 };
47 
49 {
50 public:
52 
53  bool openSchema(ossimVpfCoverage* coverage);
54  virtual void closeTable();
55 
56  void getFeatureClasses(std::vector<ossimString>& featureClassArray)const;
57  bool getFeatureClassNode(const ossimString& featureClass,
58  ossimVpfFeatureClassSchemaNode& featureClassNode)const;
60 protected:
63  std::map<ossimString, ossimVpfFeatureClassSchemaNode, ossimStringLtstr> theFeatureClassMap;
64 
65  bool validateColumnNames()const;
67 };
68 
69 #endif
bool openSchema(ossimVpfCoverage *coverage)
std::map< ossimString, ossimVpfFeatureClassSchemaNode, ossimStringLtstr > theFeatureClassMap
ossimVpfFeatureClassSchemaNode(const ossimFilename &table=ossimFilename(""), const ossimString &tableKey=ossimString(""), const ossimFilename &primitiveTable=ossimFilename(""), const ossimString &primitiveTableKey=ossimString(""))
friend ostream & operator<<(std::ostream &out, const ossimVpfFeatureClassSchemaNode &data)
void getFeatureClasses(std::vector< ossimString > &featureClassArray) const
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23
int ossim_int32
bool getFeatureClassNode(const ossimString &featureClass, ossimVpfFeatureClassSchemaNode &featureClassNode) const