大数据期末课设~基于spark的气象数据处理与分析

news2024/12/23 0:51:56

目录

      一 、项目背景 .......................................... 3

      二 、实验环境 .......................................... 3

三 、实验数据来源 ................................... 4

四 、数据获取 .......................................... 5

五 、数据分析 ......................................... 17

六 、数据可视化 ....................................... 21

七 、总结 ............................................. 23

 

  • 项目背景

天气情况与各个行业的经营发展有密不可分的关系,通时也与人们日常出行有一定的关联。当前天气预报技术主要利用先进的数据分析技术进行预测播报,但实际准确度与时效性依然无法满足当下社会需求。大数据时代的到来使得整个数据分析的过程更为科学合理,同时气象数据中隐含的价值被挖掘与应用,天气预报的应用意义得到进一步的开发。

天气预报的主要内容是一个地区或城市未来一段时期内的阴晴雨雪、最高最低温、风向和风力及特殊的灾害性天气。就中国而言,气象台准确预报寒潮、台风、暴雨等自然灾害出现的出现和强度,就可以直接为工农业生产和群众生活服务。随着生产力的发展和科学技术的进步,人类活动范围空前扩大,对大自然的影响也越来越大,因而天气预报就成为现代社会不可缺少的重要信息。

天气预报是根据气象观测资料,应用天气学、动力气象学、统计学的原理和方法,对某区域或某地点未来一定时段的天气状况作出定性或定量的预测。它是大气研究科学的一个重要目标。对人们生活有重要意义。

简而言之,气象数据的可视化是为了方便人们更直观的了解当前的天气情况,大大的降低了使用的困难程度,并且也降低了对于期限数据理解的难度。不管是对于使用者还是消费者来讲,都是一大利好。

  • 实验环境

(1)Linux:Ubuntu 16.04

(2)Python:3.9

(3)Spark:2.4.0

(4)Jupyter Notebook

安装完上述环境以后,为了支持Python可视化分析,还需要执行如下命令安装新的组件:

sudo apt-get install python3-matplotlib

 

sudo apt-get install python3-tk

 

  • 实验数据来源

本次实验所采用的数据,从中央气象台官方网站(网址:关注阴晴冷暖,气象一直为你)爬取,主要是最近24小时各个城市的天气数据,包括时间点(整点)、整点气温、整点降水量、风力、整点气压、相对湿度等。正常情况下,每个城市会对应24条数据(每个整点一条)。数据规模达到2412个城市,57888条数据,有部分城市部分时间点数据存在缺失或异常。限于本次大作业时间有限,没有办法全面分析这些数据,大作业中主要计算分析了各个城市过去24小时的平均气温和降水量情况。

  • 数据获取

1.观察数据获取方式

 

进入中央气象台官方网站(网址:关注阴晴冷暖,气象一直为你),任意点击左侧栏“热点城市”中的一个城市。打开谷歌(chrome)浏览器的Web控制台。通过切换“省份”和“城市”,我们可以发现,网页中的数据是以json字符串格式异步地从服务器传送。可以发现以下数据和请求URL的关系。

 

请求URL传回数据
http://www.nmc.cn/f/rest/province 省份数据
http://www.nmc.cn/f/rest/province/+省份三位编码 某个省份的城市数据

http://www.nmc.cn/f/rest/passed/+城市编号 某个城市最近24小时整点天气数据

由于省份三位编码(如福建省编码为“ABJ”)需要从省份数据获得中获得,城市编号需要从城市数据获得(如福州市编号为“58847”),所以为了获得各个城市最近24小时整点天气数据,依次爬取省份数据、城市数据、最近24小时整点数据。

2.数据爬取

由于可以直接通过访问请求URL,传回的响应的数据部分即是json格式的数据,所以只需要调用python的urllib2库中相关函数,对上述URL进行请求即可。不需要像平常爬取HTML网页时还需要对网页源码进行解析,查找相关数据。唯一需要注意的是,有些城市可能不存在或者全部缺失最近24小时整点数据,需要进行过滤,以免出错。

