def __init__(self, filename, gdalDataset, gdalMetadata, wavelengths=[ None, 413, 443, 490, 510, 560, 620, 665, 681, 709, 753, None, 778, 864 ], **kwargs): fPathName, fExt = os.path.splitext(filename) fPath, fName = os.path.split(fPathName) if fExt != '.nc' or 'MER_' not in fName or 'N1_C2IOP' not in fName: raise WrongMapperError # get all metadata using the GENERIC Mapper mg.Mapper.__init__(self, filename, gdalDataset, gdalMetadata) #add metadata for Rrs bands rrsDict = pti.get_wkv_variable( 'surface_ratio_of_upwelling_radiance_emerging_from_sea_water_to_downwelling_radiative_flux_in_air' ) for bi in range(1, 1 + self.dataset.RasterCount): b = self.dataset.GetRasterBand(bi) bMetadata = b.GetMetadata() rawName = bMetadata.get('name', '') if 'reflec_' in rawName: refNumber = int(rawName.split('_')[1]) wavelength = wavelengths[refNumber] b.SetMetadataItem('name', 'Rrs_' + str(wavelength)) b.SetMetadataItem('wavelength', str(wavelength)) for rrsKey in rrsDict: b.SetMetadata(rrsKey, rrsDict[rrsKey]) src = [{ 'SourceFilename': b.GetMetadataItem('SourceFilename'), 'SourceBand': b.GetMetadataItem('SourceBand'), 'DataType': 6 }] dst = { 'wkv': 'surface_ratio_of_upwelling_radiance_emerging_from_sea_water_to_downwelling_radiative_flux_in_water', 'suffix': str(wavelength), 'wavelength': str(wavelength), 'PixelFunctionType': 'NormReflectanceToRemSensReflectance' } self.create_band(src, dst) self.dataset.FlushCache()
def get_cf_or_wkv_standard_name(keyword): """return the values of a dataset parameter in a standard way from the standards that are defined in the pti package based on the keyword that has been passed to it. For example, it returns something like: 'standard_name':'sea_ice_area_fraction' 'canonical_units':'1' 'description':"X_area_fraction" as the result_values. """ try: result_values = pti.get_cf_standard_name(keyword) except IndexError: result_values = pti.get_wkv_variable(keyword) return result_values
def __init__(self, fileName, gdalDataset, gdalMetadata, wavelengths=[None, 413, 443, 490, 510, 560, 620, 665, 681, 709, 753, None, 778, 864], **kwargs): fPathName, fExt = os.path.splitext(fileName) fPath, fName = os.path.split(fPathName) if fExt != '.nc' or 'MER_' not in fName or 'N1_C2IOP' not in fName: raise WrongMapperError # get all metadata using the GENERIC Mapper mg.Mapper.__init__(self, fileName, gdalDataset, gdalMetadata) #add metadata for Rrs bands rrsDict = pti.get_wkv_variable('surface_ratio_of_upwelling_radiance_emerging_from_sea_water_to_downwelling_radiative_flux_in_air') for bi in range(1, 1+self.dataset.RasterCount): b = self.dataset.GetRasterBand(bi) bMetadata = b.GetMetadata() rawName = bMetadata.get('name', '') if 'reflec_' in rawName: refNumber = int(rawName.split('_')[1]) wavelength = wavelengths[refNumber] b.SetMetadataItem('name', 'Rrs_' + str(wavelength)) b.SetMetadataItem('wavelength', str(wavelength)) for rrsKey in rrsDict: b.SetMetadata(rrsKey, rrsDict[rrsKey]) src = [{ 'SourceFilename': b.GetMetadataItem('SourceFilename'), 'SourceBand': b.GetMetadataItem('SourceBand'), 'DataType': 6}] dst = { 'wkv': 'surface_ratio_of_upwelling_radiance_emerging_from_sea_water_to_downwelling_radiative_flux_in_water', 'suffix': str(wavelength), 'wavelength': str(wavelength), 'PixelFunctionType': 'NormReflectanceToRemSensReflectance'} self._create_band(src, dst) self.dataset.FlushCache()
def get_dataset_parameters(self, raw_metadata): return [pti.get_wkv_variable('sea_surface_height_above_sea_level')]
def test_get_wkv_latitude(self): item = 'latitude' self.assertIsInstance(pti.get_wkv_variable(item), collections.OrderedDict)
def test_get_wkv_variable(self): item = 'surface_backwards_doppler_frequency_shift_of_radar_wave_due_to_surface_velocity' self.assertIsInstance(pti.get_wkv_variable(item), collections.OrderedDict)
def get_dataset_parameters(self, raw_metadata): return [ pti.get_wkv_variable( 'surface_backwards_scattering_coefficient_of_radar_wave') ]