气象观测站点数据下载与处理

一、下载途径

全国400多个气象站气候数据(1942-2022)
王晓磊:中国空气质量/气象历史数据 | 北京市空气质量历史数据
气象数据免费下载网站整理
中国气象站观测的气象数据怎么下载

二、R语言处理

2.1 提取站点文件

在这里插入图片描述

library(dplyr)
library(readxl)
library(openxlsx)
library(tidyverse)
require(devtools)
rm(list=ls()) 
setwd("E:\\program1\\03-项目进展-3模型模拟结果验证\\input\\20230628 中国气象观测数据")
Stations=read_excel("../city_pre.xlsx",sheet = 1, col_names = c("province","stations","city","lat","lon"), col_types = NULL, na = "", skip = 0)####Pre 36cities#####for (i in 1:dim(Stations)[1]) {station=Stations[i,2]province=Stations[i,1]city=Stations[i,3]station_data <- data.frame()for (year in 2000:2021) {infile <- paste0("china_isd_lite_", year, "/", station, "0-99999-", year)if (file.exists(infile)) {temp_data <- read.table(infile) %>% as.tibble() %>% set_names("Year", "Month", "Day", "Hour", "ATemp", "DPTemp", "SLP", "WDir", "WSpeed", "SkyCover", "LPD1", "LPD6") station_data <- bind_rows(station_data,temp_data)} else {cat("No such file exists:", infile, "\n")}}if (nrow(station_data) > 0) {output_folder <- "E:/program1/03-项目进展-3模型模拟结果验证/output/PRE_files/"city_Pre <- paste(output_folder,"Pre_",province,"_",city,"_",station,"_data.csv",sep="")write.csv(station_data, city_Pre, row.names = T)}
}####判断station是否存在####
#获取有文件的站点
row(Stations)#98 5
dim(Stations)[1]#行数
length(row(Stations))#总数行*列station_data <- data.frame()
for (i in 1:dim(Stations)[1]) {city=Stations[i,2]infile <- paste0("china_isd_lite_2020", "/", city, "0-99999-", 2020)if (file.exists(infile)) {st <- as.data.frame(Stations[i, ]) station_data <- bind_rows(station_data,st)}else {cat("No such file exists:", infile, "\n")}
}
output_folder <- "E:\\program1\\04-项目进展-4城市降水量整理\\output\\PRE\\"
city_Pre <- paste(output_folder, "Pre_stations_info.csv", sep = "")
write.csv(station_data, city_Pre, row.names = T)
Sys.setlocale(category = "LC_ALL",locale = "Chinese")
write.csv(station_data, city_Pre, row.names = FALSE,fileEncoding = "UTF-8")
####~~~~~~~~####
#查看结果文件数量
# 指定文件夹路径
folder_path <- "E:\\program1\\04-项目进展-4城市降水量整理\\output\\PRE_Process"
# 列出文件夹中的所有文件
files <- list.files(folder_path)
# 获取文件数量
num_files <- length(files)
# 打印文件数量
print(num_files)
```ruby
library(dplyr)
library(readxl)
library(openxlsx)
library(tidyverse)
require(devtools)
rm(list=ls()) 
setwd("E:\\program1\\04-项目进展-4城市降水量整理\\output\\")Stations=read_excel("../input/city_pre.xlsx",sheet = 1, col_names = c("province","stations","city","lat","lon"), col_types = NULL, na = "", skip = 0)
head(file)

2.2降水数据处理

####Pre 36cities#####
folder_path <- "./PRE/"  # 替换为实际的文件夹路径
files <- list.files(folder_path, full.names = TRUE)
# 循环处理每个文件
for (file in files) {#查看字符串长度eg Pre_安徽_合肥_58321_data.csva=str_length(file)#提取字符串从name <- str_sub(file, start = 7, end =a)Stations = read.csv(file)%>% #将文件读取为一个tibble数据框,并修改表头as.tibble() head(Stations)#将降水为-99999和-1的无效值赋值为0Stations$LPD6[Stations$LPD6 <0] <- 0#选取列,不要4-11列data=Stations[,-4:-11]#删除b,d列的处理方式,-which 可以用!代替#data[ , -which(colnames(data) %in% c("SLP","WDir"))]# head(data)# 将日期列合并为一个新的列data$Date <- as.Date(paste(data$Year, data$Month, data$Day, sep = "-"))# 按日期分组,并计算每天的 LPD6 总和sum_LPD6 <- aggregate(LPD6 ~ Date, data = data, FUN = sum)# head(sum_LPD6)# 将年、月、日的列与 LPD6 总和列合并以Date为标准result <- merge(data, sum_LPD6, by = "Date")#head(result)result=result[,-5]result$LPD6.y=result$LPD6.y/10data_unique <- unique(result)# 打印结果# head(data_unique)output_folder <- "./PRE_Process/"city_Pre <- paste0(output_folder,"Pro_",name, sep = "")write.csv( data_unique, city_Pre, row.names = FALSE)
}

在这里插入图片描述

code参考
2000-2020年中国地面气象数据:从NOAA到分省面板
R语言批处理中国地面气候资料日值数据集(V3.0)
使用R语言处理气象站点数据,站点数据批量并行计算合成
R语言处理中国气象数据共享网-中国地面气候资料日值数据集(V3.0)

三、制图

R语言可视化作图

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

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

相关文章

探索顶级短视频素材库:多样化选择助力创作

在数字创作的浪潮中&#xff0c;寻找优质的短视频素材库是每位视频制作者的必经之路。多种短视频素材库有哪些&#xff1f;这里为您介绍一系列精选的素材库&#xff0c;它们不仅丰富多样&#xff0c;而且高质量&#xff0c;能极大地提升您的视频创作效率和质量。 1.蛙学网 蛙学…

绝地求生:PWS韩国联赛结束:KDF夺冠,DNW三年来首次错失世界赛

4.14号PWS韩国联赛结束了为期3天的决赛&#xff0c;KDF战队以73击杀117分获PWS第一阶段冠军&#xff0c;队内Heaven获MVP&#xff0c;DK_seoul伤害王。 常规赛靠前的DNW和Gen.G决赛均发挥失常都没有进入前八&#xff0c;其中上届世界冠军DNW在双S核心出走后时隔三年首次错失世界…

ubuntu20.04安装+ros-noetic安装+内网穿透frp

刷机后的系统安装 ubuntu20.04安装安装ros-noetic安装各种必要的插件安装vscode内网穿透连接实验室主机配置frpc和frps文件运行完成自动化部署免密登录linux的免密登录windows上的免密登录 内网穿透的参考链接&#xff1a;如何优雅地访问远程主机&#xff1f;SSH与frp内网穿透配…

6、JVM-JVM调优工具与实战

前置启动程序 事先启动一个web应用程序&#xff0c;用jps查看其进程id&#xff0c;接着用各种jdk自带命令优化应用 Jmap 此命令可以用来查看内存信息&#xff0c;实例个数以及占用内存大小 jmap -histo 14660 #查看历史生成的实例 jmap -histo:live 14660 #查看当前存活的实…

SQL12 获取每个部门中当前员工薪水最高的相关信息

题目&#xff1a;获取每个部门中当前员工薪水最高的相关信息 注意了&#xff0c;这道题目&#xff0c;分组函数只能查出来&#xff1a;每个部门的最高薪水&#xff0c;group by dept_no &#xff0c;根据部门分组&#xff0c;绝对不能group by dept_no,emp_no&#xff0c;不能…

云正在使 IT 受益,但对业务却没有好处

云具有巨大的商业价值&#xff01;这是云提供商及其盟友在每次云计算会议上高喊的战斗口号。 您永远不会听到我说“云”始终是正确的解决方案&#xff0c;或者就此而言&#xff0c;是错误的解决方案。 在作为云专家 20 多年的时间里&#xff0c;从来没有盲目追随云计算先驱或…

Educational Codeforces Round 164 (Rated for Div. 2)

D. Colored Balls 题意&#xff1a;给你n个颜色不同的小球&#xff0c;以及每种颜色小球的数量&#xff0c;让你求 种集合分割方案的价值和 我们考虑一个集合的贡献&#xff0c;如果最大值大于sum的一半&#xff0c;那么值就是max&#xff0c;反之值就是(sum1)/2 那么我们可…

Docker Desktop修改镜像存储路径 Docker Desktop Start ... 卡死

1、CMD执行wsl -l -v --all 2、Clean / Purge data 3、导出wsl子系统镜像: wsl --export docker-desktop D:\docker\wsl\distro\docker-desktop.tar wsl --export docker-desktop-data D:\docker\wsl\data\docker-desktop-data.tar4、删除现有的wsl子系统&#xff1a; wsl -…

快速寻找可以构建出网通信隧道的计算机

点击星标&#xff0c;即时接收最新推文 本文选自《内网安全攻防&#xff1a;红队之路》 扫描二维码五折购书 为加强内网的安全防范&#xff0c;安全管理员往往会限制内网计算机访问互联网&#xff0c;当然不同机构的限制策略是不一样的&#xff0c;有的完全阻断了内网计算机访问…

【Linux】进程的优先级及linux下进程的调度于切换

目录 ​编辑 1.优先级是什么 2.linux中的优先级是怎么实现的 ps -la 命令查看当前用户启动的进程​编辑 linux下调整优先级&#xff1a; ①先top一下 ②点击r ③需要输入进程的pid ④回车 ​编辑 ⑤输入想将优秀级修改的值&#xff1a; linux进程优先级范围为什么必须是【60,9…

自编译支持CUDA硬解的OPENCV和FFMPEG

1 整体思路 查阅opencv的官方文档&#xff0c;可看到有个cudacodec扩展&#xff0c;用他可方便的进行编解码。唯一麻烦的是需要自行编译opencv。 同时&#xff0c;为了考虑后续方便&#xff0c;顺手编译了FFMPEG&#xff0c;并将其与OPENCV绑定。 在之前的博文“鲲鹏主机昇腾A…

osg场景图的数据结构

1、Scene Graph场景图 场景图是一种描述三维场景的数据结构:它是一个有向无循环图。 OSG中不仅定义了场景图的数据结构&#xff0c;还提供了对这种图数据结构的各种访问方式&#xff0c;或者说是管理方法&#xff0c;如渲染。 2、常见节点 备注&#xff1a;Tranform变换的是模…

小车项目介绍

STM32智能小车基于STM32F103C8T6进行开发 该项目具有OLED,USART串口,ADC测量电压,陀螺仪,超声波测距模块,红外循迹模块,蓝牙模块,按键,电机驱动,电机,舵机,电源等功能 功能详细介绍: OLED模块 使用:OLED显示屏模块 0.96寸 IIC/SPI 选择原因&#xff1a;价格较低、使用方便…

如何在jmeter中把响应中的数据提取出来并引用

jmeter做接口测试过程中&#xff0c;经常遇到请求需要用到token的时候&#xff0c;我们可以把返回token的接口用后置处理器提取出来&#xff0c;但是在这种情况下&#xff0c;只能适用于当前的线程组&#xff0c;其他线程组无法引用到提取的token变量值&#xff0c;所以必须要生…

如何用好PMP项目管理知识

PMP(Project Management Professional&#xff0c;项目管理专业人士)是由国际项目管理协会&#xff08;PMI&#xff09;颁发的全球最高级别的项目管理认证&#xff0c;认证需要通过严格的考试&#xff0c;并具备相应的工作经验和教育背景。 作为一名咨询师&#xff0c;我们经常…

vscode和pycharm等idea编写protobuf文件格式化

想在pycharm或者goland等idea中开发protobuf文件的话&#xff0c;可以安装一个插件&#xff1a;protocol-buffers 安装之后&#xff0c;proto文件就会支持高亮和格式化了。 如果是vscode想要编写proto文件&#xff0c;可以安装另外一个插件&#xff1a;vscode-proto3 安装后&a…

C++修炼之路之list模拟实现--C++中的双向循环链表

目录 引言 一&#xff1a;STL源代码中关于list的成员变量的介绍 二&#xff1a;模拟实现list 1.基本结构 2.普通迭代器 const迭代器的结合 3.构造拷贝构造析构赋值重载 清空 4.inserterase头尾插入删除 5.打印不同数据类型的数据《使用模板加容器来完成》 三&#xf…

AGI趋势/创业的从业者

红杉这两年分享了好多AI文章&#xff0c;收录了多篇关于GenAI的观点和文章&#xff0c;涉及GenAI的未来、趋势、应用和挑战等话题。 比如&#xff1a; 2024 年的人工智能&#xff1a;从大爆炸到原始汤 下一个十亿开发者 生成式人工智能的第二幕 AI 的 $200B 问题 将生成式…

2024 MathorCupC题完整解题及成品论文!

C 题 物流网络分拣中心货量预测及人员排班 电商物流网络在订单履约中由多个环节组成,图 1 是一个简化的物流 网络示意图。其中,分拣中心作为网络的中间环节,需要将包裹按照不同 流向进行分拣并发往下一个场地,最终使包裹到达消费者手中。分拣中心 管理效率的提升,对整体网络的…

华为ensp中nat server 公网访问内网服务器

作者主页&#xff1a;点击&#xff01; ENSP专栏&#xff1a;点击&#xff01; 创作时间&#xff1a;2024年4月15日17点30分 NAT服务器是一种在网络边界设备上配置的服务&#xff0c;它允许外部网络的用户访问内部网络中的服务或主机&#xff0c;同时隐藏了内部网络的真实IP地…