1

我需要一些帮助才能让我的海拔显示在 mapdeck 中。出于某种原因,我似乎无法让代码正常工作。我可以使用“add_scatterplot”将地图上的点显示为 2D 点,但是每当我尝试让它使用高程数据时,它似乎不起作用,并且我不断收到相同的错误。这是我的代码并说错误:

     mapdeck( token = key, style = mapdeck_style("satellite"), location = c(-2, 57.22),
     zoom = 12,
          pitch = 35) %>% 
     add_scatterplot(
     data = turbines, 
     fill_colour = "Turbine_identifier",
     palette = "green2red") %>% 
     add_trips(
     data = sf_harriers,
     stroke_colour = "TrackId",
     animation_speed = 14,
     trail_length = 80,
     opacity = 1,
     stroke_width = 2,
     palette = colourvalues::get_palette("heat")[6:13, ]) %>% 
   add_column (
   data = turbines,
   lat = "latitude",
   lon = "longitude",
   elevation = "hub_height",
   elevation_scale = 100,
   update_view = FALSE)

吐出的错误是:

""Error in if (nrow(df) != nrow(.data)) { : argument is of length zero""

我不明白,好像我在没有最后一层的情况下绘制它,它绘制得很好。但是,当我使用“add_column”然后尝试使用它们的高度以 3D 显示这些点时,它会一直响起该错误。我究竟做错了什么?

4

1 回答 1

0

您看到的错误消息来自tibble::add_column(). 因此,您在库中存在冲突,在加载一个或另一个时您会被警告

library(tibble)

Attaching package: ‘tibble’

The following object is masked from ‘package:mapdeck’:

    add_column

所以看起来你已经加载tidyersetibbleAFTER mapdeck,所以add_column()你调用的函数实际上是tibble::add_column(). 将其更改为mapdeck::add_column()并且您的代码有效。

于 2021-01-10T21:06:18.477 回答