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

Method LoadMetadata

gcore/mdreader/reader_orb_view.cpp:98–152  ·  view source on GitHub ↗

* LoadMetadata() */

Source from the content-addressed store, hash-verified

96 * LoadMetadata()
97 */
98void GDALMDReaderOrbView::LoadMetadata()
99{
100 if (m_bIsMetadataLoad)
101 return;
102
103 if (!m_osIMDSourceFilename.empty())
104 {
105 m_papszIMDMD = GDALLoadIMDFile(m_osIMDSourceFilename);
106 }
107
108 if (!m_osRPBSourceFilename.empty())
109 {
110 m_papszRPCMD = GDALLoadRPCFile(m_osRPBSourceFilename);
111 }
112
113 m_papszDEFAULTMD = CSLAddNameValue(m_papszDEFAULTMD, MD_NAME_MDTYPE, "OV");
114
115 m_bIsMetadataLoad = true;
116
117 if (nullptr == m_papszIMDMD)
118 {
119 return;
120 }
121
122 // extract imagery metadata
123 const char *pszSatId =
124 CSLFetchNameValue(m_papszIMDMD, "sensorInfo.satelliteName");
125 if (nullptr != pszSatId)
126 {
127 m_papszIMAGERYMD = CSLAddNameValue(m_papszIMAGERYMD, MD_NAME_SATELLITE,
128 CPLStripQuotes(pszSatId));
129 }
130
131 const char *pszCloudCover = CSLFetchNameValue(
132 m_papszIMDMD, "productInfo.productCloudCoverPercentage");
133 if (nullptr != pszCloudCover)
134 {
135 m_papszIMAGERYMD = CSLAddNameValue(m_papszIMAGERYMD, MD_NAME_CLOUDCOVER,
136 pszCloudCover);
137 }
138
139 const char *pszDateTime = CSLFetchNameValue(
140 m_papszIMDMD, "inputImageInfo.firstLineAcquisitionDateTime");
141
142 if (nullptr != pszDateTime)
143 {
144 char buffer[80];
145 GIntBig timeMid = GetAcquisitionTimeFromString(pszDateTime);
146 struct tm tmBuf;
147 strftime(buffer, 80, MD_DATETIMEFORMAT,
148 CPLUnixTimeToYMDHMS(timeMid, &tmBuf));
149 m_papszIMAGERYMD =
150 CSLAddNameValue(m_papszIMAGERYMD, MD_NAME_ACQDATETIME, buffer);
151 }
152}

Callers

nothing calls this directly

Calls 7

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

Tested by

no test coverage detected