sp (version 1.4-7)

Spatial-class: Class "Spatial"


An abstract class from which useful spatial classes are derived


Spatial(bbox, proj4string = CRS(as.character(NA)))
# S3 method for Spatial
subset(x, subset, select, drop = FALSE, …)

Objects from the Class

are never to be generated; only derived classes can be meaningful



Object of class "matrix"; 2-column matrix holding the minimum in first and maximum in second column for the x-coordinate (first row), y-coordinate (second row) and optionally, for points and grids only, further coordinates. The constructed Spatial object will be invalid if any bbox values are NA or infinite. The column names must be c("min", "max")


Object of class "CRS". The name of this slot was chosen to reflect the use of Proj.4 strings to represent coordinate reference systems (CRS). The slot name will continue to be used, but as PROJ >= 6 and GDAL >= 3 are taken into use for reading files and for projection and transformation, the Proj.4 string CRS representation is being supplemented by a WKT2 (2019) representation. The reason for the modification is that important keys in the Proj.4 string representation are being deprecated in PROJ >= 6 and GDAL >= 3. Legacy "CRS" objects hold only a valid Proj.4 string, which can be used for unprojecting or reprojecting coordinates; it is initialised to NA. If the "CRS" object is instantiated using CRS() with rgdal using PROJ >= 6 and GDAL >= 3, the object may also have a WKT2 (2019) string carried as a comment. Non-NA strings may be checked for validity in the rgdal package, but attempts to assign a string containing "longlat" to data extending beyond longitude [-180, 360] or lattitude [-90, 90] will be stopped or warned, use set_ll_warn to warn rather than stop, and set_ll_TOL to change the default tolerance for the range exceedance tests.



signature(obj = "Spatial"): retrieves the bbox element


signature(obj = "Spatial"): retrieves the number of spatial dimensions spanned


signature(obj = "Spatial"): logical, tells whether the data is on a regular spatial grid


signature(x = "Spatial", y = "missing"): plot method for spatial objects; does nothing but setting up a plotting region choosing a suitable aspect if not given(see below), colouring the plot background using either a bg= argument or par("bg"), and possibly drawing axes.


signature(object = "Spatial"): summarize object


retrieves attribute column


sets or replaces attribute column, or promote a geometry-only object to an object having an attribute


rebuild a CRS object, usually used to add a WKT comment with PROJ >= 6 and GDAL >= 3

plot method arguments

The plot method for “Spatial” objects takes the following arguments:


object of class Spatial


default NULL; the x limits (x1, x2) of the plot


default NULL; the y limits of the plot


default NA; the y/x aspect ratio


default FALSE; a logical value indicating whether both axes should be drawn


default par("bg"); colour to be used for the background of the device region


The style of axis interval calculation to be used for the x-axis


The style of axis interval calculation to be used for the y-axis


A numerical vector of the form c(x, y, len) which modifies the default way that axes are annotated


default FALSE; set the par “usr” bounding box; see below


object of class ggmap, or returned by function RgoogleMaps::GetMap


numeric; factor to expand the plotting region default: bbox(x) with on each side (1=below, 2=left, 3=above and 4=right); defaults to c(0,0,0,0); setting xlim or ylim overrides this.


passed through


this class is not useful in itself, but all spatial classes in this package derive from it

See Also

SpatialPoints-class, SpatialGrid-class, SpatialPointsDataFrame-class, SpatialGridDataFrame-class


Run this code
o <- new("Spatial")
proj4string(o) <- CRS("+init=epsg:27700")
if (!is.null(comment(slot(o, "proj4string")))) {
  cat(strsplit(wkt(o), "\n")[[1]], sep="\n")
  cat(strsplit(wkt(slot(o, "proj4string")), "\n")[[1]], sep="\n")
# }

Run the code above in your browser using DataCamp Workspace