\HeaderA{GDALMajorObject-class}{Class "GDALMajorObject"}{GDALMajorObject.Rdash.class}
\aliasA{appendMetadata}{GDALMajorObject-class}{appendMetadata}
\aliasA{getDescription}{GDALMajorObject-class}{getDescription}
\aliasA{getMetadata}{GDALMajorObject-class}{getMetadata}
\aliasA{setMetadata}{GDALMajorObject-class}{setMetadata}
\keyword{classes}{GDALMajorObject-class}
\begin{Description}\relax
"GDALMajorObject" is a virtual base class for all GDAL objects.
\end{Description}
\begin{Usage}
\begin{verbatim}
getDescription(object)

getMetadata(object, domain = "")

setMetadata(object, metadata)

appendMetadata(object, metadata)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{object}] an object inheriting from "GDALMajorObject"
\item[\code{domain}] the metadata domain (currently ignored)
\item[\code{metadata}] a list of character strings
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
\describe{
\item[\code{getDescription}:] returns a descrption string associated
with the object. No setter method is defined because GDAL dataset
objects use the description to hold the filename attached to the
dataset. It would not be good to change that mid-stream.

\item[\code{getMetadata}:] returns a list of metadata strings. Keys
are returned as item names in the list.

\item[\code{setMetadata}:] sets the metadata to the supplied list of
strings. List item names will be used to generate metadata key
names. 
}
\end{Details}
\begin{Section}{Objects from the Class}
Objects can be created by calls of the form \code{new("GDALMajorObject", ...)}, but are only created for classes that extend this class.
\end{Section}
\begin{Section}{Slots}
\describe{
\item[\code{handle}:] Object of class \code{"externalptr"}, used internally; not for public consumption
}
\end{Section}
\begin{Section}{Methods}
No methods defined with class "GDALMajorObject" in the signature.
\end{Section}
\begin{Author}\relax
Timothy H. Keitt, modified by Roger Bivand
\end{Author}
\begin{References}\relax
\url{http://keittlab.bio.sunysb.edu/R/GDAL/}, \url{http://www.remotesensing.org/gdal/}
\end{References}
\begin{SeeAlso}\relax
\code{\LinkA{GDALDriver-class}{GDALDriver.Rdash.class}},
\code{\LinkA{GDALReadOnlyDataset-class}{GDALReadOnlyDataset.Rdash.class}}, \code{\LinkA{GDALDataset-class}{GDALDataset.Rdash.class}} and
\code{\LinkA{GDALTransientDataset-class}{GDALTransientDataset.Rdash.class}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}

driver <- new('GDALDriver', getGDALDriverNames()[1])
setMetadata(driver, list(Key = 'Test metadata'))
getMetadata(driver)
rm(driver)
logo <- system.file("pictures/logo.jpg", package="rgdal")[1]
x <- new("GDALReadOnlyDataset", logo)
getDescription(x)
getMetadata(x)
dim(x)
GDAL.close(x)

\end{ExampleCode}
\end{Examples}

