python的天气可视化分析
2019 年 04 月 11 日目 录
一、引言
(一)开发背景
天气预报是当今社会不可或缺的一部分,展示当天以及未来几天的天气情况,为我们的生活提供了很多便利。熟悉的声音,每天的准时播报,让我们及时了解到相关天气数据,随着时代的进步,不管是个人,还是企业,很多时候不仅仅需要知道天气状况、风向如何,还要得到更多有用的信息,比如实时天气,历史天气情况等等,天气预报并不能给我们提供这么多信息,并且了解信息的途径也是不太方便,虽然有些手机软件具备这些功能,但我们也并不能知道天气的特点、分布情况,各地地区的温度 *景先生毕设|www.jxszl.com +Q: ^351916072^
、空气质量对比 ,景点的天气等等。进而在web端呈现图表展示各类天气数据和特征,移动端提供天气更多信息的展示,来填缺这一不足之处。
(二)选题意义
数据可视化是目前较为火热的一门技术,也是生活中不可缺少的一部分,不仅通过图表直观的展现所要表达的意思,还能够提供趋势变化,数据交互等等。本次天气可视化的选题意思正是如此,提供各式各样的图形展示数据,让可视化与我们的生活相融,便利生活。
(三)设计目标
天气数据可视化主要通过我们熟悉的各类图表,形象地呈现数据,包括苏州天气的温度趋势,各类天气情况的分布,监测站的空气质量对比,全国天气的一览,热门景点的信息以及出行、洗车、穿衣、钓鱼的建议,通过自由切换头部选项,展示对应的信息图表。移动端的天气预报主要展示天气数据,查询各个地区的天气情况以及历史天气。
(四)开发软件
1. JetBrains PyCharm 2018.1.3 x64
Pycharm是JetBrains公司推行的基于python项目开发的IDE工具。为这门胶水语言提供更多的好处,包括Django的开发,智能提示,兼容git版本控制工具,项目管理等等。
2. HbuilderX
作为国产的前端编程软件,提供人性化的护眼模式,智能提示的功能更加强大,不仅仅可以追加到各个代码,还可以索引到模块内容等,并且大大提高了开发的效率。
3. IntelliJ IDEA 2018.1.5 x64
同样为JetBrains公司出品,对比熟悉的Eclipse,不仅仅具备着GitHub的集成,无需通过配置完成,并且也是具备很多人性化的强大功能,是java开发的必备软件。
二、系统分析与设计
(一)系统功能需求
天气可视化主要为图表结合的数据展示,目的是对于天气情况作出分析,更直观了解所需要的信息,主要功能有:天气信息的推送和查询、结合柱状图、折线图、饼状图、雷达图、中国地图等形式展示相关信息,并作出分析提供建议。
(二)web端流程图
天气可视化web端主要通过爬取数据,mongodb数据库存储数据,去重筛选数据,最后通过flask框架展示数据,主要通过这4个步骤实现,如图21所示:
获取筛选天气数据 传递参数数据
图21
(三)数据库设计
1、数据库的需求分析
本项目通过爬取接口数据,将返回的参数直接存储到MongoDB数据库中,具体数据库表格如下所示,包括城市景点天气数据表,预警数据表,空气质量数据表等。
数据库的逻辑结构
图31 城市天气数据表
图32 天气预警数据表
图33 天气质量数据表
(四)开发及运行环境
1、开发环境
开发环境:Pycharm 2018.1.3*64集成开发环境,HbuilderX。
开发技术:python、vue。
数据库管理系统软件:MongoDB 3.4.7。
服务器运行平台:Windows 10。
2、运行环境
服务器:存在JDK1.7以上版本,mysql数据库。
客户端:IE6.0以上浏览器。
三、概要设计
(一)基本设计和处理流程
移动端登录和注册采用结构化分析,循序渐进的进行操作,若存在限制条件,则返回,反之流程成功结束。如图31、图32所示:
图 31 登录流程图 图 32 注册流程图
(二)系统功能模块
移动端主要分为引导页、登录、注册、苏州天气、全国天气、景点天气、我的秘密共计7个大模块
(三)系统功能结构
Web端无需进行登录,可以直接查看所展示的所有信息,移动端提供登录和注册入口。
四、web端系统具体实现
(一)首页
首页主要展现多种模块,包括左上角的天气预报推送,右上角的城市天气以及苏州昨日天气的查询,正中间的全国天气、苏州天气、热门城市、人文风采、联系我等5个模块,如图41所示:
原文链接:http://www.jxszl.com/jsj/rjgc/65420.html