def __init__(self,input_raster,data_type=np.uint16,band_selection=0,projection=None): self.input_raster = input_raster self.band_list = read_image(input_raster, data_type, band_selection) self.rows, self.cols, self.nbands, self.geo_transform, self.projection = read_image_parameters(input_raster) if projection and self._parser_projection != projection: self.__change_projection(projection) self.resolution = abs(self.geo_transform[1])
def __init__(self,first_path,*others): self.__raster_ref = RasterArray(first_path) self.__rasters = [RasterArray(path,projection=self.__raster_ref._parser_projection) for path in others] self.__rasters.append(RasterArray(first_path)) self.band_list = self.__band_list() self.resolution = self.__raster_ref.resolution self.rows, self.cols, self.nbands, self.geo_transform, self.projection = read_image_parameters(self.tmpfile)
def __change_projection(self,projection_ref): tmpfile = tempfile.NamedTemporaryFile().name os.system("gdalwarp -overwrite -t_srs {} {} {}".format(projection_ref,self.input_raster,tmpfile)) shutil.move(tmpfile, self.input_raster) self.rows, self.cols, self.nbands, self.geo_transform, self.projection = read_image_parameters(self.input_raster)