Skip to contents

Creates either a CRS object or an inla.CRS object, describing a coordinate reference system



# S3 method for crs
fm_CRS(x, ...)

# S3 method for fm_crs
fm_CRS(x, ...)

# S3 method for Spatial
fm_CRS(x, ...)

# S3 method for inla.CRS
fm_CRS(x, ..., crsonly = FALSE)

# S3 method for sf
fm_CRS(x, ..., crsonly = FALSE)

# S3 method for sfc
fm_CRS(x, ..., crsonly = FALSE)

# S3 method for sfg
fm_CRS(x, ..., crsonly = FALSE)

# S3 method for inla.mesh
fm_CRS(x, ..., crsonly = FALSE)

# S3 method for inla.mesh.lattice
fm_CRS(x, ..., crsonly = FALSE)

# S3 method for inla.mesh.segment
fm_CRS(x, ..., crsonly = FALSE)

# S3 method for CRS
fm_CRS(x, oblique = NULL, ...)

# S3 method for default
  projargs = NULL,
  doCheckCRSArgs = NULL,
  args = NULL,
  oblique = NULL,
  SRS_string = NULL,



Additional parameters. Not currently in use.


Object to convert to CRS or to extract CRS information from.


logical; if TRUE, remove any obliqueinformation forinla.CRSclass objects and return a pureCRSclass object. Default:FALSE`.


Vector of length at most 4 of rotation angles (in degrees) for an oblique projection, all values defaulting to zero. The values indicate (longitude, latitude, orientation, orbit), as explained in the Details section below.


Either 1) a projection argument string suitable as input to sp::CRS, or 2) an existing CRS object, or 3) a shortcut reference string to a predefined projection; run names(fm_wkt_predef()) for valid predefined projections.




An optional list of name/value pairs to add to and/or override the PROJ4 arguments in projargs. name=value is converted to "+name=value", and name=NA is converted to "+name".


a WKT2 string defining the coordinate system; see sp::CRS. This takes precedence over projargs.


Either an sp::CRS object or an inla.CRS object, depending on if the coordinate reference system described by the parameters can be expressed with a pure sp::CRS object or not.

An S3 inla.CRS object is a list, usually (but not necessarily) containing at least one element:


The basic sp::CRS object


The first two elements of the oblique vector are the (longitude, latitude) coordinates for the oblique centre point. The third value (orientation) is a counterclockwise rotation angle for an observer looking at the centre point from outside the sphere. The fourth value is the quasi-longitude (orbit angle) for a rotation along the oblique observers equator.

Simple oblique: oblique=c(0, 45)

Polar: oblique=c(0, 90)

Quasi-transversal: oblique=c(0, 0, 90)

Satellite orbit viewpoint: oblique=c(lon0-time*v1, 0, orbitangle, orbit0+time*v2), where lon0 is the longitude at which a satellite orbit crosses the equator at time=0, when the satellite is at an angle orbit0 further along in its orbit. The orbital angle relative to the equatorial plane is orbitangle, and v1 and v2 are the angular velocities of the planet and the satellite, respectively. Note that "forward" from the satellite's point of view is "to the right" in the projection.

When oblique[2] or oblique[3] are non-zero, the resulting projection is only correct for perfect spheres.


Finn Lindgren


crs1 <- fm_CRS("longlat_globe")
crs2 <- fm_CRS("lambert_globe")
crs3 <- fm_CRS("mollweide_norm")
crs4 <- fm_CRS("hammer_globe")
crs5 <- fm_CRS("sphere")
crs6 <- fm_CRS("globe")