关于 r:将 ggmap 对象保存到可以重用的文件中? | 珊瑚贝

Saving ggmap object to a file which can be reused?


是否可以将 ggmap 保存到本地文件?

上下文:我需要一个大区域的高分辨率地图,stamen 服务器需要很长时间才能获得。我认为最好获取一次地图,将其保存到文件中,然后在本地副本上工作。

我获取地图的代码是:

1
2
library(ggmap)
map <- get_stamenmap(bbox = c(left = 8.7, bottom = 46.8, right = 9.7, top = 47.6), zoom = 14, maptype = c(“toner”))

我知道我可以将它保存为图像,例如:

1
2
3
png(filename=name, width=1280, height=1280)
print(map)
dev.off()

但这并没有帮助,因为我想稍后使用地图在其上绘制不同的点和多边形,这只有在地图知道 \\’lat\\’ 和 \\’lon\\’ 的情况下才有可能图片上的每个点。

那么,有没有办法以原始数据形式保存地图?

  • 您可以将对象 map 保存在 RData 文件中:save(map, file =”xy.RData”)。然后将其回调:load(“xy.RData”)。不要忘记加载库ggmap,以使R 识别map 的类。


按照 user3710546 的建议,使用 save 函数将 ggmap 对象保存到 RData 文件中,然后使用 load 将其读回。例如:

1
2
3
4
5
library(ggmap)
map <- get_map(location=”California”, zoom=6, maptype=”terrain”)

save(map, file =”my_map.RData”)
load(file =”my_map.RData”)


您可以使用 write.table(map,file=”filename”) 将其保存在文件中。

  • 用 map2 <- read.table(file=”filename”) 读回这样编写的文件,我得到一个类型为 list 的对象,该对象无法使用 ggmap 绘制。有没有办法以保持 ggmap 类型的可绘制对象的方式读回文件?
  • 这是因为缺少有关该对象的一些信息。您可以尝试使用 dput(map,filename) 保存它并使用 dget(filename) 下载它。
  • 不幸的是,这对我不起作用。 dput(map,”mapdata”) 将文件放在磁盘上,这没关系。当我尝试 dget(“mapdata”) R 挂了几分钟,没有任何反应。有什么提示吗?
  • 我尝试使用 zoom=2 并且它有效。缩放 = 14 可能会更长。您可以尝试使用较小的缩放来查看是否是问题所在吗?
  • @Pascal 对 save 和 load 的想法非常好,所以我会选择那个解决方案。


来源:https://www.codenong.com/29296701/

微信公众号
手机浏览(小程序)

Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(): Failed to enable crypto in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(https://static.shanhubei.com/qrcode/qrcode_viewid_8630.jpg): failed to open stream: operation failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57
0
分享到:
没有账号? 忘记密码?