Qt天气预报系统获取天气数据

Qt天气预报系统获取天气数据

  • 1、获取天气数据
    • 1.1添加天气类头文件
    • 1.2定义今天和未来几天天气数据类
    • 1.3定义一个解析JSON数据的函数
    • 1.4在mainwindow中添加weatherData.h
    • 1.5创建今天天气数据和未来几天天气数据对象
    • 1.6添加parseJson定义
    • 1.7把解析JSON数据添加进去
    • 1.8添加错误
    • 1.9解析整个天气数据
  • 2、.h文件和.cpp文件
    • 2.1 mainwindow.h文件
    • 2.2weatherData.h文件
    • 2.3 .cpp文件

1、获取天气数据

1.1添加天气类头文件

鼠标放到项目上, 右键选择Add New...

在这里插入图片描述

选择C++,选择C++Header File

在这里插入图片描述

起名为weatherData

在这里插入图片描述

1.2定义今天和未来几天天气数据类

//今天的数据类
class Today{
public:Today(){city ="广州";     //城市date ="2025-1-10";  //日期weatherType ="多云";     //天气类型highTem = 30;           //最高温lowTem = 18;            //最低温ganMao ="感冒指数";      //感冒指数Temperature = 0;       //温度Humidity = "0%";       //湿度PM25 = 0;              //PM2.5windType ="南风";       //风的类型windPower ="2级";       //风力airQuality ="无数据";    //空气质量}QString city;QString date;int Temperature;QString weatherType;int highTem;int lowTem;QString ganMao;QString Humidity;int PM25;QString windType;QString windPower;QString airQuality;};//未来几天的数据类
class Day{
public:Day(){week ="周五";             //星期date ="2023-7-29";       //日期weatherType ="多云";      //天气类型airQuality = 0; //空气指数,优        //空气质量highTem = 0;              //最高温lowTem = 0;               //最低温windType ="南风";          //风的类型windPower ="2级";         //风力}QString week;QString date;QString weatherType;int airQuality;int highTem;int lowTem;QString windType;QString windPower;
};

1.3定义一个解析JSON数据的函数

void parseJson(QByteArray& byteArray);                  //解析JSON数据

1.4在mainwindow中添加weatherData.h

#include "weatherData.h"

1.5创建今天天气数据和未来几天天气数据对象

Today today;                                //定义一个今天天气数据对象
Day day[7];                                 //定义未来几天天气数据对象

1.6添加parseJson定义

在这里插入图片描述

1.7把解析JSON数据添加进去

void MainWindow::readHttpReply(QNetworkReply *reply)
{int status_code = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();   //状态码//请求错误if(reply->error() != QNetworkReply::NoError || status_code != 200){qDebug() << reply->errorString().toLatin1().data();     //打印错误信息QMessageBox::warning(this,"天气","请求数据失败", QMessageBox::Ok);      //弹出警告信息框}//请求成功else{QByteArray byteArray = reply->readAll();        //读取服务器数据qDebug() << "read all:"<< byteArray.data();     //打印接收到的数据parseJson(byteArray);                           //解析JSON数据}reply->deleteLater();       //释放对象
}

1.8添加错误

//解析JSON格式天气数据
void MainWindow::parseJson(QByteArray &byteArray)
{//错误QJsonParseError err;
}
鼠标放到QJsonParseError上, ALT+Enter选择添加头文件,后面的也类似,使用一个

新类的时候,记得添加头文件

在这里插入图片描述

1.9解析整个天气数据

//解析JSON格式天气数据
void MainWindow::parseJson(QByteArray &byteArray)
{//错误QJsonParseError err;        //创建一个错误对象QJsonDocument doc = QJsonDocument::fromJson(byteArray, &err);   //将JSON格式解析为QJsonDocument对象//如果错误if(err.error != QJsonParseError::NoError){return;    //返回}QJsonObject rootObj = doc.object();     //创建一个QJsonObject对象返回文档//    qDebug() << rootObj.value("message").toString();//1.解析城市和日期today.city = rootObj.value("cityInfo").toObject().value("city").toString();     //城市today.date = rootObj.value("date").toString();                                  //日期//2.解析昨天yesterday数据QJsonObject objData = rootObj.value("data").toObject();         //获取data对象QJsonObject objYesterday = objData.value("yesterday").toObject();          //昨天day[0].week = objYesterday.value("week").toString();                       //星期day[0].date = objYesterday.value("date").toString();                       //日期day[0].weatherType = objYesterday.value("type").toString();                      //天气类型QString highT;          //最高温highT = objYesterday.value("high").toString().split(" ").at(1); //空格分割,取分割后第二个数据,1是第二个,0是第一个day[0].highTem = highT.left(highT.length() - 1).toInt(); //把℃减掉,只剩数字QString lowT;           //最低温lowT = objYesterday.value("low").toString().split(" ").at(1);day[0].lowTem = lowT.left(lowT.length() - 1).toInt();//风的类型,风力day[0].windType = objYesterday.value("fx").toString();      //风的类型   day[0].windPower = objYesterday.value("fl").toString();     //风力//空气指数day[0].airQuality =objYesterday.value("aqi").toDouble();    //空气质量//3.解析未来几天的天气数据QJsonArray forecastArray = objData.value("forecast").toArray();        //获取forecast数组//遍历未来几天天气数据for(int i=0 ; i<6 ; i++){QJsonObject forecastObj = forecastArray[i].toObject();             //获取JSON对象day[i+1].week = forecastObj.value("week").toString();             //星期day[i+1].date = forecastObj.value("ymd").toString();              //日期day[i+1].weatherType = forecastObj.value("type").toString();      //天气类型//空气指数day[i+1].airQuality =forecastObj.value("aqi").toDouble();         //空气质量QString highT;      //最高温highT = forecastObj.value("high").toString().split(" ").at(1);      //空格分割,取分割后第二个数据,1是第二个,0是第一个day[i+1].highTem = highT.left(highT.length() - 1).toInt();          //把℃减掉,只剩数字QString lowS;       //最低温lowS = forecastObj.value("low").toString().split(" ").at(1);day[i+1].lowTem = lowS.left(lowS.length() - 1).toInt();//风的类型,风力day[i+1].windType = forecastObj.value("fx").toString();           //风的类型day[i+1].windPower = forecastObj.value("fl").toString();          //风力//4、解析今天的数据today.Temperature =objData.value("wendu").toInt();                 //温度today.ganMao =objData.value("ganmao").toString();                  //感冒指数today.Humidity = objData.value("shidu").toString();                //湿度today.PM25 = objData.value("pm25").toDouble();                        //PM2.5today.airQuality = objData.value("quality").toString();            //空气质量//forecast里面也有今天的数据today.weatherType = day[1].weatherType;                            //天气类型today.highTem = day[1].highTem;                                    //最高温today.lowTem = day[1].lowTem;                                      //最低温today.windType = day[1].windType;                                  //风的类型today.windPower = day[1].windPower;                                //风力}  
}

2、.h文件和.cpp文件

2.1 mainwindow.h文件

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QMenu>
#include <QMessageBox>
#include <QNetworkAccessManager>
#include <QNetworkReply>
#include "weatherData.h"QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();protected:void mousePressEvent(QMouseEvent *event) override;      //重写鼠标点击事件函数void mouseMoveEvent(QMouseEvent *event) override;       //重写鼠标移动事件函数void getWeatherInfo(QString citycode);                  //获取天气数据void parseJson(QByteArray& byteArray);                  //解析JSON数据private slots:void on_pushButton_quit_clicked();          //关闭UI界面void onQuitActTriggered();                  //菜单被点击后的处理public slots:void readHttpReply(QNetworkReply *reply);                       //新建一个网络请求获取的槽函数private:Ui::MainWindow *ui;QMenu *quitMenu;                            //创建一个菜单指针QAction *quitAct;                           //定义一个动作QPoint moffset;                             //窗口移动时,鼠标与窗口左上角的偏移值QNetworkAccessManager *NetAccessManger;        //声明一个网络请求对象bool closePOPWindow();                      //关闭窗口的弹窗Today today;                                //定义一个今天天气数据对象Day day[7];                                 //定义未来几天天气数据对象
};
#endif // MAINWINDOW_H

2.2weatherData.h文件

#ifndef WEATHERDATA_H
#define WEATHERDATA_H
#include <QString>
//今天的数据类
class Today{
public:Today(){city ="广州";     //城市date ="2025-1-10";  //日期weatherType ="多云";     //天气类型highTem = 30;           //最高温lowTem = 18;            //最低温ganMao ="感冒指数";      //感冒指数Temperature = 0;       //温度Humidity = "0%";       //湿度PM25 = 0;              //PM2.5windType ="南风";       //风的类型windPower ="2级";       //风力airQuality ="无数据";    //空气质量}QString city;QString date;int Temperature;QString weatherType;int highTem;int lowTem;QString ganMao;QString Humidity;int PM25;QString windType;QString windPower;QString airQuality;};//未来几天的数据类
class Day{
public:Day(){week ="周五";             //星期date ="2023-7-29";       //日期weatherType ="多云";      //天气类型airQuality = 0; //空气指数,优        //空气质量highTem = 0;              //最高温lowTem = 0;               //最低温windType ="南风";          //风的类型windPower ="2级";         //风力}QString week;QString date;QString weatherType;int airQuality;int highTem;int lowTem;QString windType;QString windPower;
};
#endif // WEATHERDATA_H

2.3 .cpp文件

#include "mainwindow.h"
#include "ui_mainwindow.h"#include <QJsonArray>
#include <QJsonObject>
#include <QJsonParseError>
#include <QMouseEvent>
#include "weatherData.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);setWindowFlag(Qt::FramelessWindowHint);//    this->setLayout(ui->gridLayoutGlobal);      //让界面随着窗口变幻大小quitMenu = new QMenu(this);         //创建一个QMenu对象quitAct = new QAction(QIcon(":/widget/quit.png"), tr("退出"), this);     //定义一个退出动作quitMenu->addAction(quitAct);       //添加动作//    connect(quitMenu,&QMenu::triggered,this,[=]{//        this->close();//    });         //连接信号与槽connect(quitMenu,&QMenu::triggered,this,&MainWindow::onQuitActTriggered);   //连接菜单被触发的信号与槽NetAccessManger = new QNetworkAccessManager(this);          //实例化一个网络请求对象connect(NetAccessManger,&QNetworkAccessManager::finished,this,&MainWindow::readHttpReply);  //连接网络请求获取的信号与槽//101010100是北京的城市编码getWeatherInfo("101010100");}MainWindow::~MainWindow()
{delete ui;
}//鼠标点击
void MainWindow::mousePressEvent(QMouseEvent *event)
{//如果右键被按下if(event->button() == Qt::RightButton){quitMenu->exec(QCursor::pos());       //在当前鼠标位置显示菜单}//当前鼠标位置 event->globalPos()//当前窗口位置 this->pos()if(event->button() == Qt::LeftButton){moffset = event->globalPos() - this->pos();}
}//鼠标移动
void MainWindow::mouseMoveEvent(QMouseEvent *event)
{this->move(event->globalPos() - moffset);    //移动窗口
}//弹窗
bool MainWindow::closePOPWindow()
{// 创建一个消息框询问用户是否真的要退出QMessageBox mes;mes.setWindowTitle("关闭窗口");//  mes.setWindowFlags(Qt::Drawer);       //把标题栏去掉mes.setIcon(QMessageBox::Warning);    //设置一个警告图片mes.setText("是否关闭窗口?");          //弹窗文本mes.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);     //设置两个按钮mes.setWindowIcon(QIcon(":/widget/dog.png")); // 设置窗口图标mes.setButtonText(QMessageBox::Ok, tr("确定"));               //ok改为确认mes.setButtonText(QMessageBox::Cancel, tr("取消"));           //Cancel改为取消// 显示消息框并等待用户交互int result = mes.exec();// 根据用户的选择执行相应的操作if (result == QMessageBox::Ok) {// 用户选择了确定,关闭主窗口this->close();return true;}// 用户选择了取消,不关闭主窗口else{return false;     // 窗口关闭操作失败}
}//右上角退出
void MainWindow::on_pushButton_quit_clicked()
{closePOPWindow();
}//鼠标右键退出
void MainWindow::onQuitActTriggered()
{closePOPWindow();
}//获取天气数据
void MainWindow::getWeatherInfo(QString citycode)
{QUrl url("http://t.weather.itboy.net/api/weather/city/" + citycode);     //天气数据接口和城市编码NetAccessManger->get(QNetworkRequest(url));                    //发送GET请求,获取数据}//解析JSON格式天气数据
void MainWindow::parseJson(QByteArray &byteArray)
{//错误QJsonParseError err;        //创建一个错误对象QJsonDocument doc = QJsonDocument::fromJson(byteArray, &err);   //将JSON格式解析为QJsonDocument对象//如果错误if(err.error != QJsonParseError::NoError){return;    //返回}QJsonObject rootObj = doc.object();     //创建一个QJsonObject对象返回文档//    qDebug() << rootObj.value("message").toString();//1.解析城市和日期today.city = rootObj.value("cityInfo").toObject().value("city").toString();     //城市today.date = rootObj.value("date").toString();                                  //日期//2.解析昨天yesterday数据QJsonObject objData = rootObj.value("data").toObject();         //获取data对象QJsonObject objYesterday = objData.value("yesterday").toObject();          //昨天day[0].week = objYesterday.value("week").toString();                       //星期day[0].date = objYesterday.value("date").toString();                       //日期day[0].weatherType = objYesterday.value("type").toString();                      //天气类型QString highT;          //最高温highT = objYesterday.value("high").toString().split(" ").at(1); //空格分割,取分割后第二个数据,1是第二个,0是第一个day[0].highTem = highT.left(highT.length() - 1).toInt(); //把℃减掉,只剩数字QString lowT;           //最低温lowT = objYesterday.value("low").toString().split(" ").at(1);day[0].lowTem = lowT.left(lowT.length() - 1).toInt();//风的类型,风力day[0].windType = objYesterday.value("fx").toString();      //风的类型day[0].windPower = objYesterday.value("fl").toString();     //风力//空气指数day[0].airQuality =objYesterday.value("aqi").toDouble();    //空气质量//3.解析未来几天的天气数据QJsonArray forecastArray = objData.value("forecast").toArray();        //获取forecast数组//遍历未来几天天气数据for(int i=0 ; i<6 ; i++){QJsonObject forecastObj = forecastArray[i].toObject();             //获取JSON对象day[i+1].week = forecastObj.value("week").toString();             //星期day[i+1].date = forecastObj.value("ymd").toString();              //日期day[i+1].weatherType = forecastObj.value("type").toString();      //天气类型//空气指数day[i+1].airQuality =forecastObj.value("aqi").toDouble();         //空气质量QString highT;      //最高温highT = forecastObj.value("high").toString().split(" ").at(1);      //空格分割,取分割后第二个数据,1是第二个,0是第一个day[i+1].highTem = highT.left(highT.length() - 1).toInt();          //把℃减掉,只剩数字QString lowS;       //最低温lowS = forecastObj.value("low").toString().split(" ").at(1);day[i+1].lowTem = lowS.left(lowS.length() - 1).toInt();//风的类型,风力day[i+1].windType = forecastObj.value("fx").toString();           //风的类型day[i+1].windPower = forecastObj.value("fl").toString();          //风力//4、解析今天的数据today.Temperature =objData.value("wendu").toInt();                 //温度today.ganMao =objData.value("ganmao").toString();                  //感冒指数today.Humidity = objData.value("shidu").toString();                //湿度today.PM25 = objData.value("pm25").toDouble();                        //PM2.5today.airQuality = objData.value("quality").toString();            //空气质量//forecast里面也有今天的数据today.weatherType = day[1].weatherType;                            //天气类型today.highTem = day[1].highTem;                                    //最高温today.lowTem = day[1].lowTem;                                      //最低温today.windType = day[1].windType;                                  //风的类型today.windPower = day[1].windPower;                                //风力}
}//网络请求获取
void MainWindow::readHttpReply(QNetworkReply *reply)
{int status_code = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();   //状态码//请求错误if(reply->error() != QNetworkReply::NoError || status_code != 200){qDebug() << reply->errorString().toLatin1().data();     //打印错误信息QMessageBox::warning(this,"天气","请求数据失败", QMessageBox::Ok);      //弹出警告信息框}//请求成功else{QByteArray byteArray = reply->readAll();        //读取服务器数据qDebug() << "read all:"<< byteArray.data();     //打印接收到的数据parseJson(byteArray);                           //解析JSON数据}reply->deleteLater();       //释放对象
}

获取天气数据完成!

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

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

相关文章

国产编辑器EverEdit - 扩展脚本:关闭所有未修改文档

1 扩展脚本&#xff1a;关闭所有未修改文档 1.1 应用场景 当用户打开过多文档时&#xff0c;部分文档已经修改&#xff0c;而大部分没有修改&#xff0c;为了减少在众多已打开文档中来回跳转的不便&#xff0c;可以将没有修改的文档全部关闭&#xff0c;但目前提供的快速关闭窗…

高斯函数Gaussian绘制matlab

高斯 约翰卡尔弗里德里希高斯&#xff0c;&#xff08;德语&#xff1a;Johann Carl Friedrich Gau&#xff0c;英语&#xff1a;Gauss&#xff0c;拉丁语&#xff1a;Carolus Fridericus Gauss&#xff09;1777年4月30日–1855年2月23日&#xff0c;德国著名数学家、物理学家…

dolphinscheduler2.0.9升级3.1.9版本问题记录

相关版本说明 JDK&#xff1a;JDK (1.8&#xff09; DolphinScheduler &#xff1a;3.1.9 数据库&#xff1a;MySQL (8)&#xff0c;驱动&#xff1a;MySQL JDBC Driver 8.0.16 注册中心&#xff1a;ZooKeeper (3.8.4) 问题一&#xff1a;dolphinscheduler2.0.9对应zk版本使用…

Sqoop1.4.7安装

环境说明 准备三台服务器&#xff0c;分别为&#xff1a;bigdata141&#xff08;hadoop 主节点&#xff09;、bigdata142、bigdata143确保 hadoop 集群先启动好&#xff0c;hadoop 版本为 3.2.0如果只安装不使用的话&#xff0c;以上可以暂时不用管另准备一台服务器&#xff0…

每日学习30分轻松掌握CursorAI:初识Cursor AI

初识Cursor AI 一、什么是Cursor AI&#xff1f; Cursor AI是一款革命性的AI驱动型代码编辑器&#xff0c;它将传统的代码编辑功能与先进的人工智能技术相结合。它不仅是一个编辑器&#xff0c;更是一个智能编程助手&#xff0c;能够帮助开发者提高编码效率&#xff0c;解决编…

小米路由器IPv6 功能使用指南

本文不限于多层路由使用IPv6 的情况&#xff0c;提供解决IPv6 无法获取的更硬核的方法&#xff0c;需要有ssh 工具。&#xff08;无安卓设备&#xff0c;测试环境win、mac、ios&#xff09; 首先明确一点&#xff0c;就是如果想让你的设备得到GUA 地址&#xff0c;即访问 6.i…

云商城--业务+架构学习和环境准备

云商城业务架构学习和环境准备 B2B&#xff1a;Business to Business&#xff0c;交易双方的身份都是商家&#xff0c;也就是商家将商品卖给商家&#xff0c;类似采购、批发类购物&#xff0c;国内代表性网站阿里巴巴批发网 C2C&#xff1a;Customer to Customer&#xff0c;…

机器视觉系统中的重要配件--棱镜

在一套机器视觉系统中&#xff0c;人们一直比较注中工业相机、工业镜头及光源等重要的视觉器件&#xff0c;而小配件通常被忽视&#xff0c;虽然只是配角&#xff0c;但是却起着重要作用。以下以茉丽特镜头为例。 在构建视觉系统当中&#xff0c;遇到某个方向空间不足时&#x…

软件系统安全逆向分析-混淆对抗

1. 概述 在一般的软件中&#xff0c;我们逆向分析时候通常都不能直接看到软件的明文源代码&#xff0c;或多或少存在着混淆对抗的操作。下面&#xff0c;我会实践操作一个例子从无从下手到攻破目标。 花指令对抗虚函数表RC4 2. 实战-donntyousee 题目载体为具有漏洞的小型软…

#渗透测试#网络安全# 一文了解什么是跨域CROS!!!

免责声明 本教程仅为合法的教学目的而准备&#xff0c;严禁用于任何形式的违法犯罪活动及其他商业行为&#xff0c;在使用本教程前&#xff0c;您应确保该行为符合当地的法律法规&#xff0c;继续阅读即表示您需自行承担所有操作的后果&#xff0c;如有异议&#xff0c;请立即停…

ClickHouse vs StarRocks 选型对比

一、面向列存的 DBMS 新的选择 Hadoop 从诞生已经十三年了&#xff0c;Hadoop 的供应商争先恐后的为 Hadoop 贡献各种开源插件&#xff0c;发明各种的解决方案技术栈&#xff0c;一方面确实帮助很多用户解决了问题&#xff0c;但另一方面因为繁杂的技术栈与高昂的维护成本&…

Win11家庭版转专业版

Win11家庭版转专业版&#xff08;亲测有效&#xff09; 第一步 【断网】输入这个密钥&#xff1a; R8NJ8-9X7PV-C7RCR-F3J9X-KQBP6 第二步 点击下一步会自动重启 第三步 【联网】输入这个密钥&#xff1a; F3NWX-VFMFC-MHYYF-BCJ3K-QV66Y 注意 两次输入密钥的地方一致 …

IP 地址与蜜罐技术

基于IP的地址的蜜罐技术是一种主动防御策略&#xff0c;它能够通过在网络上布置的一些看似正常没问题的IP地址来吸引恶意者的注意&#xff0c;将恶意者引导到预先布置好的伪装的目标之中。 如何实现蜜罐技术 当恶意攻击者在网络中四处扫描&#xff0c;寻找可入侵的目标时&…

【Word_笔记】Word的修订模式内容改为颜色标记

需求如下&#xff1a;请把修改后的部分直接在原文标出来&#xff0c;不要采用修订模式 步骤1&#xff1a;打开需要转换的word后&#xff0c;同时按住alt和F11 进入&#xff08;Microsoft Visual Basic for Appliations&#xff09; 步骤2&#xff1a;插入 ---- 模块 步骤3&…

[0405].第05节:搭建Redis主从架构

Redis学习大纲 一、3主3从的集群配置&#xff1a; 1.1.集群规划 1.分片集群需要的节点数量较多&#xff0c;这里我们搭建一个最小的分片集群&#xff0c;包含3个master节点&#xff0c;每个master包含一个slave节点&#xff0c;结构如下&#xff1a; 2.每组是一主一从&#x…

科研绘图系列:R语言绘制分组箱线图(boxplot)

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍加载R包数据下载导入数据数据预处理画图输出系统信息介绍 科研绘图系列:R语言绘制分组箱线图(boxplot) 加载R包 library(ggpubr) library(ggplot2) library(tidyverse) # dev…

Hadoop - MapReduce编程

文章目录 前言一、创建mapreduce-demo项目1. 在idea上创建maven项目2. 导入hadoop相关依赖 二、MapReduce编程1. 相关介绍1.1 驱动类&#xff08;Driver Class&#xff09;1.1.1 驱动类的定义1.1.2 驱动类的功能1.1.3 驱动类的作用 1.2 Mapper1.2.1 Mapper 的定义1.2.2 Mapper …

原码的乘法运算>>>只有0,1

MQ : 乘数 X : 被乘数 ACC : 乘积高位 [当前位是1,加上被乘数; 当前位是 0,加上0] 例如: MQ的最低位是1,所以要加上被乘数(01101) >>>> 得出 01101 >>>>> ACC MQ 需要整体逻辑右移 (原本01101 01011 >>> 001101 0101) 现在的次低位是…

mapbox基础,style样式汇总,持续更新

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;mapbox 从入门到精通 文章目录 一、&#x1f340;前言二、&#x1f340;根属性2.1 so…

人工智能知识分享第九天-机器学习_集成学习

集成学习 概念 集成学习是机器学习中的一种思想&#xff0c;它通过多个模型的组合形成一个精度更高的模型&#xff0c;参与组合的模型称为弱学习器&#xff08;基学习器&#xff09;。训练时&#xff0c;使用训练集依次训练出这些弱学习器&#xff0c;对未知的样本进行预测时…