<div dir="auto"><div style="margin:0px;padding:0px;border:0px;font-size:15px;line-height:inherit;font-family:"segoe ui westeuropean","segoe ui",helvetica,arial,sans-serif;vertical-align:baseline;color:rgb(33,33,33);background-color:rgb(255,255,255)" dir="auto">Hi there!<br></div><div style="margin:0px;padding:0px;border:0px;font-size:15px;line-height:inherit;font-family:"segoe ui westeuropean","segoe ui",helvetica,arial,sans-serif;vertical-align:baseline;color:rgb(33,33,33);background-color:rgb(255,255,255)" dir="auto"><div style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"><p style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"><span style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"> </span></p><p style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"><span style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline">First of all, thank you for your incredible work. I am a newbie in GDAL (mainly through Rasterio actually) and, well, I am astonished about how useful it is.</span></p><p style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"><span style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"> </span></p><p style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"><span style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline">I am processing Sentinel-2 L1C images in compact safe format. In order to convert from TOA reflectance to surface reflectance, I need to access to the zenith and azimuth viewing angles. This data may be read from the MTD_TL.xml file (for example, in the test file <a href="https://github.com/OSGeo/gdal/blob/master/autotest/gdrivers/data/fake_sentinel2_l1c_safecompact/S2A_MSIL1C_test.SAFE/GRANULE/FOO/MTD_TL.xml" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline">https://github.com/OSGeo/gdal/blob/master/autotest/gdrivers/data/fake_sentinel2_l1c_safecompact/S2A_MSIL1C_test.SAFE/GRANULE/FOO/MTD_TL.xml</a> it is under the node “<span style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline">Mean_Viewing_Incidence_Angle”).</span></span></p><p style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"><span style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"><span style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"> </span></span></p><p style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"><span style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"><span style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline">I have tried to access through the xml:SENTINEL2 metadata (see <a href="https://gdal.org/drivers/raster/sentinel2.html#metadata" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline">https://gdal.org/drivers/raster/sentinel2.html#metadata</a>) but I get the global metadata file (in the test <a href="https://github.com/OSGeo/gdal/blob/master/autotest/gdrivers/data/fake_sentinel2_l1c_safecompact/S2A_MSIL1C_test.SAFE/MTD_MSIL1C.xml" style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline">https://github.com/OSGeo/gdal/blob/master/autotest/gdrivers/data/fake_sentinel2_l1c_safecompact/S2A_MSIL1C_test.SAFE/MTD_MSIL1C.xml</a>). I cannot get it either reading from the xml:VRT metadata domain. I have also tried to read it from the subdatasets, but the values do not appear either.</span></span></p><p style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"><span style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"><span style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"> </span></span></p><p style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"><span style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"><span style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline">I have two questions:</span></span></p><p style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"><span style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"><span style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"></span></span></p><p style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"><span style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"><span style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline">1)<span style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:7pt;line-height:inherit;font-family:'times new roman';vertical-align:baseline">     </span></span></span><span style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline">Are these values already available, and it is my fault not being able to read them?</span></p><p style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"><span style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"><span style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline">2)<span style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-size:7pt;line-height:inherit;font-family:'times new roman';vertical-align:baseline">     </span></span></span><span style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline">If these values are not available, I am thinking in just parsing the XML. Even if these values are available, eventually I will need to read some data not available as tags. However, GDAL transparently manages lots of things through the virtual file systems (I am interested in S3 buckets). I am wondering if there is any GDAL’s API for reading any file as a plain text file.</span></p><p style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"><span style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"> </span></p><p style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"><span style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline">Looking forward to hearing from you.</span></p><p style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"><span style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"> </span></p><p style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"><span style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline">Thank you very much</span></p><p style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"><span style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"> </span></p><p style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline"><span style="margin:0px;padding:0px;border:0px;font:inherit;vertical-align:baseline">Luis Herrero</span></p></div></div></div>