Learn R Programming

mapmisc (version 2.1.0)

omerc: Oblique Mercator, Cylindrical, and Mollweide projections

Description

Defines an appropriate Oblique Mercator, Oblique Cylindrical Equal Area, and Mollweide projections for a supplied Spatial object

Usage

omerc(x, angle,  
	post=c('none', 'north', 'wide','tall'),
    preserve=NULL, ellipse=TRUE) 
    ocea(x, angle, flip=FALSE)
    moll(x=0, angle=NULL, flip=FALSE)

Value

An object of class crs.

Arguments

x

A SpatVector object or a vector of length 2 giving the centroid of the projection.

angle

angle of rotation or vector of angles

post

post-projection angle rotation

flip

post-projection flipping of coordinates

preserve

A SpatVector object, the resulting projection is scaled so as to preserve the distances between these points as best as possible.

ellipse

compute projection region and areas to crop when projecting.

Details

With omerc, an Oblique Mercator map projection is produced which warps the world onto a cylinder, with the north-south axis rotated by the specified angle. If angle is a vector, the optimal angle for reducing the size of the bounding box is returned.

If post = 'north', an inverse rotation will preserve the north direction at the origin.

If post = 'wide', an inverse rotation makes the smallest possible bounding box which is wider than tall.

If post = 'tall', the bounding box is taller than it is wide

If post is numeric, it specifies an angle for inverse rotation.

ocea produces an Oblique Cylindrical Equal Area projection and moll a Mollweide projections

References

https://en.wikipedia.org/w/index.php?title=Space-oblique_Mercator_projection

See Also

Examples

Run this code

data('worldMap')
worldMap = terra::unwrap(worldMap)


myProj = omerc(c(-100,-70), angle=-45)
crs(myProj, proj=TRUE)

plot(project(worldMap, crsLL))
plot(attributes(myProj)$crop, col='red', add=TRUE)



Run the code above in your browser using DataLab