You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ggOceanMaps重复下载地形与冰川数据问题求助

问题描述

每次重启R环境后,使用ggspatial和ggOceanMaps绘制地图时,总会出现如下提示:

Cannot find files:

C:\Users\AppData\Local\Temp\Rtmpo1nDLv\arctic_land.rda,
C:\Users\AppData\Local\Temp\Rtmpo1nDLv\arctic_glacier.rda,
C:\Users\AppData\Local\Temp\Rtmpo1nDLv\dd_rbathy_cont.rda.

Do you want download them now?

1: Yes

2: No

selection: 1

不得不重新下载所有数据,担心会逐渐占用电脑内存。请问:

  1. 能否避免重复下载?
  2. 旧数据会在下载时被删除吗?

附带代码:

library(ggOceanMaps)
library(readxl)
library(ggspatial)
library(dplyr)
data_a <- structure(list(Nr = c(1, 2, 3, 4, 5, 6), Name = c("MD95-2006", 
"IODP 302", "IODP 302", "IODP 302", "IODP 302", "IODP 302"), 
    Lat = c(57.083333, 87.89, 87.9036, 87.92118, 87.93333, 87.86658
    ), Long = c(-8.05, 137.65, 138.46065, 139.365501, 139.535, 
    136.17735), `18O` = c(0.69, NA, NA, NA, NA, NA), Info = c(NA_character_, 
    NA_character_, NA_character_, NA_character_, NA_character_, 
    NA_character_), Source = c("MD95-2006 planktic foraminifera ?13C and ?18O", 
    "https://www.ecord.org/expedition302/", "https://www.ecord.org/expedition302/", 
    "https://www.ecord.org/expedition302/", "https://www.ecord.org/expedition302/", 
    "https://www.ecord.org/expedition302/")), row.names = c(NA, 
-6L), class = c("tbl_df", "tbl", "data.frame"))


data_b <- structure(list(Nr = c(1, 2, 3, 4, 5, 6), Name = c("Simstich", 
"Schiebel", "Schiebel", "Stangeew", "Stangeew", "Stangeew"), 
    Lat = c(75.003333, 62.50275, 67.225033, 56.2747, 53.4347, 
    52.874), Long = c(-7.313333, -13.99235, 2.920317, -48.6992, 
    -50.0673, -51.5128), `18O` = c(NA, NA, NA, NA, NA, NA), Info = c("data for different depths", 
    NA, NA, NA, NA, NA), Source = c("https://doi.pangaea.de/10.1594/PANGAEA.82001?format=html#download", 
    "https://doi.pangaea.de/10.1594/PANGAEA.75647?format=html#download", 
    "https://doi.pangaea.de/10.1594/PANGAEA.75719", "https://doi.pangaea.de/10.1594/PANGAEA.706908", 
    "https://doi.pangaea.de/10.1594/PANGAEA.706908", "https://doi.pangaea.de/10.1594/PANGAEA.706908"
    )), row.names = c(NA, -6L), class = c("tbl_df", "tbl", "data.frame"
))

data <- bind_rows(list(data_a,data_b), .id="data_source")


map <- basemap(limits = c(-125, -110, 25, 35), glaciers = TRUE,shapefiles = "Arctic",   bathy.style = "rcb") +
  ggspatial::geom_spatial_point(
    data = data, aes(x = Long, y = Lat, color = data_source)
  ) +
  scale_color_manual(
    values = c("red", "yellow")
  ) +
  guides(color = guide_legend(override.aes = list(fill = NA)))
print(map)
解决方案

1. 避免重复下载的方法

ggOceanMaps默认将数据存储在R的临时目录(即提示中的C:\Users\AppData\Local\Temp\RtmpXXX),每次重启R后该目录会被自动清空,因此会重复触发下载提示。解决方法是指定一个永久存储目录:

  • 先创建一个固定文件夹用于保存ggOceanMaps数据,比如C:/R_data/ggOceanMaps(可自定义路径)
  • 在加载ggOceanMaps前,通过options()设置该路径:
options(ggOceanMaps.datapath = "C:/R_data/ggOceanMaps")
library(ggOceanMaps)
# 后续绘图代码保持不变

设置后,数据会下载到指定的永久目录,下次重启R时程序会直接读取该目录下的数据,无需重复下载。

2. 旧数据的处理

  • 临时目录中的旧数据:每次重启R后,R的临时目录会被系统自动清理,不会持续占用内存。
  • 永久存储目录中的旧数据:若数据有更新,新下载的文件会覆盖同名旧文件,不会重复累积。如果需要,也可手动清理该目录中的旧文件,但这类地图数据体积通常不大,一般无需频繁清理。

内容的提问来源于stack exchange,提问作者Weiss

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 10:57:22