diff --git a/geoarray/baseclasses.py b/geoarray/baseclasses.py index 3cee46ee7303de9f02f426a229314cd43c1c89b1..02fe6471c7f17cda65c189a8df5cf10f4ef26e8b 100644 --- a/geoarray/baseclasses.py +++ b/geoarray/baseclasses.py @@ -516,11 +516,12 @@ class GeoArray(object): return self._metadata @metadata.setter - def metadata(self, GDF): - assert isinstance(GDF, (GeoDataFrame, DataFrame)) and len(GDF.columns) == self.bands, \ - "%s.metadata can only be set with an instance of geopandas.GeoDataFrame of which the column number " \ - "corresponds to the band number of %s." % (self.__class__.__name__, self.__class__.__name__) - self._metadata = GDF + def metadata(self, meta): + if not isinstance(meta, GDAL_Metadata) or meta.bands != self.bands: + raise ValueError("%s.metadata can only be set with an instance of geoarray.metadata.GDAL_Metadata of " + "which the band number corresponds to the band number of %s." + % (self.__class__.__name__, self.__class__.__name__)) + self._metadata = meta meta = alias_property('metadata') diff --git a/geoarray/metadata.py b/geoarray/metadata.py index 8472c15aba22e2836247fd1c0833eb92177c0722..a5503b4c9a6c2651294937d905e539c4e46cc87b 100644 --- a/geoarray/metadata.py +++ b/geoarray/metadata.py @@ -43,18 +43,6 @@ class GDAL_Metadata(object): def from_file(cls, filePath): return GDAL_Metadata(filePath=filePath) - @classmethod - def from_DataFrame(cls, dataframe): - # type: (GeoDataFrame) -> 'GDAL_Metadata' - - if dataframe.empty: - raise ValueError('DataFame must not be empty.') - - GDMD = GDAL_Metadata(nbands=dataframe.shape[1]) - GDMD.df = dataframe - - return GDMD - def to_DataFrame(self): df = GeoDataFrame(columns=range(self.bands))