gpt4 book ai didi

r - mapdeck 中的 add_polygon 缩小 map

转载 作者:行者123 更新时间:2023-12-04 01:43:54 26 4
gpt4 key购买 nike

当我向 Shiny 的应用程序添加一个简单的 map 时,没有添加多边形,缩放参数工作正常,并且 map 按预期初始化。

另一方面,当我使用 add_polygon() 添加多边形时, map 被初始化为比应有的缩小得更多。

为什么会这样?

这是我的代码:

library(mapdeck)
library(sf)

sf = st_as_sf(my_LargeSpatialPolygonDataframe)

output$my_map = renderMapdeck({

mapdeck(token = mytoken, location = c(a, b), zoom = 12,
bearing = -45.00, pitch = 0, style = 'mapbox://styles/mapbox/light-v9') %>%

add_polygon(data = sf,
stroke_colour = "#000000",
stroke_width = 20,
stroke_opacity = 200,
fill_opacity = 0,
layer = "init_polygons")
})

最佳答案

当您通过 add_ 函数之一添加层时,该层将计算适合窗口框架中的整个数据所需的缩放级别。您可以使用 update_view = FALSE

停止此行为

这是一个可重现的例子

在 mapdeck() 中设置位置

此处 add_polygon() 图层将重新缩放 map 以显示图层中的所有数据。这就是您所看到的行为。

library(mapdeck)

set_token("MAPBOX_TOKEN")

mapdeck(
location = c(144.9, -37.8)
, zoom = 11
, bearing = -45.00
, pitch = 0
, style = mapdeck_style("light")
) %>%
add_polygon(
data = spatialwidget::widget_melbourne
, stroke_colour = "#000000"
, stroke_width = 20
, stroke_opacity = 200
, fill_opacity = 0
, layer_id = "init_polygons"
)

enter image description here

使用 update_view = FALSE

这会告诉图层不要更新 View ,因此将使用您的原始 location() 值。

mapdeck(
location = c(144.9, -37.8)
, zoom = 11
, bearing = -45.00
, pitch = 0
, style = mapdeck_style("light")
) %>%
add_polygon(
data = spatialwidget::widget_melbourne
, stroke_colour = "#000000"
, stroke_width = 20
, stroke_opacity = 200
, fill_opacity = 0
, layer_id = "init_polygons"
, update_view = F
)

enter image description here

关于r - mapdeck 中的 add_polygon 缩小 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56171231/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com