Hello, I have this process to convert a URL to a MEM dataset. It's not the target data but it's representative, a netcdf with band-level and dataset-level metadata. We can clear the dataset level with COPY_SRC_MDD, but I can't see how to do that for the band level. We're hoping to keep this without generating files, the final step uses VSI to read into a byte array.
Can I clear the band metadata without an intermediate dataset? Opening in update mode breaks the COG layout (or is that ok to do this with IGNORE_COG_LAYOUT_BREAK=YES ?). from osgeo import gdal gdal.UseExceptions() dsn = "vrt:///vsicurl/ https://www.ncei.noaa.gov/data/sea-surface-temperature-optimum-interpolation/v2.1/access/avhrr/202405/oisst-avhrr-v02r01.20240511.nc?sd_name=sst " opts = gdal.TranslateOptions(format = "COG", creationOptions = [ "COMPRESS=ZSTD", "PREDICTOR=STANDARD", "RESAMPLING=AVERAGE", "SPARSE_OK=YES", "COPY_SRC_MDD=NO"]) ds = gdal.Open(dsn) tmp = "/vsimem/tmp1.tif" ## here we lose the dataset-level metadata as desired with COPY_SRC_MDD gdal.Translate(tmp, ds, options = opts) ## but the band metadata is still there lds = gdal.Open(tmp) #{'add_offset': '0', 'long_name': 'Daily sea surface temperature', 'NETCDF_DIM_time': '16932', 'NETCDF_DIM_zlev': '0', 'NETCDF_VARNAME': 'sst', 'scale_factor': '0.0099999998', 'units': 'Celsius', 'valid_max': '4500', 'valid_min': '-300', '_FillValue': '-999'} lds.Close() ds.Close() I guess I need to open and translate to another COG dataset after breaking the COG layout? ## now open in rw, to zap band level md (but breaks COG layout) #lds = gdal.OpenEx(tmp, gdal.GA_Update, open_options = ["IGNORE_COG_LAYOUT_BREAK=YES"]) #lds.GetRasterBand(1).SetMetadata({}) #lds.Close() #Warning 1: tmp1.tif: The IFD has been rewritten at the end of the file, which breaks COG layout. ds = gdal.Open(tmp) #Warning 1: tmp1.tif: This file used to have optimizations in its layout, but those have been, at least partly, invalidated by later changes Cheers, Mike -- Michael Sumner Research Software Engineer Australian Antarctic Division Hobart, Australia e-mail: mdsum...@gmail.com
_______________________________________________ gdal-dev mailing list gdal-dev@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/gdal-dev