R语言处理潜在蒸散nc数据

数据来源https://www.tpdc.ac.cn/zh-hans/data/8b11da09-1a40-4014-bd3d-2b86e6dccad4/

数据简介:该数据集描述了中国逐月潜在蒸散发的时空分布,覆盖1901年1月至2023年12月,空间分辨率为1km(0.0083333°),单位为0.1mm。基于Peng等(2019)发布的中国逐月均温、最低温和最高温数据,采用Hargreaves公式计算潜在蒸散发(PET),公式为:PET = 0.0023 × S0 × √(MaxT - MinT) × (MeanT + 17.8),其中MaxT、MinT和MeanT分别为月最高、最低和平均温度,S0为理论太阳辐射。数据采用int16类型存储于NetCDF(nc)文件中,支持ArcMAP软件制图及Matlab、R等软件的提取处理,建议使用WGS84坐标系统。

代码处理(处理详情:先把多年的月数据进行累加得到年潜在蒸散的数据)

r 复制代码
library(ncdf4)   # 读 NetCDF:nc_open(), ncvar_get()
library(raster)  # raster 处理:brick(), calc(), writeRaster()


# 处理npp的数据
tmpfile = nc_open("F:\\geodata\\31蒸散发数据\\China_PET_1901_2023_from_CRUv4.08\\pet_2000.nc") 

# 查看nc文件的信息
print(tmpfile) 


time <- ncvar_get(tmpfile, "time") # 获取时间变量
head(time) # 查看时间变量的前几行
print(time) # 查看时间变量


# nc文件的数据存成栅格数据集
tmp = brick("F:\\geodata\\31蒸散发数据\\China_PET_1901_2023_from_CRUv4.08\\pet_2000.nc",varname='etp')# 读取nc文件中的变量'time


# 对栅格数据集进行栅格计算
tmp_mean = calc(tmp, fun = sum, na.rm = TRUE) * 0.1


writeRaster(tmp_mean,'F:\\geodata\\31蒸散发数据\\China_PET_1901_2023_from_CRUv4.08\\pet_2000.tif',overwrite=TRUE)
相关推荐
Bruce_Liuxiaowei10 小时前
Python 实例赋值遮蔽类属性:一个从不报错的静默陷阱
开发语言·python·语法糖
aramae11 小时前
MySQL内置函数(7)
开发语言·笔记·后端·mysql·其他
babe小鑫14 小时前
信息与计算科学专业应届生面试 怎么证明自己能解决业务问题
学习·r语言·excel
码行山野赴时序归途14 小时前
链表家族收官篇:循环链表
c语言·开发语言·数据结构·链表
景熙552315 小时前
单体项目编写思路和落地形式
java·开发语言
计算机毕设定制辅导-无忧学长15 小时前
《基于SpringBoot的未成年人健康知识科普平台的设计与实现》
java·开发语言·vue.js·spring boot·未成年人健康知识科普平台
Ivanqhz15 小时前
Ping-Pong 双缓冲
开发语言·人工智能·python·深度学习·mlir
m0_7345717616 小时前
深入理解C++ RAII
开发语言·c++
泡海椒16 小时前
jquick-pdf 表格实战:动态数据 PDF 报表生成
java·开发语言·pdf
aramae16 小时前
模拟实现memset()(C语言)
c语言·开发语言·后端