一、项目简介
随着科技技术的不断发展,人民物质生活质量不断提高,我们越来越关注身边的气象、空气等地理环境。对于普通居民我们会选择合适的气象进行出游,提高精神层面的生活质量;对于企业会关注气象变换状况,来定制相关的生产计划,来提高企业生产效率并降低生成过程中由气象造成的风险损失。从社会角度我们不难看出,气象时时刻刻影响我们的规划和生活,因此我们开发一套中国气象数据可视化系统,更加直观的呈现气象状况,是有必要的。
中国气象质量大数据展示与分析系统,通过使用python爬虫技术对中国气象数据进行实时获取,然后利用相关数据清洗以及数据库处理技术存入数据库,再通过Python Web框架也就是Flask框架进线系统后台数据接口开发,通过Echarts技术进行数据分析可视化展示以及通过LayUI前端技术开发后台数据管理页面从而来完成我们最终的中国气象数据可视化系统。
二、开发环境
|
开发环境 |
版本/工具 |
|
PYTHON |
3.6.8 |
|
开发工具 |
PyCharm |
|
操作系统 |
Windows 10 |
|
内存要求 |
8GB 以上 |
|
浏览器 |
Firefox (推荐)、Google Chrome (推荐)、Edge |
|
数据库 |
MySQL 8.0 (推荐) |
|
数据库工具 |
Navicat Premium 15 (推荐) |
|
项目框架 |
FLASK |
三、项目技术
后端:Flask、PyMySQL、MySQL、requests
前端:Jinja2、Jquery、Ajax、layui
四、功能结构
本系统经过相关调研,设计了气象数据后台管理模块以及气象可视化模块。
其中气象后台数据管理模块包含功能有基础系统数的据增删改查、气象相关数据的增删改查以及气象数据网络爬虫等,气象数据网络爬虫主要通过登录系统后进行启动操作,然后系统会通过网络加载气象数据,对气象数据进行解析,再进行相应的数据处理操作,例如缺失值处理、文字数据编码等一些列操作,最终存入数据库。
数据可视化功能,则主要分为温度、空气、风力等多维度对气象数据进行视化分析处理。系统功能结构如图所示。
1 引言
-
- 研究背景
项目研究背景而言,本小结主要从国内开发背景,以及国外开发背景两个方面去阐述信息技术时代下的气象实时采集以及可视化系统。
首先针对Python语言而言,Python更适合处理科学性工作,例如机器学习、深度学习、数据分析、自动化运维等,国内大多数厂商使用Python Web领域相对还偏少,但这不意味着Python Web不成熟,它拥有着Flask、Django等优秀Python Web开源框架和活跃的技术论坛,能够完全满足基本Web开发的全部需求。针对气象领域,目前中国气象局会对全国气象数据进行采集,但是可视化分析相对较少。市面上存在的可视化内容相对而言,技术陈旧,年久失修。所以本系统的主要是通过网络爬虫实时获取气象数据,然后对数据进行分析与可视化。
国外互联网起源较早,技术相对成熟,Python许多开源框架以及技术解决方案都是由国外厂家提供,但是他们主要关注于基础框架、理论建设层面,针对于应用层面研究相对较少。同时,针对于气象可视化系统方面,国外也有一些作者进行相关研究分析,但相对没有那么全面。国外开发的气象可视化系统,从数据源的角度就不适用于国内行情。
-
- 研究意义
自20世纪以来,我国以及全球的信息技术发展日新月异,从各个方面来影响着我们的工作与生活,为我们的工作和生活带来了极大的便利。互联网早已成了我们生活和工作的一部分,是不可或缺的一部分。在生活工作的诸多场景中,都可以发现互联网的痕迹,比如疫情监控、炒股数据分析、新闻网站APP、短视频网站APP、移动支付等等。这些都是互联网技术、信息技术给我们带来的便利。本文则选择探讨利用软件信息技术来监测分析我国气象的实时状况。
中国气象质量大数据展示与分析系统通过对全国气象数据的实时获取,然后通过技术分析。客观的呈现全国各个地区的实时气象状态。通过更加直观、更加智慧、更加高效的展示与分析,有效的辅助相关从业人员根据气象做出相应的生产决策,有利于受气象影响的行业提前战略部署,在一定程度上规避自然原因带来的风险问题。提高相关人员的决策正确率,来切实解决规避日常生产环境造成的一些风险问题,为企业节约生产成本,促进企业积极健康的良性发展。
-
- 开发技术
开发语言简介,主要介绍本课题所用到的核心开发技术,通过对技术的分析进而来确定系统开发的技术选型,确保项目的顺利进展。
-
-
- Python语言简介
-
Python语言是世界范围内爆火的语言[1]。Python语言久居世界语言排行榜第一。像国内知名的互联网公司百度、腾讯、阿里巴巴都有对应的Python工程师、算法工程师在职,而且他们的前沿项目都是离不开Python这门高级开发语言。Python语言具有语法简单、易上手、功能强大等特点,广泛应用在各个领域以及各个研发方向。其中在人工智能领域、数据分析领域、脚本领域、软件测试等诸多常用领域,有着不可替代的地位。
-
-
- Flask框架
-
Flask框架的功能非常强大、简单、易用[2]。它可以很好的用于Python环境下开发Web项目[3]。Flask框架是一种轻量级的设计框架[4]。它可以不用写很多的业务代码,也可以不使用手动设置参数,就可以轻松开发出前端网页接口。Flask可以使程序员在开发时只关注开发业务的本身,而不需要去关注框架怎么设计、结构怎么设计以及框架怎么配置等操作,这样可以大大降低我们开发时所需要付出的精力,增加我们的开发效率。
-
- 开发工具
开发工具简介,主要介绍本课题在开发设计与实现的过程钟使用到的开发工具,便利开发的顺利完成。
-
-
- IntelliJ Pycharm
-
IntelliJ Pycharm是为Python语言开发的集成开发环境[5]。IntelliJ系列产品在IT行业可谓是口碑俱佳,且一直再更新维护,让消费者用起来方便、便捷、稳定,能有很好的解决消费者因开发工具、开发环境引起的工作问题以及态度问题。IntrlliJ系列包含信息技术开发众多产品,每一款都可以算上业内顶尖,都具备自动插拔插件、提示并正确补全开发内容等快捷功能。
-
-
- Google Chrome简介
-
Google Chrome是一款十分流行的浏览器[6]。每一个信息技术从业研发人员,电脑上必备的浏览器软件之一;它的核心有点就是具备稳定的内核,可以稳定、高效的解析各种浏览器语言;同时它具备debug功能,对开发者调试开发前端项目非常友好;它还具备自动插拔式插件以及相关的插件生态,使用起来非常方便、快捷。



