首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将R中循环返回的图像保存到硬盘上?

如何将R中循环返回的图像保存到硬盘上?
EN

Stack Overflow用户
提问于 2021-06-27 11:24:52
回答 2查看 205关注 0票数 1

我有一个具有纬度和经度坐标的csv文件。样本:

代码语言:javascript
运行
复制
Lat   Lon
94.2  13.4
32.2  12.4
89.3  24.4

下面的代码循环通过这些Lat/Lon坐标,在Google上找到这个位置的相关图像,然后我可以在代码单元格下面的R中看到它。

但是,使用上面的示例数据,将返回3幅图像。我想将它们保存到我工作目录外的一个特定的“图像”文件夹中的硬盘驱动器中。有办法这样做吗?

代码语言:javascript
运行
复制
# install.packages('googleway')

myfunction <- function(Lat, Lon){
  google_streetview(
  location = c(Lat, Lng), # lat/lon coordinates
  size = c(600, 400), # w x h
)
}

purrr::map2(data$Lat, data$Lon, myfunction)
EN

Stack Overflow用户

回答已采纳

发布于 2021-06-27 12:54:11

  1. 构造一个包含您的纬度/经度对的列表
  2. 在函数中包含“保存到磁盘”一步,该步骤创建了单个图形
  3. 使用lapply依次将该函数应用于列表中的每个元素

例如,以下(未经测试)代码应该将您的图像保存在一系列名为image00001.jpgimg00002.jpg等文件中。

代码语言:javascript
运行
复制
library(tidyverse)

positions <- list(c("lat"=94.2, "lon"=13.4),c("lat"=32.2, "lon"=12.4),c("lat"=89.3, "lon"=24.2))
imgCount <- 0
lapply(
  positions,
  function(x) {
    google_streetview(
      location = c(x$lat, x$lon), # lat/lon coordinates
      size = c(600, 400), # w x h
    )
    imgCount <<- imgCount + 1
    ggsave(paste0("image", sprintf("%05d", imgCount), ".jpg"))
  }
)

注意使用<<-确保计数器增量正确。

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68150652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档