3.数据存储

虽然上一步获取的json数据可以直接存储并可使用SparkSession直接读取,但是为了方便观察数据结构、辨识异常数据、对数据增加部分提示信息,爬取后的数据进行了一些处理之后,保存成了csv格式,包括省份数据(province.csv)、城市数据(city.csv)、各个城市最近24小时整点天气数据(passed_weather_ALL.csv)。由于所有城市过去24小时整点天气数据数量太多,为了避免内存不足,每爬取50个城市的数据后,就会进行一次保存。

4.数据读取

因为各个城市最近24小时整点天气数据体量较大,每次爬取需要半小时以上,为了提高实验效率,只会进行一次数据爬取。此后会直接读取第一次实验数据。如果需要重新爬取数据,需要手动删除已有数据,即删除input文件夹下province.csv、city.csv、passed_weather_ALL.csv。

5.数据结构

最后保存的各个城市最近24小时整点天气数据(passed_weather_ALL.csv)每条数据各字段含义如下所示,这里仅列出实验中使用部分。

 

  

province 城市所在省份(中文)
city_index 城市序号(计数)
city_name 城市名称(中文)
city_code 城市编号
time 时间点(整点)
temperature 气温
rain1h 过去1小时降雨量

想要获取更多资源,请点击以下链接:

https://download.csdn.net/download/qq_53142796/87277310

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

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

相关文章

港科夜闻|2022年香港科大气候适应及复原力大会圆满闭幕,政经领袖研讨香港气候政策与绿色金融发展...

关注并星标每周阅读港科夜闻建立新视野 开启新思维1、2022年香港科大气候适应及复原力大会圆满闭幕,政经领袖研讨香港气候政策与绿色金融发展。该会议由香港科大主办,于12月10日开幕。会议以跨领域的知识及观点交流为方针,凝聚公营及私营部门…

vulnhub serial讲解

环境搭建 下载 https://download.vulnhub.com/serial/serial.zip ​ 你会得到一个这样的文件,这里使用VMware新建一个虚拟机,这里记录比较重要的几部分。 ​ ​ ​ ​ 这里就是使用我们刚才下过来的。 ​ 漏洞过程详解 1.信息收集 netdiscover -i …

[附源码]Node.js计算机毕业设计调查问卷及调查数据统计系统Express

项目运行 环境配置: Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境:最好是Nodejs最新版,我…

【论文】Auto-Encoding Variational Bayes

1.预备概念 1.1 后验分布 最大后验(Maximum a Posteriori,MAP)概率估计详解 【参考文章】https://blog.csdn.net/fq_wallow/article/details/104383057 1.2 重参数 Reparameterization 目的是: 转为公式表达从而实现微分 知乎…

编辑部已成羊村,这几天幸亏有ChatGPT(doge)

梦晨 羿阁 发自 凹非寺量子位 | 公众号 QbitAI坏事了,AI真的来抢饭碗了。还是我的饭碗!这两天你们看的推送,有些标题是AI帮忙取的,有些文章甚至由AI完成了主要工作。我呢?我不过是打打下手,加些过渡句&…

RS485总线详解

RS485总线详解前言一、常见接口划分二、RS485概述(一)简介(二)接口/引脚图三、RS485总线详解(一)RS485总线概述(二)差分传输:(三)原理图&#xff…

基于51单片机的超声波测距系统设计

功能: 超声波测距仪,测量距离,用LCD12864显示信息。 lcd_writestr(0,0," 超声波测距仪 "); lcd_writestr(1,0,"********");…

商场中央空调工程-商场商铺中央空调安装常见问题解答

商场中央空调工程-商场商铺中央空调安装常见问题解答 为了提高装修档次,提高舒适度,为顾客营造一个相对舒适的购物环境,很多门店都会选择安装中央空调。刚接触门店中央空调安装的客户会有很多疑问。例如,商店安装的中央空调和家用…

