Как я могу загрузить данные об осадках CHIRPS в формате .gz? - PullRequest
0 голосов
/ 26 сентября 2019

Я пытаюсь загрузить данные CHIRPS с ftp: //ftp.chg.ucsb.edu/pub/org/chg/products/CHIRPS-2.0/africa_daily/tifs/p25/2010/.,Пакет heavyRain устарел, а пакет earthEngineGrabR (для извлечения данных из Google Earth Engine, https://developers.google.com/earth-engine), похоже, содержит некоторые ошибки. Вот несколько моих попыток.

lst.files <- list(
 list(
url2 = "ftp://chg-ftpout.geog.ucsb.edu/pub/org/chg/products/CHIRPS -2.0/africa_daily/tifs/p25/2010/chirps-v2.0.2010.01.01.tif.gz"
, target = "chirps-v2.0.2010.01.01.tif.gz"))

#download gzipped files (only if file does not exist)
lapply(lst.files, function(x)
 if(!file.exists(x$target)) download.file(x$url2, x$target))

#open files
lst <- lapply(lst.files, function(x) {
  df <- readr::read_table2(x$target)
  })

Вот ошибкасообщение: Ошибка в guess_header_ (источник данных, токенайзер, языковой стандарт): встроенный нуль в строку: 'II *'

И вот еще одна попытка:

library(RCurl)
library(foreign)
library(plyr)
library(dplyr)

setwd <- "C://Desktop"
url <- "ftp://chg-ftpout.geog.ucsb.edu"
years = c("2010", "2011", "2012", "2013", "2014", "2015", "2016", "2017", "2018", "2019")

lapply(years, function (x){
  url <- paste(url, "/pub/org/chg/products/CHIRPS-2.0/africa_daily/tifs/p25/", x, ".gz", sep = "")
  filename <- paste("CHIRPS", x, ".gz", sep = "")
  foldername <- paste("CHIRPS", x, sep = "")
  filename

  if (file.exists(filename)==FALSE){
    download.file(url, filename)
  }

  if (file.exists(foldername)==FALSE){
    dir.create(foldername)
  }

  if(length(list.files(path = foldername, pattern="*.gz")) == 0){
    unzip(filename)
    }

  for (fl in (list.files(pattern=".gz"))){
      file.copy(fl, foldername)

    file.remove(fl)
}})

Вот сообщение об ошибке: попытка URL ' ftp: //chg-ftpout.geog.ucsb.edu/pub/org/chg/products/CHIRPS-2.0/africa_daily/tifs/p25/2010.gz 'Ошибка в download.file (url,имя файла): невозможно открыть URL ' ftp: //chg-ftpout.geog.ucsb.edu/pub/org/chg/products/CHIRPS-2.0/africa_daily/tifs/p25/2010.gzдополнение: Предупреждающее сообщение: в файле download.file (url, имя файла): ошибка в файле download.file (url, имя файла): невозможно открыть URL-адрес ' ftp: //chg-ftpout.geog.ucsb.edu/pub/org/chg/products/CHIRPS-2.0/africa_daily/tifs/p25/2010.gz '

И вот что происходит, используя пример, предоставленный в файле readme для github для earthEngineGrabR, https://github.com/JesJehle/earthEngineGrabR:

> library(earthEngineGrabR)
> library(tidyverse)
> library(sf)
> Chirps_data <- ee_grab(data = ee_data_collection(datasetID = 'UCSB-CHG/CHIRPS/DAILY'
+                                          , spatialReducer = 'mean'
+                                          , temporalReducer = 'sum'
+                                          , timeStart = "2016-01-01"
+                                          , timeEnd = "2016-12-31"
+                                          , resolution = 200)
+                        , targetArea = system.file('data/territories.shp', package = 'earthEngineGrabR'))

Вот вывод кода, с которого он начинается, но затем застревает:

Автообновление устаревшего токена OAuth.

upload: территория уже загружена. Должен ли файл быть удален и снова загружен?[Y / N]: Y Удаленные файлы: * территория: 1AOc2yzIV1DGDgfUULNA6Co1M37xcWTFLRbdKOegs Создание таблицы слияния: территории

Ошибка: с указанным аргументом продукта нельзя запросить действительные данные.Кроме того: Предупреждающие сообщения: 1: In (функция (текст): усеченная печать очень длинного вывода 2: Ошибка на серверах Earth Engine для продукта данных: UCSB-CHG-CHIRPS-DAILY_s-mean_t-sum_2016-01-01to2016-12-31 Ошибка в py_call_impl (вызываемый, точки $ args, точки $ ключевые слова): EEException: непредвиденная ошибка HTTP: сбой проверки сертификата [SSL: CERTIFICATE_VERIFY_FAILED] (_ssl.c: 727)

Может ли кто-нибудь помочь мне получить доступ киз этих источников данных?

...