在 R 中下载 CHIRPS 数据时出现问题

问题描述 投票:0回答:2

我正在尝试从 CHIRPS 下载每月降水量数据,但我的代码不断抛出错误,提示

arguments imply differing number of rows
。我什至尝试使用
chirps
文档中的示例查询,但得到了相同的错误。

示例:

library(chirps)

lonlat <- data.frame(lon = c(-55.0281,-54.9857),
                     lat = c(-2.8094, -2.8756))

dates <- c("2017-12-15", "2017-12-31")

dt <- get_chirps(lonlat, dates)

我在这里做错了什么吗?

r dataframe download row
2个回答
2
投票

API 开发人员改变了 API 的工作方式,我们必须更新整个代码。我们修复了该问题,并且 CRAN 版本 v0.1.4 也运行良好https://CRAN.R-project.org/package=chirps。现在您还可以使用参数服务器直接从 CHG 下载数据。还可以下载

chirts
数据。

library("chirps")

lonlat <- data.frame(lon = -67.5, lat = -24.5)
dates <- c("1981-01-02", "2020-12-31")
data <- get_chirps(lonlat, dates, server = "ClimateSERV")

data

当您同时处理多个点(> 500)和日期时,我建议使用

server = "CHC"
,因为它使用
terra

下载整个 GeoTIFF 文件
lonlat <- data.frame(lon = -67.5, lat = -24.5)
dates <- c("1981-01-02", "1981-01-04")
data <- get_chirps(lonlat, dates, server = "CHC")

data


0
投票

CRAN
版本给出了相同的错误。所以,我们安装了
github
版本并且它正在运行

> library(remotes)
> install_github("ropensci/chirps", build_vignettes = TRUE)
> library(chirps)
> lonlat <- data.frame(lon = c(-55.0281,-54.9857),
+                      lat = c(-2.8094, -2.8756))
> 
> dates <- c("2017-12-15", "2017-12-31")
> 
> get_chirps(lonlat, dates)
Fetching data from CHC server 

Getting CHIRPS in a .05 deg resolution 

       id    lon   lat       date chirps
    <int>  <dbl> <dbl>     <date>  <dbl>
1:      1 -55.03 -2.81 2017-12-15   0.00
2:      1 -55.03 -2.81 2017-12-16   0.00
3:      1 -55.03 -2.81 2017-12-17  13.69
4:      1 -55.03 -2.81 2017-12-18  13.69
5:      1 -55.03 -2.81 2017-12-19   0.00
---                                     
30:     2 -54.99 -2.88 2017-12-27  35.34
31:     2 -54.99 -2.88 2017-12-28  17.67
32:     2 -54.99 -2.88 2017-12-29   0.00
33:     2 -54.99 -2.88 2017-12-30   8.84
34:     2 -54.99 -2.88 2017-12-31   8.84
© www.soinside.com 2019 - 2024. All rights reserved.