MCPcopy Create free account
hub / github.com/OSGeo/gdal / LoadMetadata

Method LoadMetadata

gcore/mdreader/reader_geo_eye.cpp:131–186  ·  view source on GitHub ↗

* LoadMetadata() */

Source from the content-addressed store, hash-verified

129 * LoadMetadata()
130 */
131void GDALMDReaderGeoEye::LoadMetadata()
132{
133 if (m_bIsMetadataLoad)
134 return;
135
136 if (!m_osIMDSourceFilename.empty())
137 {
138 m_papszIMDMD = LoadIMDWktFile();
139 }
140
141 if (!m_osRPBSourceFilename.empty())
142 {
143 m_papszRPCMD = GDALLoadRPCFile(m_osRPBSourceFilename);
144 }
145
146 m_papszDEFAULTMD = CSLAddNameValue(m_papszDEFAULTMD, MD_NAME_MDTYPE, "GE");
147
148 m_bIsMetadataLoad = true;
149
150 if (nullptr == m_papszIMDMD)
151 {
152 return;
153 }
154
155 // extract imagery metadata
156 const char *pszSatId =
157 CSLFetchNameValue(m_papszIMDMD, "Source Image Metadata.Sensor");
158 if (nullptr != pszSatId)
159 {
160 m_papszIMAGERYMD = CSLAddNameValue(m_papszIMAGERYMD, MD_NAME_SATELLITE,
161 CPLStripQuotes(pszSatId));
162 }
163
164 const char *pszCloudCover = CSLFetchNameValue(
165 m_papszIMDMD, "Source Image Metadata.Percent Cloud Cover");
166 if (nullptr != pszCloudCover)
167 {
168 m_papszIMAGERYMD = CSLAddNameValue(m_papszIMAGERYMD, MD_NAME_CLOUDCOVER,
169 pszCloudCover);
170 }
171
172 const char *pszDateTime = CSLFetchNameValue(
173 m_papszIMDMD, "Source Image Metadata.Acquisition Date/Time");
174
175 if (nullptr != pszDateTime)
176 {
177 char buffer[80];
178 GIntBig timeMid = GetAcquisitionTimeFromString(pszDateTime);
179
180 struct tm tmBuf;
181 strftime(buffer, 80, MD_DATETIMEFORMAT,
182 CPLUnixTimeToYMDHMS(timeMid, &tmBuf));
183 m_papszIMAGERYMD =
184 CSLAddNameValue(m_papszIMAGERYMD, MD_NAME_ACQDATETIME, buffer);
185 }
186}
187
188/**

Callers

nothing calls this directly

Calls 6

GDALLoadRPCFileFunction · 0.85
CSLAddNameValueFunction · 0.85
CSLFetchNameValueFunction · 0.85
CPLStripQuotesFunction · 0.85
CPLUnixTimeToYMDHMSFunction · 0.85
emptyMethod · 0.45

Tested by

no test coverage detected