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

Method LoadMetadata

gcore/mdreader/reader_eros.cpp:147–214  ·  view source on GitHub ↗

* LoadMetadata() */

Source from the content-addressed store, hash-verified

145 * LoadMetadata()
146 */
147void GDALMDReaderEROS::LoadMetadata()
148{
149 if (m_bIsMetadataLoad)
150 return;
151
152 if (!m_osIMDSourceFilename.empty())
153 {
154 m_papszIMDMD = LoadImdTxtFile();
155 }
156
157 if (!m_osRPBSourceFilename.empty())
158 {
159 m_papszRPCMD = GDALLoadRPCFile(m_osRPBSourceFilename);
160 }
161
162 m_papszDEFAULTMD =
163 CSLAddNameValue(m_papszDEFAULTMD, MD_NAME_MDTYPE, "EROS");
164
165 m_bIsMetadataLoad = true;
166
167 const char *pszSatId1 = CSLFetchNameValue(m_papszIMDMD, "satellite");
168 const char *pszSatId2 = CSLFetchNameValue(m_papszIMDMD, "camera");
169 if (nullptr != pszSatId1 && nullptr != pszSatId2)
170 {
171 m_papszIMAGERYMD = CSLAddNameValue(
172 m_papszIMAGERYMD, MD_NAME_SATELLITE,
173 CPLSPrintf("%s %s", CPLStripQuotes(pszSatId1).c_str(),
174 CPLStripQuotes(pszSatId2).c_str()));
175 }
176 else if (nullptr != pszSatId1 && nullptr == pszSatId2)
177 {
178 m_papszIMAGERYMD = CSLAddNameValue(m_papszIMAGERYMD, MD_NAME_SATELLITE,
179 CPLStripQuotes(pszSatId1));
180 }
181 else if (nullptr == pszSatId1 && nullptr != pszSatId2)
182 {
183 m_papszIMAGERYMD = CSLAddNameValue(m_papszIMAGERYMD, MD_NAME_SATELLITE,
184 CPLStripQuotes(pszSatId2));
185 }
186
187 const char *pszCloudCover = CSLFetchNameValue(m_papszIMDMD, "overall_cc");
188 if (nullptr != pszCloudCover)
189 {
190 int nCC = atoi(pszCloudCover);
191 if (nCC > 100 || nCC < 0)
192 {
193 m_papszIMAGERYMD = CSLAddNameValue(
194 m_papszIMAGERYMD, MD_NAME_CLOUDCOVER, MD_CLOUDCOVER_NA);
195 }
196 else
197 {
198 m_papszIMAGERYMD = CSLAddNameValue(
199 m_papszIMAGERYMD, MD_NAME_CLOUDCOVER, CPLSPrintf("%d", nCC));
200 }
201 }
202
203 const char *pszDate = CSLFetchNameValue(m_papszIMDMD, "sweep_start_utc");
204 if (nullptr != pszDate)

Callers

nothing calls this directly

Calls 8

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

Tested by

no test coverage detected