diff --git a/geoarray/baseclasses.py b/geoarray/baseclasses.py index d812336092065d708c7657a5f4d62252e37e860f..ed7f329cd8679ada0788128e997741989ff2d855 100644 --- a/geoarray/baseclasses.py +++ b/geoarray/baseclasses.py @@ -933,16 +933,19 @@ class GeoArray(object): elif self.metadata.all_meta: # set global domain metadata if self.metadata.global_meta: - ds_out.SetMetadata(self.metadata.global_meta) + ds_out.SetMetadata(dict((k, repr(v)) for k, v in self.metadata.global_meta.items())) if 'description' in envi_metadict: ds_out.SetDescription(envi_metadict['description']) # set band domain metadata + bandmeta_dict = self.metadata.to_DataFrame().astype(str).to_dict() + for bidx in range(self.bands): band = ds_out.GetRasterBand(bidx + 1) - meta2write = dict((k, repr(v)) for k, v in self.metadata.band_meta.items() if v is not np.nan) - band.SetMetadata(meta2write) + bandmeta = bandmeta_dict[bidx] + # meta2write = dict((k, repr(v)) for k, v in self.metadata.band_meta.items() if v is not np.nan) + band.SetMetadata(bandmeta) if 'band_names' in envi_metadict: band.SetDescription(self.metadata.band_meta['band_names'][bidx].strip())