gpt4 book ai didi

r - ggmap, ggimage... - 在 R 中保存和加载 map

转载 作者:行者123 更新时间:2023-12-02 02:54:00 25 4
gpt4 key购买 nike

在我当前的 R 项目中,我正在使用 ggmap 包来下载和显示 map 。令我困扰的是你需要互联网访问才能从谷歌等加载 map 。我想从互联网加载 map 并保存它,以便我也可以离线工作。理想的解决方案应该最大限度地减少 get_map() (或相关命令)和使用 ggmap() (或相关命令)中保存的 map 之间的代码量。

我已经知道 get_map() 有一个 filename 属性可以将 map 保存为图像,而且我也知道 ggimage()方法(不过我从未真正使用过它。)

有没有一种简单的方法来保存这样的 map ,或者这两个工具是可用的最好的工具 - 如果是的话,我如何有效地使用它们?

最佳答案

每次运行等待相同的 map 加载数十次后,我遇到了同样的问题。

您可以在 R 中保存任何对象,但我花了一些时间才弄清楚在函数内保存映射的细微差别。这就是我的想法——很想看看是否有可以改进的地方。

该函数查找区域设置字符串(本质上是命名 map 的字符串)、坐标和缩放级别。然后,该函数查看 map 是否已作为保存的文件存在,如果存在则加载它。如果磁盘上不存在 map ,则会从 Google 下载 map ,然后将其保存到文件中。

没有从文件加载它的技巧,但我发现如果我在将 map 对象保存到磁盘之前没有在分配函数中指定.GlobalEnv,那么R将忠实地加载到错误的环境。

load.map <- function(Locale, Lon, Lat, MapZoom){
MapName <- paste("Map", gsub(" ", "", Locale), MapZoom, sep = "")

FileName <- paste(MapName,".RData", sep = "")
if (file.exists(FileName) & ReloadMaps == 0)
{
load(FileName, envir = .GlobalEnv)
} else
{
Map <- get_googlemap(center=c(lon = Lon, lat = Lat), zoom=MapZoom, scale = 2,
size = c(640, 640), maptype = "roadmap", color = "color", format = "png8")
assign(MapName, Map, envir = .GlobalEnv)
save(list = MapName, file = FileName, envir = .GlobalEnv)
}
}

关于r - ggmap, ggimage... - 在 R 中保存和加载 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19071921/

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