使用 R 和 Mapdeck 的静态地图的 PNG

PNG of Static Map using R and Mapdeck

我想使用 R 和 Mapdeck 创建静态地图。我是第一次这样做,在此阶段我只想要任何 png 地图输出。 (最终我想创建包含 50 个州和一些城市的扩展水平条形图的美国地图。)

在下面的网站上我找到了示例代码。目前我只想要这个文件的简单 png。我创建了 mapdeck 令牌,我可以 运行 此代码没有错误,但我没有得到任何 "viewer" 输出来显示我将导出到 png 的地图。 我在网上找到了其他 mapdeck/R 代码,其中 none 显示了任何视觉效果。

https://geocompr.robinlovelace.net/adv-map.html

library(mapdeck)
set_token(Sys.getenv("MAPBOX"))
df = read.csv("https://git.io/geocompr-mapdeck")
ms = mapdeck_style("dark")
mapdeck(style = ms, pitch = 45, location = c(0, 52), zoom     = 4) %>%
add_grid(data = df, lat = "lat", lon = "lng", cell_size = 1000,
     elevation_scale = 50, layer_id = "grid_layer",
     colour_range = viridisLite::plasma(5))

有几个可能的问题

  1. 一个您看不到 map in your RStudio viewer
  2. 的已知问题

解决方法是按'open in new window'按钮在浏览器中打开它

  1. 数据中有 NA 个,它正在关注 (0,0)

解决这个问题的方法是删除 NA,或者简单地缩小

此外,自那篇文章撰写以来,该软件包已更新到 v0.2.1,因此对代码进行了一些细微的更改。

df = read.csv("https://git.io/geocompr-mapdeck")

library(mapdeck)

set_token("MAPBOX_TOKEN")
ms = mapdeck_style("dark")

df <- df[ !is.na(df$lat), ]

mapdeck(style = ms, pitch = 45) %>%
  add_grid(data = df, lat = "lat", lon = "lng", cell_size = 1000,
           elevation_scale = 50, layer_id = "grid_layer",
           colour_range = colourvalues::colour_values(1:6, palette = "plasma"))

编辑:更正代码。