Используя этот скрипт, я иногда получаю файлы, а иногда получаю ошибку 404 (но если сделать это вручную, он возвращает действительный файл). Я думал, что перевод системы в спящий режим решит проблему (возможно, есть ограничение на загрузку), но не уверен, помогает ли это. Я использую Windows.
Код: Выделить всё
library(tidyverse)
# Get php codes
download.file(url = 'https://cfs.cloud.nrcan.gc.ca/bmfid/bmfid.php', destfile = 'test.php')
# scenarios
scen = 'x245'
# species
sp = c("Heterobasidion_irregulare", "Anoplophora_glabripennis", "Adelges_piceae",
"Neonectria_faginata", "Tetropium_fuscum", "Ophiognomonia_clavigignenti-juglandacearum",
"Ophiostoma_ulmi", "Choristoneura_fumiferana", "Agrilus_planipennis",
"Ips_typographus", "Malacosoma_disstria", "Adelges_tsugae", "Choristoneura_pinus",
"Choristoneura_conflictana", "Lymantria_dispar_dispar", "Dendroctonus_ponderosae",
"Bretziella_fagacearum", "Dendroctonus_frontalis", "Lycorma_delicatula",
"Dendroctonus_rufipennis", "Phytophthora_ramorum", "Nothophaeocryptopus_gaeumannii",
"Choristoneura_freemani")
# time window
years = '2041-2070'
# Base link and construct the URL
lkns = sprintf('https://cfs.cloud.nrcan.gc.ca/bmfid/tmp/maxent/tifs/%s/%s%s%s.tif', sp, scen, sp, years)
# Folder creation
dir.create(path = "data")
# loop for all links
for (lkn_i in 1:length(lkns)) {
print(lkn_i)
nm = basename(lkns[lkn_i])
download.file(url = lkns[lkn_i],
destfile = file.path("data", nm))
# Please wait (needed?)
Sys.sleep(5)
}
Код: Выделить всё
library(terra)
tsss = terra::rast("data/x245Adelges_piceae2041-2070.tif")
crs(tsss)
Подробнее здесь: [url]https://stackoverflow.com/questions/79792582/download-data-from-a-page-in-r-with-php-code-and-url-no-crs-in-tif-file[/url]