如何始终在 Mapview 的背景中保留特定图层
How to always keep a specific layer in the background in Mapview
我在尝试使用 Simple Features
和 Mapview
可视化多边形时遇到了问题。
我创建了两个矩形,a
和 b
并将它们放在 Mapview
两层上。我的问题是,如果我在 a
之前 select b
,b
矩形将被 a
覆盖并且无法正确显示。
有什么方法可以让 a
始终在后台运行,以便在 selected 时始终显示 b
?
library(mapview)
library(sf)
a<-rbind(c(0,0), c(15, 0), c(15, 5), c(0, 5), c(0, 0))
a_polygon<-st_polygon(list(a))
b<-rbind(c(5,1), c(10, 1), c(10, 4), c(5, 4), c(5, 1))
b_polygon<-st_polygon(list(b))
mapview(list(st_sfc(a_polygon), st_sfc(b_polygon)), col.regions = list('blue', 'yellow'), layer.name =c('a', 'b'))
您可以使用 alpha.regions
参数让图层在某种程度上是透明的。
mapview(a_polygon, col.regions = 'blue', alpha.regions = .6) +
mapview(b_polygon, col.regions = 'yellow', alpha.regions = .6)
alpha.regions
可以设置为从 0(不可见)到 1(不透明)。这是先选择 'b',然后选择 'a' 和 alpha 的样子对于两者都在 .6:
您可以直接使用 leaflet
,而不是使用 mapview
,它是 leaflet
的 API
。
leaflet
允许添加 Panes
to control layers order:
leaflet() %>% addMapPane("background", zIndex = 400) %>%
addMapPane("foreground", zIndex = 500) %>%
addPolygons(data = a_polygon,
group="a",
color ='blue',
fillOpacity= 1,
options = pathOptions(pane = "background")) %>%
addPolygons(data = b_polygon,
group="b",
color='yellow',
fillOpacity = 1,
options = pathOptions(pane = "foreground")) %>%
addLayersControl(overlayGroups = c("a", "b"),
options = layersControlOptions(collapsed = FALSE))
我在尝试使用 Simple Features
和 Mapview
可视化多边形时遇到了问题。
我创建了两个矩形,a
和 b
并将它们放在 Mapview
两层上。我的问题是,如果我在 a
之前 select b
,b
矩形将被 a
覆盖并且无法正确显示。
有什么方法可以让 a
始终在后台运行,以便在 selected 时始终显示 b
?
library(mapview)
library(sf)
a<-rbind(c(0,0), c(15, 0), c(15, 5), c(0, 5), c(0, 0))
a_polygon<-st_polygon(list(a))
b<-rbind(c(5,1), c(10, 1), c(10, 4), c(5, 4), c(5, 1))
b_polygon<-st_polygon(list(b))
mapview(list(st_sfc(a_polygon), st_sfc(b_polygon)), col.regions = list('blue', 'yellow'), layer.name =c('a', 'b'))
您可以使用 alpha.regions
参数让图层在某种程度上是透明的。
mapview(a_polygon, col.regions = 'blue', alpha.regions = .6) +
mapview(b_polygon, col.regions = 'yellow', alpha.regions = .6)
alpha.regions
可以设置为从 0(不可见)到 1(不透明)。这是先选择 'b',然后选择 'a' 和 alpha 的样子对于两者都在 .6:
您可以直接使用 leaflet
,而不是使用 mapview
,它是 leaflet
的 API
。
leaflet
允许添加 Panes
to control layers order:
leaflet() %>% addMapPane("background", zIndex = 400) %>%
addMapPane("foreground", zIndex = 500) %>%
addPolygons(data = a_polygon,
group="a",
color ='blue',
fillOpacity= 1,
options = pathOptions(pane = "background")) %>%
addPolygons(data = b_polygon,
group="b",
color='yellow',
fillOpacity = 1,
options = pathOptions(pane = "foreground")) %>%
addLayersControl(overlayGroups = c("a", "b"),
options = layersControlOptions(collapsed = FALSE))