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

Method LoadMetadata

gcore/mdreader/reader_kompsat.cpp:82–160  ·  view source on GitHub ↗

* LoadMetadata() */

Source from the content-addressed store, hash-verified

80 * LoadMetadata()
81 */
82void GDALMDReaderKompsat::LoadMetadata()
83{
84 if (m_bIsMetadataLoad)
85 return;
86
87 if (!m_osIMDSourceFilename.empty())
88 {
89 m_papszIMDMD = ReadTxtToList();
90 }
91
92 if (!m_osRPBSourceFilename.empty())
93 {
94 m_papszRPCMD = GDALLoadRPCFile(m_osRPBSourceFilename);
95 }
96
97 m_papszDEFAULTMD =
98 CSLAddNameValue(m_papszDEFAULTMD, MD_NAME_MDTYPE, "KARI");
99
100 m_bIsMetadataLoad = true;
101
102 const char *pszSatId1 =
103 CSLFetchNameValue(m_papszIMDMD, "AUX_SATELLITE_NAME");
104 const char *pszSatId2 =
105 CSLFetchNameValue(m_papszIMDMD, "AUX_SATELLITE_SENSOR");
106 if (nullptr != pszSatId1 && nullptr != pszSatId2)
107 {
108 m_papszIMAGERYMD = CSLAddNameValue(
109 m_papszIMAGERYMD, MD_NAME_SATELLITE,
110 CPLSPrintf("%s %s", CPLStripQuotes(pszSatId1).c_str(),
111 CPLStripQuotes(pszSatId2).c_str()));
112 }
113 else if (nullptr != pszSatId1 && nullptr == pszSatId2)
114 {
115 m_papszIMAGERYMD = CSLAddNameValue(m_papszIMAGERYMD, MD_NAME_SATELLITE,
116 CPLStripQuotes(pszSatId1));
117 }
118 else if (nullptr == pszSatId1 && nullptr != pszSatId2)
119 {
120 m_papszIMAGERYMD = CSLAddNameValue(m_papszIMAGERYMD, MD_NAME_SATELLITE,
121 CPLStripQuotes(pszSatId2));
122 }
123
124 const char *pszCloudCover =
125 CSLFetchNameValue(m_papszIMDMD, "AUX_CLOUD_STATUS");
126 if (nullptr != pszCloudCover)
127 {
128 int nCC = atoi(pszCloudCover);
129 if (nCC > 100 || nCC < 0)
130 {
131 m_papszIMAGERYMD = CSLAddNameValue(
132 m_papszIMAGERYMD, MD_NAME_CLOUDCOVER, MD_CLOUDCOVER_NA);
133 }
134 else
135 {
136 m_papszIMAGERYMD = CSLAddNameValue(
137 m_papszIMAGERYMD, MD_NAME_CLOUDCOVER, CPLSPrintf("%d", nCC));
138 }
139 }

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