R语言处理nc数据

一、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)="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" names(nc_data$attr) 
#获取维度变量
names(nc_data$dim) 
#读取变量的维度,三列分别为.nc格式地区的经度、纬度、和时间维度
print(dim(T2))#150 150 24#看看缺失数据的填充值这里value=0
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), xmn=min(lon), xmx=max(lon), ymn=min(lat), ymx=max(lat), crs=CRS("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs+ towgs84=0,0,0"))
# 大多数netCDF文件都从左下角记录空间数据,需要转置和翻转以正确定位数据
r <- flip(r, direction='y')

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", varname="tmp")
writeRaster(tmpbr, filename = tmpbr@data@names, bylayer=T, format="GTiff")

(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")) 

栅格的属性数据和经纬度是分开的两个文件,将它们整合到同一个文件

其他参考

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/786398.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习: 绪论(基础概念)

文章目录 一、机器学习做什么二、机器学习的基本术语2.1、数据相关2.1.1、数据集2.1.2、特征&#xff08;Feature&#xff09;2.1.3、样本空间&#xff08;Sample Space&#xff09; 2.2、任务相关2.2.1、分类2.2.2、回归2.2.3、聚类2.2.4、监督学习和无监督学习 三、机器学习思…

智乃想考一道鸽巢原理

题目 思路&#xff1a; #include <bits/stdc.h> using namespace std; #define int long long #define pb push_back #define fi first #define se second #define lson p << 1 #define rson p << 1 | 1 const int maxn 1e6 5, inf 1e9, maxm 4e4 5; co…

VSCode 设置vue2模板

点击设置 > 用户代码片段 > 输入Vue &#xff08;打开vue.json&#xff09;> 将代码复制内 "Print to console": {"prefix": "<","body": ["<template>"," <div class$1></div>"…

Gauss到底是不是国产数据库

华为GaussDB数据库深度解析 引言 在数字化转型的浪潮中&#xff0c;数据成为企业最宝贵的资产之一。如何高效地管理和利用这些数据&#xff0c;成为企业面临的一大挑战。数据库作为数据存储和管理的核心系统&#xff0c;其性能、安全性、可用性和扩展性等特性直接影响到企业的…

wpf ContextMenu

ContextMenu上下文菜单 ContextMenu 在 WPF 中是一个非常有用的控件&#xff0c;它提供了一个在用户执行特定操作&#xff08;如右键点击&#xff09;时显示的菜单。ContextMenu 可以附加到几乎所有的 WPF 控件上&#xff0c;使得当用户与这些控件互动时&#xff0c;能够提供一…

苹果App上架指南

苹果上架要求是苹果公司对于提交应用程序到苹果商店上架的要求和规定。这些要求主要是为了保证用户体验、应用程序的质量和安全性。以下是苹果上架要求的详细介绍&#xff1a;1. 应用程序的内容和功能必须符合苹果公司的规 苹果上架要求是苹果公司对于提交应用程序到苹果商店上…

【随笔】Git -- 高级命令(中篇)(七)

&#x1f48c; 所属专栏&#xff1a;【Git】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f496; 欢迎大…

文本直接生成2分钟视频,即将开源模型StreamingT2V

Picsart人工智能研究所、德克萨斯大学和SHI实验室的研究人员联合推出了StreamingT2V视频模型。通过文本就能直接生成2分钟、1分钟等不同时间&#xff0c;动作一致、连贯、没有卡顿的高质量视频。 虽然StreamingT2V在视频质量、多元化等还无法与Sora媲美&#xff0c;但在高速运…

【项目技术介绍篇】若依项目代码文件结构介绍

作者介绍&#xff1a;本人笔名姑苏老陈&#xff0c;从事JAVA开发工作十多年了&#xff0c;带过大学刚毕业的实习生&#xff0c;也带过技术团队。最近有个朋友的表弟&#xff0c;马上要大学毕业了&#xff0c;想从事JAVA开发工作&#xff0c;但不知道从何处入手。于是&#xff0…

深入剖析Xen与KVM虚拟化技术及其架构特点

引言 在现代数据中心与云计算领域中&#xff0c;虚拟化技术已经成为提升资源利用率、增强灵活性与可扩展性的重要基石。其中&#xff0c;Xen与KVM作为两种备受瞩目的开源虚拟化解决方案&#xff0c;分别以其独特的设计理念与技术创新引领着行业的进步与发展。Xen源自剑桥大学的…

SQLite全文搜索引擎:实现原理、应用实践和版本差异

文章目录 一、实现原理1.1 倒排索引1.2 虚拟表 二、应用在工程上的实施方法2.1 创建FTS虚拟表2.2 插入数据2.3 全文搜索2.4 关联普通表2.5 更新和删除数据2.6 优化FTS虚拟表2.7 小结 三、FTS3、FTS4和FTS5的区别3.1 FTS33.2 FTS43.3 FTS53.4 小结 四、更新SQLite的FTS版本的步骤…

主键的创建、添加、删除操作

主键也是索引的一种 主关键字(primary key)是表中的一个或多个字段&#xff0c;它的值用于唯一的标识表中的某一条记录。在两个表的关系中&#xff0c;主关键字用来在一个表中引用来自于另一个表中的特定记录。主关键字是一种唯一关键字&#xff0c;表定义的一部分。一个表的主…

基于深度学习的停车场车辆检测算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 上图测试结果如下图所示&#xff1a; 2.算法运行软件版本 matlab2022a 3.部分核心程序 image imread(image_test\test.jpg); image2 image;%图…

2022-04-10作业

文章目录 BC131-kiki学程序设计基础BC123-小乐乐找最大数BC27-计算球体的体积BC25-计算体重指数 BC131-kiki学程序设计基础 BoBo老师教了KiKi学习程序设计基础&#xff0c;他知道C是带类的C语言&#xff0c;这个“”主要包含三部分内容&#xff1a;对C语言进行语法上的扩展、面…

第21章-直连路由和静态路由

1. 直连路由 1&#xff09;定义&#xff1a;指路由器接口直接相连的网段的路由&#xff1b; 2&#xff09;特点&#xff1a; ① 不需要特别的配置&#xff0c;双UP(物理层数据链路层)&#xff1b; ② 在路由器的接口上配置IP地址即可&#xff1b; ③ 开机自动产生&#xff1b; …

常用的设计模式(单例模式和工厂模式)

设计模式 单例模式 私有构造函数&#xff0c;防止外部直接实例化静态成员函数&#xff0c;返回唯一实例的引用静态局部变量&#xff0c;在程序生命周期内 #include<iostream> #include<map> using namespace std;class shoppingCartManager { public:// 获取购物…

Scala第十六章节(泛型方法, 类, 特质的用法、泛型上下界、协变, 逆变, 非变的用法以及Scala列表去重排序案例)

Scala第十六章节 章节目标 掌握泛型方法, 类, 特质的用法了解泛型上下界相关内容了解协变, 逆变, 非变的用法掌握列表去重排序案例 1. 泛型 泛型的意思是泛指某种具体的数据类型, 在Scala中, 泛型用[数据类型]表示. 在实际开发中, 泛型一般是结合数组或者集合来使用的, 除此…

C# 中 == 和 Equals 的区别

在C#中&#xff0c; 和 Equals 都是用于比较两个对象是否相等的操作符或方法&#xff0c;但它们之间存在着显著的区别。这些区别主要体现在它们的操作级别、用途以及如何处理不同类型的对象比较上。 1. 操作级别和用途 操作符&#xff1a; 是一个操作符&#xff0c;用于比较…

vulhub中Apache solr XML 实体注入漏洞复现(CVE-2017-12629)

Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发&#xff0c;主要基于 HTTP 和 Apache Lucene 实现。原理大致是文档通过Http利用XML加到一个搜索集合中。查询该集合也是通过 http收到一个XML/JSON响应来实现。此次7.1.0之前版本总共爆出两个漏洞&#xff1a;XML…

Day13Day14_学点儿HTML_基本标签、div和span、table、form

1 基本标签 HTML&#xff1a;超文本标记语言 定义页面结构 CSS&#xff1a; 层叠样式表 页面显示的样式、排版 BootStrap JS&#xff1a; JavaScript 界面交互(动态交互、逻辑) JQuery <!--~ 适度编码益脑&#xff0c;沉迷编码伤身&#xff0c;合理安排时…