Android消息机制与源码剖析(Looper,Message,MessageQueue以及Handler)

Android消息机制 文章目录Android消息机制消息传递与处理的流程(配图示)1.【入口】 在 ActivityThread.class 的 main() 方法,为主线程创建 Looper,并开启 loop() 循环2.【创建Looper】通过 Looper.prepareMainLooper() 创建主线程…

MySQL如何快速恢复单表(物理方式)

GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。作者:xryz文章来源:社区投稿 使用方法 1、首先创建一个测试表test1,并插入几条数据&#x…

DataParallel里为什么会显存不均匀以及如何解决

作者:台运鹏 (正在寻找internship...)主页:https://yunpengtai.top鉴于网上此类教程有不少模糊不清,对原理不得其法,代码也难跑通,故而花了几天细究了一下相关原理和实现,欢迎批评指正!关于此部…

商品上下游第六讲-交易中心-商品秒杀

交易中心-商品秒杀设计 文章目录 交易中心-商品秒杀设计1、项目背景2、主要技术3、项目职责4、项目实现4.1、需求分析4.2、核心流程4.3、关键链路技术方案4.4、库存处理方式1、库存超卖问题订单层面的控制4.5、限流,熔断,降级4.6、超职购小程序—接口梳理4.7、缓存的设计4.8、…

mybatis入门(一)

什么是 MyBatis ? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的…

如何使用匈牙利算法解决多维度的约束条件问题

🍿*★,*:.☆欢迎您/$:*.★* 🍿 正文 假设 一个项目 有三个 维度的参数 A B C 都要 组合后最小 分别求解 a b c 三个维度的最优组合 如果三个组合方案刚好 重叠 那么说明有一个使得三个方案最优的 解 如果没有 那么若选择某个方案 其他维度的参数 的值 是…

直播倒计时 2 天 | SOFAChannel#31 RPC 框架设计的考和量

SOFARPC 是蚂蚁集团开源的一款基于 Java 实现的 RPC 服务框架,为应用之间提供远程服务调用能力,具有高可伸缩性,高容错性,目前蚂蚁集团所有的业务的相互间的 RPC 调用都是采用 SOFARPC。SOFARPC 为用户提供了负载均衡,…

Android -- 每日一问:回调函数和观察者模式的区别?

知识点 观察者模式 网上很容易查到观察者模式的定义: 观察者模式定义了对象间的一种一对多依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。 Android中大量的使用了观察者模式。你可能已经用过ListView…

基于51单片机的舞蹈机器人步进机仿真设计

程序运行图: 仿真原理图: 部分程序: #include "reg51.h" #include "intrins.H" //8步式步进电机脉冲序列 //unsigned char steps[8] {0x77,0x33,0xbb,0x99,0xdd,0xcc,0xee,0x66}; unsigned char steps[8] {0x2,0x…

Vue2快速入门

Vue 介绍 Vue 是一套构建用户界面的渐进式前端框架只关注视图层,并且非常容易学习,还可以很方便的与其它库或已有项目整合通过尽可能简单的API来实现响应数据的绑定和组合的视图组件特点易用:在有HTML CSS JavaScript的基础上,快速…

拓扑排序(数据结构之图的应用)

我们先搞清楚一个概念: 什么是出度与入度? 在有向图中,箭头是具有方向的,从一个顶点指向另一个顶点,这样一来,每个顶点被指向的箭头个数,就是它的入度。从这个顶点指出去的箭头个数&#xff0c…

不锈钢风淋室的使用需要注意哪些事项

风淋室的使用需要注意哪些事项 一、风淋室的操作说明: 1) 接通380V,50HZ电源(L1、L2、L3-火线,N-零线,E-接地线),打开工作、照明开关,确认风机与照明工作正常,此时,风/货淋室处于初…