R语言如何将循环返回的谷歌街景图像保存到本地硬盘?
R语言谷歌街景图片批量保存到指定文件夹实现方案
首先修正原代码的笔误:你的原自定义函数参数定义为Lon,但调用google_streetview时传入的是Lng,存在拼写错误,需要先调整。
1. 安装加载依赖包
除了googleway之外,还需要magick包处理图片存储,purrr实现批量遍历:
# 首次使用先安装包 # install.packages(c("googleway", "magick", "purrr")) library(googleway) library(magick) library(purrr) # 提前配置你的谷歌API密钥(必须步骤,否则无法调用街景接口) set_key(key = "你的谷歌街景服务API密钥")
2. 创建指定存储文件夹
你可以自定义images文件夹的绝对路径(工作目录外的路径直接写完整路径即可,比如Windows下"D:/project/resources/images",Mac/Linux下"/home/user/project/images"):
# 替换为你实际要存储的images文件夹路径 save_dir <- "替换为你的images文件夹完整路径" # 自动创建文件夹,已存在也不会报错 dir.create(save_dir, recursive = TRUE, showWarnings = FALSE)
3. 改写自定义函数增加保存逻辑
修改后的函数会在拉取街景后自动将图片保存到指定路径,用经纬度命名避免重名覆盖:
myfunction <- function(Lat, Lon, save_dir){ # 拉取街景图片 sv_img <- google_streetview( location = c(Lat, Lon), size = c(600, 400) ) # 定义保存文件名,用经纬度组合唯一标识 file_name <- paste0("lat_", Lat, "_lon_", Lon, ".jpg") save_path <- file.path(save_dir, file_name) # 保存图片到本地 image_write(sv_img, path = save_path) }
4. 批量执行拉取保存
调用pwalk遍历所有坐标完成批量保存:
# 先读取你的csv坐标数据 data <- read.csv("你的坐标文件路径.csv") # 批量拉取并保存 pwalk(list(data$Lat, data$Lon), myfunction, save_dir = save_dir)
运行完成后所有街景图片就会自动保存到你指定的images文件夹下。
内容的提问来源于stack exchange,提问作者HelpMePlease
相关产品推荐
相关产品推荐

