我最近正在尝试制作瑞士的地形图,为此,我需要使用R中的elevatr
包获取该特定国家的高程数据。然而,当我运行下面的代码块时,这与我在网上看到的类似Map类似,
library(elevatr)
library(rgeoboundaries)
library(rgdal)
swiss_bound <- rgeoboundaries::geoboundaries("Switzerland")
elevation_data <- get_elev_raster(locations = swiss_bound, z = 10)
我得到以下错误
Error in if ((is.null(locs) | is.na(locs)) & is.null(prj)) { : zero length argument
这是没有意义的,我在网上找不到任何解决这个问题的方法,也找不到它为什么会发生,解决方法是什么。因此,我非常感谢您的帮助,并感谢您的关注。
1条答案
按热度按时间qzwqbdag1#
我不能重新创建你的确切错误,但我看到的
rgeoboundaries
是它返回一个sf
对象,但不包括CRS,这不是很好...它看起来像是在EPSG:4326中。假设这样,下面的代码应该对你有用。但是要小心,因为没有从rgeoboundaries
指定CRS会留下很大的问题空间。