OTB  6.7.0
Orfeo Toolbox
otbMetaDataKey.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2005-2019 Centre National d'Etudes Spatiales (CNES)
3  *
4  * This file is part of Orfeo Toolbox
5  *
6  * https://www.orfeo-toolbox.org/
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20 
21 #ifndef otbMetaDataKey_h
22 #define otbMetaDataKey_h
23 
24 #include <string>
25 #include <vector>
26 
27 #include "itkDataObject.h"
29 #include "OTBOSSIMAdaptersExport.h"
30 
31 namespace otb
32 {
36 namespace MetaDataKey
37 {
38  extern OTBOSSIMAdapters_EXPORT char const* DriverShortNameKey;
39  extern OTBOSSIMAdapters_EXPORT char const* DriverLongNameKey;
40 
41  extern OTBOSSIMAdapters_EXPORT char const* ProjectionRefKey;
42 
43  extern OTBOSSIMAdapters_EXPORT char const* GCPProjectionKey;
44  extern OTBOSSIMAdapters_EXPORT char const* GCPParametersKey;
45  extern OTBOSSIMAdapters_EXPORT char const* GCPCountKey;
46 
47  extern OTBOSSIMAdapters_EXPORT char const* GeoTransformKey;
48 
49  extern OTBOSSIMAdapters_EXPORT char const* MetadataKey;
50  extern OTBOSSIMAdapters_EXPORT char const* SubMetadataKey;
51 
52  extern OTBOSSIMAdapters_EXPORT char const* UpperLeftCornerKey;
53  extern OTBOSSIMAdapters_EXPORT char const* UpperRightCornerKey;
54  extern OTBOSSIMAdapters_EXPORT char const* LowerLeftCornerKey;
55  extern OTBOSSIMAdapters_EXPORT char const* LowerRightCornerKey;
56 
57  extern OTBOSSIMAdapters_EXPORT char const* ColorTableNameKey;
58  extern OTBOSSIMAdapters_EXPORT char const* ColorEntryCountKey;
59  extern OTBOSSIMAdapters_EXPORT char const* ColorEntryAsRGBKey;
60 
61  extern OTBOSSIMAdapters_EXPORT char const* OSSIMKeywordlistKey;
62  extern OTBOSSIMAdapters_EXPORT char const* OSSIMKeywordlistDelimiterKey;
63 
64  extern OTBOSSIMAdapters_EXPORT char const* VectorDataKeywordlistKey;
65  extern OTBOSSIMAdapters_EXPORT char const* VectorDataKeywordlistDelimiterKey;
66 
67  extern OTBOSSIMAdapters_EXPORT char const* ResolutionFactor;
68  extern OTBOSSIMAdapters_EXPORT char const* SubDatasetIndex;
69  extern OTBOSSIMAdapters_EXPORT char const* CacheSizeInBytes;
70 
71  extern OTBOSSIMAdapters_EXPORT char const* TileHintX;
72  extern OTBOSSIMAdapters_EXPORT char const* TileHintY;
73 
74  extern OTBOSSIMAdapters_EXPORT char const * NoDataValueAvailable;
75  extern OTBOSSIMAdapters_EXPORT char const * NoDataValue;
76 
77  extern OTBOSSIMAdapters_EXPORT char const * DataType;
78 
79 
80  enum KeyType
81  {
90  };
91  /*
92  typedef struct
93  {
94  std::string keyname;
95  KeyType type;
96  } KeyTypeDef; */
97 
98  struct KeyTypeDef
99  {
100  std::string keyname;
102 
104  KeyTypeDef(const std::string& _keyname, const KeyType& _type)
105  {
106  keyname = _keyname;
107  type = _type;
108  }
109 
110  };
111 
112  KeyType OTBOSSIMAdapters_EXPORT GetKeyType(const std::string& name);
113 
114  typedef std::vector<double> VectorType;
115  typedef std::vector<bool> BoolVectorType;
117 }
118 
127 class OTBOSSIMAdapters_EXPORT OTB_GCP
128 {
129 public:
130 
132  std::string m_Id;
133 
135  std::string m_Info;
136 
138  double m_GCPCol;
139 
141  double m_GCPRow;
142 
144  double m_GCPX;
145 
147  double m_GCPY;
148 
150  double m_GCPZ;
151 
152  OTB_GCP();
153  ~OTB_GCP();
154 
155  void Print(std::ostream& os) const;
156 };
157 
158 } // end namespace otb
159 
160 #endif
OTBOSSIMAdapters_EXPORT char const * CacheSizeInBytes
OTBOSSIMAdapters_EXPORT char const * DriverLongNameKey
OTBOSSIMAdapters_EXPORT char const * ResolutionFactor
OTBOSSIMAdapters_EXPORT char const * SubDatasetIndex
std::string m_Info
std::vector< double > VectorType
OTBOSSIMAdapters_EXPORT char const * TileHintX
This OTB_GCP class is used to manage the GCP parameters in OTB.
OTBOSSIMAdapters_EXPORT char const * ColorTableNameKey
OTBOSSIMAdapters_EXPORT char const * GeoTransformKey
OTBOSSIMAdapters_EXPORT char const * NoDataValue
OTBOSSIMAdapters_EXPORT char const * ProjectionRefKey
OTBOSSIMAdapters_EXPORT char const * ColorEntryCountKey
OTBOSSIMAdapters_EXPORT char const * LowerRightCornerKey
itk::VariableLengthVector< double > VariableLengthVectorType
OTBOSSIMAdapters_EXPORT char const * LowerLeftCornerKey
OTBOSSIMAdapters_EXPORT char const * VectorDataKeywordlistKey
OTBOSSIMAdapters_EXPORT char const * GCPProjectionKey
OTBOSSIMAdapters_EXPORT char const * SubMetadataKey
OTBOSSIMAdapters_EXPORT char const * VectorDataKeywordlistDelimiterKey
std::vector< bool > BoolVectorType
OTBOSSIMAdapters_EXPORT char const * ColorEntryAsRGBKey
OTBOSSIMAdapters_EXPORT char const * UpperRightCornerKey
OTBOSSIMAdapters_EXPORT char const * DataType
OTBOSSIMAdapters_EXPORT char const * NoDataValueAvailable
OTBOSSIMAdapters_EXPORT char const * GCPCountKey
OTBOSSIMAdapters_EXPORT char const * MetadataKey
OTBOSSIMAdapters_EXPORT char const * OSSIMKeywordlistDelimiterKey
OTBOSSIMAdapters_EXPORT char const * GCPParametersKey
KeyTypeDef(const std::string &_keyname, const KeyType &_type)
KeyType OTBOSSIMAdapters_EXPORT GetKeyType(const std::string &name)
OTBOSSIMAdapters_EXPORT char const * TileHintY
OTBOSSIMAdapters_EXPORT char const * UpperLeftCornerKey
std::string m_Id
OTBOSSIMAdapters_EXPORT char const * DriverShortNameKey
OTBOSSIMAdapters_EXPORT char const * OSSIMKeywordlistKey