在R中绘制全局投影光栅

在R中绘制全局投影光栅,r,plot,r-raster,proj,R,Plot,R Raster,Proj,我正试图绘制一个全球(lon:-180-180;lat-90-90)光栅,以相等的地球投影(没关系,可以是Winkel Tripel或Robinson),但边界在两侧重复(见图)。我怎样才能避免这种情况 并给出一个只适用于Mollweide绘图的答案,但不适用于其他投影 这里有一个可复制的例子 library(maptools) library(raster) data("wrld_simpl") r <- raster(ncol=180, nrow=90) r &l

我正试图绘制一个全球(lon:-180-180;lat-90-90)光栅,以相等的地球投影(没关系,可以是Winkel Tripel或Robinson),但边界在两侧重复(见图)。我怎样才能避免这种情况

并给出一个只适用于Mollweide绘图的答案,但不适用于其他投影

这里有一个可复制的例子

library(maptools)
library(raster)
data("wrld_simpl")
r <- raster(ncol=180, nrow=90) 
r <- rasterize(wrld_simpl, r, field="UN") 
world_ext = projectExtent(wrld_simpl, crs = '+proj=longlat +datum=WGS84 +no_defs ')
r <- crop(x = r, y = world_ext, snap= 'in')
r <- projectRaster(r, crs = crs("+proj=wintri"), over = T)
plot(r)
库(maptools)
图书馆(光栅)
数据(“wrld_siml”)

r您可以使用
terra::project
中的
mask=TRUE
参数进行此操作

library(maptools)
library(terra)
data("wrld_simpl")
w <- vect(wrld_simpl)
r <- rast(ncol=180, nrow=90) 
r <- rasterize(w, r, field="UN") 
x <- project(r, "+proj=wintri", mask=TRUE)
库(maptools)
图书馆(terra)
数据(“wrld_siml”)
W