def get_MNDWI_as_array(self): nodataValue = self.green.GetRasterBand(1).GetNoDataValue() GREEN = self.green.GetRasterBand(1).ReadAsArray().astype('float') MIR = self.mir.GetRasterBand(1).ReadAsArray().astype('float') a = GREEN - MIR b = GREEN + MIR MNDWI_array = np.divide(a, b) MNDWI_array[GREEN == nodataValue] = np.nan return percentile_to_range(MNDWI_array)
def get_NDWI_as_array(self): nodataValue = self.nir.GetRasterBand(1).GetNoDataValue() GREEN = self.green.GetRasterBand(1).ReadAsArray().astype('float') NIR = self.nir.GetRasterBand(1).ReadAsArray().astype('float') a = GREEN - NIR b = GREEN + NIR NDWI_array = np.divide(a, b) NDWI_array[NIR == nodataValue] = np.nan GREEN = None NIR = None a = None b = None return percentile_to_range(NDWI_array)
def get_NDVI_as_array(self): nodataValue = self.nir.GetRasterBand(1).GetNoDataValue() RED = self.red.GetRasterBand(1).ReadAsArray().astype('float') NIR = self.nir.GetRasterBand(1).ReadAsArray().astype('float') a = NIR - RED b = RED + NIR NDVI_array = np.divide(a, b) NDVI_array[NIR == nodataValue] = np.nan RED = None NIR = None a = None b = None return percentile_to_range(NDVI_array)
def get_WRI_as_array(self): nodataValue = self.nir.GetRasterBand(1).GetNoDataValue() GREEN = self.green.GetRasterBand(1).ReadAsArray().astype('float') RED = self.red.GetRasterBand(1).ReadAsArray().astype('float') NIR = self.nir.GetRasterBand(1).ReadAsArray().astype('float') MIR = self.mir.GetRasterBand(1).ReadAsArray().astype('float') a = GREEN + RED GREEN = None RED = None b = NIR + MIR NIR = None MIR = None WRI_array = np.divide(a, b) WRI_array[NIR == nodataValue] = np.nan a = None b = None return percentile_to_range(WRI_array)
def get_AWEI_as_array(self): nodataValue = self.nir.GetRasterBand(1).GetNoDataValue() GREEN = self.green.GetRasterBand(1).ReadAsArray().astype('float') MIR = self.mir.GetRasterBand(1).ReadAsArray().astype('float') NIR = self.nir.GetRasterBand(1).ReadAsArray().astype('float') SWIR = self.swir.GetRasterBand(1).ReadAsArray().astype('float') a = GREEN - MIR GREEN = None MIR = None b = NIR * 0.25 NIR = None c = SWIR * 2.75 SWIR = None d = b + c e = a * 4 AWEI_array = e - d AWEI_array[NIR == nodataValue] = np.nan a = None b = None c = None d = None e = None return percentile_to_range(AWEI_array)