[英]Raster image not working beyond 180 in leaflet for R
我正在尝试在传单中为新西兰绘制栅格,但出现了一些问题。 我发现多边形和点/标记按预期绘制:
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)
虽然我可以旋转栅格并进行绘制,但它会拆分栅格并在0处将超过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(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
是必不可少的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.