光栅图像在 R 的传单中不能超过 180

Raster image not working beyond 180 in leaflet for R

我试图在传单中绘制新西兰的光栅图,但我遇到了一些问题。我发现多边形和 points/markers 按预期绘制:

library(raster)
library(leaflet)
library(dplyr)
library(sp)

p1 <- SpatialPolygons(list(Polygons(list(Polygon(cbind(x = c(165, 165, 185, 185, 165), y = c(-50, -31, -31, -50, -50)))), 1)), proj4string=CRS("+init=epsg:4326"))
p2 <- data.frame(lng = runif(100, 165, 185), lat = runif(100, -50, -31))

leaflet() %>% 
    addTiles() %>% 
    addPolygons(data = p1) %>% 
    addMarkers(lat = p2$lat, lng = p2$lng)

最大经度为 180 的栅格将绘制得很好:

r <- raster(xmn = 165, xmx = 180, ymn = -50, ymx = -31, crs = "+init=epsg:4326", nrows = 50, ncols = 50)
r[] <- rnorm(ncell(r))
leaflet() %>% addTiles() %>% addRasterImage(r, opacity = 0.5)

但是经度超过 180 且覆盖整个新西兰的栅格无法正确绘制:

r <- raster(xmn = 165, xmx = 185, ymn = -50, ymx = -31, crs = "+init=epsg:4326", nrows = 50, ncols = 50)
r[] <- rnorm(ncell(r))
leaflet() %>% addTiles() %>% addRasterImage(r, opacity = 0.5)

虽然我可以旋转光栅并绘制它,但它会拆分光栅并将超过 180 度的部分绘制回 0:

r <- raster(xmn = 165, xmx = 185, ymn = -50, ymx = -31, crs = "+init=epsg:4326", nrows = 50, ncols = 50)
r[] <- rnorm(ncell(r))
leaflet() %>% addTiles() %>% addRasterImage(rotate(r), opacity = 0.5)

我想知道是否还有其他人 运行 了解此问题,如果有,如何解决?

最近更新的传单中好像已经整理好了。以下现在按预期工作:

library(raster)
library(leaflet)

r <- raster(xmn = 165, xmx = 185, ymn = -50, ymx = -31, 
            crs = "+init=epsg:4326", nrows = 100, ncols = 100)
r[] <- rnorm(ncell(r))

leaflet() %>% addTiles() %>% addRasterImage(rotate(r), opacity = 0.5)

请注意rotate的使用是必不可少的。