如何解决为整个流域多边形提取网格化 (netcdf) 气候数据
我的目标是从 Daymet 数据库 (https://daymet.ornl.gov/) 中提取 68 个流域多边形中的每一个的降水数据。我能够使用 ncdf4 包下载数据:
download_daymet_ncss(location = c(53.5,-116.6,48,-98),start = 1992,end = 2000,param = "prcp",path = "./Daymet gridded data/Precip_raw")#download the data
我意识到这是一个相当大的领域,可能是问题的一部分。
下载数据后,挑战就开始了。 我尝试了两种方法,第一种将数据聚合为年度值(使用 daymetr 包中的 daymet_grid_agg)。但是从生成的栅格中提取正确的区域很有挑战性(我没能成功)。 然后我尝试使用 RavenR 包从 netcdf (rvn_netcdf_to_gridshp) 生成网格覆盖。
fn<-"prcp_daily_1992_ncss.nc"
ncfile<-nc_open(fn)
outshp<-rvn_netcdf_to_gridshp(ncfile,projID = 4326)
这完全失败了 - RStudio 冻结,无法分配 2.7 GB,或者 shapefile 为空。我曾尝试增加内存大小,但 R 一直在运行,似乎什么也没发生。
接下来,我尝试了这个简单的方法(按照 https://www.researchgate.net/post/How-to-get-data-only-within-shapefile-boundary-from-a-netcdf-data-file-in-R-software):
shp<-st_read(file.choose())
data<-brick(file.choose())
crs(data) <- "+proj=lcc +lon_0=-90 +lat_1=33 +lat_2=45"
output<-raster::mask(data,shp)
输出的砖块光栅充满了 NAs...
我已将下载的 netcdf 缩小了很多,但这些方法似乎都不起作用...是的,我的数据是网格化的(与本例不同:How to extract NetCDF data frame by region using a polygon shapefile)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。