调用万维易源API实现天气预测

news/2024/11/20 8:39:09/

目录

  • 1. 作者介绍
  • 2. 关于理论方面的知识介绍
    • 2.1 天气预测简介
    • 2.2 预测方法
  • 3. 代码实现
    • 3.1 需要安装的包
    • 3.2 部分代码
    • 3.3 实验结果

1. 作者介绍

房庚晨,男,西安工程大学电子信息学院,22级研究生
研究方向:机器视觉与人工智能
电子邮件:1292475736@qq.com

张思怡,女,西安工程大学电子信息学院,2022级研究生,张宏伟人工智能课题组
研究方向:机器视觉与人工智能
电子邮件:981664791@qq.com

2. 关于理论方面的知识介绍

2.1 天气预测简介

天气预测就是应用大气变化的规律,根据当前及近期的天气形势,对未来一定时期内的天气状况进行预测。
天气预测在多个方面有着极大的作用,例如:干旱检测,农业与生产计划,航空工业和个人出行等等。

2.2 预测方法

(1)天气学预报方法(或称天气图方法):
是以天气图为主要工具,配合卫星云图、雷达图等,用天气学的原理来分析和研究天气的变化规律,从而制作天气预报的方法。这种方法主要用于制作短期预报。
(2)数值预报方法(又称动力学预报方法):
是利用大型、快速的电子计算机求解描述大气运动的动力学方程组来制作天气预报的方法。这种方法可用于制作短期预报,也可做中、长期预报。近几年还开始用来做气候预报。
(3)统计预报方法:
采用大量的、长期的气象观测资料,根据概率统计学的原理,寻找出天气变化的统计规律,建立天气变化的统计学模型来制作天气预报的方法。这种方法主要用于制作中、长期预报和气象要素预报。

3. 代码实现

3.1 需要安装的包

python3.6.5
需要引入requests包 :运行终端->进入python/Scripts ->输入:pip install requests

3.2 部分代码

from ShowapiRequest import ShowapiRequest
r=ShowapiRequest("http://route.showapi.com/9-9","1437460","04e4f362e2ae447eb22e7eedcdd0d799" )  #查询网址和appid和secret
r.addBodyPara("areaCode","")
r.addBodyPara("area","西安")  #查询地址
res = r.post()
print(res.text) # 返回信息子函数ShowapiRequest代码 
import requests
from urllib import parse
#全局请求头
files = {}
headers = {}
body = {}
timeouts = {}
resHeader = {}class ShowapiRequest:def __init__(self, url, my_appId, my_appSecret):self.url = urlself.my_appId = my_appIdself.my_appSecret = my_appSecretbody["showapi_appid"] = my_appIdbody["showapi_sign"] = my_appSecretheaders["User-Agent"] = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2427.7 Safari/537.36"def addFilePara(self, key, value_url):files[key] = open(r"%s "% (value_url), 'rb')return selfdef addHeadPara(self, key, value):headers[key] = valuereturn selfdef addBodyPara(self, key, value):body[key] = valuereturn self#设置连接时间和读取时间def setTimeout(self, connecttimout, readtimeout):timeouts["connecttimout"] = connecttimouttimeouts["readtimeout"] = readtimeoutreturn selfdef get(self):get_url = self.url + "?" + parse.urlencode(body)if not timeouts:res = requests.get(get_url, headers=headers)else:timeout = (timeouts["connecttimout"], timeouts["readtimeout"])res = requests.get(get_url, headers=headers, timeout=timeouts)return resdef post(self):if not timeouts:res = requests.post(self.url, files=files, data=body, headers=headers)else:timeout = (timeouts["connecttimout"], timeouts["readtimeout"])res = requests.post(self.url, files=files, data=body, headers=headers, timeout=timeout)return res

3.3 实验结果

在这里插入图片描述

在这里插入图片描述
实验结果显示当前日期以,地址以及天气情况。


http://www.ppmy.cn/news/471049.html

相关文章

【干货】无人机如何进行倾斜摄影的航线规划

掌握天气情况 无人机航测作业前,要掌握当前天气状况,并观察云层厚度、光照强度和空气能见度。 正中午地面阴影最小,在日出到上午9点左右,下午3点左右到日落的两个时间段中,光照强度较弱且太阳高度角偏大,…

从零开始 Spring Boot 44:Test

从零开始 Spring Boot 44&#xff1a;Test 图源&#xff1a;简书 (jianshu.com) 本篇文章我们讨论如何在 Spring 项目中编写测试用例。 当前使用的是 Spring 6.0&#xff0c;默认集成 JUnit 5。 依赖 Spring Boot 的测试功能需要以下依赖&#xff1a; <dependency><…

fecth

reducx巩固知识的传送门 1.向服务器发送数据请求的方案: 第一类:XMLHttpRequest 1.ajax:自己编写请求的逻辑和步骤 2.axios:第三方库&#xff0c;对XMLHttpRequest进行封装「基于promise进行封装」 第二类: fetchES6内置的API&#xff0c;本身即使基于promise&#xff0c;用全…

Vault从入门到精通系列之五:Transit Secrets Engine

Vault从入门到精通系列之五&#xff1a;Transit Secrets Engine 一、Transit Secrets Engine二、工作集管理三、NIST 轮换指南四、Key类型五、融合加密六、部署七、使用八、自带钥匙 (BYOK) 一、Transit Secrets Engine 传输机密引擎处理传输中数据的加密功能。 Vault 不存储发…

第3章 信息系统治理

文章目录 3.1.1 IT治理基础1. IT治理的驱动因素2. IT治理的目标价值3. IT治理的管理层次 3.1.2 IT治理体系1. IT治理关键决策2. IT治理体系框架3. IT治理核心内容4. IT治理机制经验&#xff08;建立IT治理机制的原则&#xff1a;简单、透明、适合&#xff09; 3.1.3 IT治理任务…

一.《UE4奥丁》人物最大属性

​寻找突破口 1.续上节课,此时看到标题,有基础的同学第一反应就是,老师用CE搜索血量,通过改变就能找到&#xff01; 2.额,有这么简单吗&#xff01; 3.既然写了这个帖子,肯定是有原因的 4.为了方便学习,我们就先按照同学们的思路来试一试,能不能找到最大属性,比如最大血&am…

机器学习笔记 - 基于MobileNetV2的迁移学习训练关键点检测器

一、下载数据集 StanfordExtra数据集包含12000张狗的图像以及关键点和分割图图。 GitHub - benjiebob/StanfordExtra:12k标记的野外狗实例,带有2D关键点和分割。我们的 ECCV 2020 论文发布的数据集:谁把狗排除在外?3D 动物重建,循环中期望最大化。https://github.com/benj…

redhat 6.4安装oracle11g RAC (二)

创建一个asm Disk Group Name 组&#xff0c;并给一个名称ORC&#xff0c;并选择下面的三块盘&#xff0c;然后 Next错误的原因是由于磁盘数和冗余层级不匹配&#xff1a; 如果创建用来存放OCR和VOTEDISK的ASM磁盘组&#xff0c;那么External、Normal、High三种冗余级别对应的…