| rotate {terra} | R Documentation |
Rotate a SpatRaster that has longitude coordinates from 0 to 360, to standard coordinates between -180 and 180 degrees (or vice-versa). Longitude between 0 and 360 is frequently used in global climate models.
Rotate a SpatVector as for a SpatRaster split=TRUE, or to correct for coordinates that are connected across the date line (and end up at the "other side" of the longitude scale) are reconnected.
## S4 method for signature 'SpatRaster' rotate(x, left=TRUE, filename="", ...) ## S4 method for signature 'SpatVector' rotate(x, longitude=0, split=FALSE, left=TRUE, normalize=FALSE)
x |
SpatRaster or SpatVector |
left |
logical. If |
filename |
character. Output filename |
... |
additional arguments for writing files as in |
longitude |
numeric. The longitude around which to rotate |
split |
logical. Should geometries be split at |
normalize |
logical. Should the output be normalized to longitudes between -180 and 180? See |
SpatRaster
x <- rast(nrows=9, ncols=18, nl=3, xmin=0, xmax=360) v <- rep(as.vector(t(matrix(1:ncell(x), nrow=9, ncol=18))), 3) values(x) <- v z <- rotate(x) #SpatVector p <- rbind(c(3847903, 1983584 ), c(3847903, 5801864), c(8301883, 5801864), c(8301883, 1983584 )) p <- vect(p, "polygons", crs="+init=EPSG:3347") d <- densify(p, 100000) g <- project(d, "+proj=longlat") x <- rotate(g, 50) plot(g) lines(x, col="red") ## rotate countries to 0-360 longitude #w <- geodata::world(path=".") #x <- rotate(w, long=0, split=TRUE, left=FALSE)