核心算法代码分享如下:
import time
import pymysql
import requests
class dbUtil():
def __init__(self):
conn, cursor = self.get_conn()
self.conn = conn
self.cursor = cursor
def get_time(self):
time_str = time.strftime("%Y{}%m{}%d{} %X")
return time_str.format("年", "月", "日")
def get_conn(self):
# 建立连接
conn = pymysql.connect(host="127.0.0.1", port=3396, user="root", password="123456", db="weathers",
charset="utf8")
# c创建游标A
cursor = conn.cursor()
return conn, cursor
def close_commit(self):
self.conn.commit()
if self.cursor:
self.cursor.close()
if self.conn:
self.conn.close()
def close(self):
self.conn.commit()
if self.cursor:
self.cursor.close()
if self.conn:
self.conn.close()
def query(self, sql, *args):
self.cursor.execute(sql, args)
res = self.cursor.fetchall()
return res
def query_noargs(self, sql):
self.cursor.execute(sql)
res = self.cursor.fetchall()
return res
def get_current_city():
try:
# 发送请求获取 IP 地址信息
response = requests.get('https://ipinfo.io')
data = response.json()
# 提取城市信息
city = data.get('city')
if city:
return city
else:
print("城市信息不可用")
except Exception as e:
print(f"发生错误: {e}")
6721

被折叠的 条评论
为什么被折叠?



