太原网站建设哪家强,电商网站图片,南京做网站优化公司,网站设计技能培训一、nc介绍
NC文件#xff0c;全称为NetCDF(Network Common Data Form)文件格式#xff0c;是一种用于存储科学数据的通用、二进制文件格式#xff0c;它由国际气象组织(International Organization for Standardization,简称ISO)开发#xff0c;并作为其OMNI…一、nc介绍
NC文件全称为NetCDF(Network Common Data Form)文件格式是一种用于存储科学数据的通用、二进制文件格式它由国际气象组织(International Organization for Standardization,简称ISO)开发并作为其OMNIC(Open Multi-Content Information Distribution Network Consortium)项目的一部分NC文件格式广泛应用于气候科学、地球科学、大气科学等领域以便在不同的软件和平台上共享和交换数据。
二、读取nc
2.1 基本性质读取
#nc_open 将数据读入我称为 nc_data 的数据结构中
nc_data - brick(surfout_d03_2020-07-01_00_00_00)
which(names(nc_data)T2_1)
class(nc_data)
T2_variable - nc_data$T2_1
#由于此NC文件没有坐标系定义栅格文件的坐标系为WGS1984
crs(nc_data)projlonglat ellpsWGS84 datumWGS84 no_defs names(nc_data$attr)
#获取维度变量
names(nc_data$dim)
#读取变量的维度,三列分别为.nc格式地区的经度、纬度、和时间维度
print(dim(T2))#150 150 24#看看缺失数据的填充值这里value0
fillvalue - ncatt_get(nc_data, T2, _FillValue)
fillvalue
#完成读入数据关闭netCDF文件
nc_close(nc_data)
#用R标准的“NA”替换所有的填充值
nc_data[nc_data fillvalue$value] - NA
dim(T2)
#保留第三维度第一个时间的数据
Time1 T2[,,1]
dim(Time1)#150 150
View(T2)
#转成栅格数据
nc_data.variables
r - raster((Time1), xmnmin(lon), xmxmax(lon), ymnmin(lat), ymxmax(lat), crsCRS(projlonglat ellpsWGS84 datumWGS84 no_defs towgs840,0,0))
# 大多数netCDF文件都从左下角记录空间数据,需要转置和翻转以正确定位数据
r - flip(r, directiony)R语言处理气象数据NetCDF格式数据的读写 ncdf4 | netCDF数据格式处理工具包1数据读取和查询
2.2 nc转tif
2.2.1 R语言
(1)
library(raster)
tmpbr - brick(cru_ts4.04.2001.2010.tmp.dat.nc, varnametmp)
writeRaster(tmpbr, filename tmpbrdatanames, bylayerT, formatGTiff)(2)
#读取单变量长时间序列nc数据
ncfile-nc_open(surfout_d03_2020-07-01_00_00_00)
names(ncfile$var)
input_nc surfout_d03_2020-07-01_00_00_00
varname T2
raster1 stack(input_nc, varname varname)
#设置输出路径名
outpath-../../output/test/
##为文件名设置做准备
x1-c(1:24)
x2-paste(2020_7_0_,x1,sep )
out_filename-sapply(x2, function(x)paste(x,.tif,sep )) #输出tif格式out_path-sapply(out_filename, function(x){paste(outpath,x,sep /)}) #输出路径名
#批量输出
for(i in 1:24){writeRaster(raster1[[i]],out_path[i], format GTiff, overwrite T)
} R语言nc转tif NetCDF(nc)数据读取与格式转换
2.2.2 panoply
官方安装包 Panoply的安装使用和所有相关信息
提取站点信息
使用R语言处理气象站点数据站点数据批量并行计算合成
根据经纬度利用R语言批量提取NC文件数据 R-如何在NC时间堆叠数据集中根据坐标提取数据并展示其趋势
经纬度和属性合并
library(ncdf4)
# 导入数据
nc - nc_open(file_1.nc)
lonlat - nc_open(file_2.nc)
# 经纬度和属性合并Var - ncvar_get(nc, Var)[,,1]
LAT - ncvar_get(lonlat, LAT)
LON - ncvar_get(lonlat, LON)
data - data.frame(var c(Var),lat c(LAT),lon c(LON))
ata_sf - st_as_sf(data, crs 4326,coords c(x lon, y lat)) 栅格的属性数据和经纬度是分开的两个文件将它们整合到同一个文件
其他参考