2020年第九届数学建模国际赛小美赛C题亚马逊野火解题全过程文档及程序

2020年第九届数学建模国际赛小美赛

C题 亚马逊野火

原题再现:

  野火是指发生在乡村或荒野地区的可燃植被中的任何不受控制的火灾。这样的环境过程对人类生活有着重大的影响。因此,对这一现象进行建模,特别是对其空间发生和扩展进行建模,是支持政府和公共机构控制和风险管理野火季节的相关任务。
  火灾数据通常以时空事件的形式提供,即给定研究的地理区域,在特定时间收集一些感兴趣的测量值。在全球范围内,火灾活动主要通过中分辨率成像光谱仪(MODIS)等卫星仪器收集。MODIS在美国国家航空航天局(NASA)运行的Aqua和Terra卫星上运行。请使用这些数据分析亚马逊流域的火灾事件,并确定火灾事件的时空模式。发现的任何模式都将有助于提高森林火灾的认识和预防工作。

整体求解过程概述(摘要)

  2019年亚马孙森林火灾引起了全世界对亚马孙森林火灾危机的关注。为了降低这一事件再次发生的概率,我们将在2019年8月逐步细化亚马逊森林的时空统计分布格局,从宏观火场到具体火势蔓延的时空格局。
  首先,建立火点识别模型。查找识别已发生火灾的数据点。我们将根据通道21/20的温度、通道31的温度、表面温度和数据的置信水平来识别火灾。
  然后将上述数据导入Tableau,得到亚马逊地区火力点的地理分布图。在地图上,我们可以看到亚马逊地区的火灾主要分布在三个危险区域。这三个危险区域显示为三角形、椭圆形和平行四边形。三角危险区位于南美洲北部。椭圆形危险区是巴西北部城市罗莱马。平行四边形危险区连接巴西中部、韦尔瓦和秘鲁。
  在此之后,我们探索了亚马逊的时间模式。在亚马逊河流域内,多年来发生了大量的火灾,这些火灾集中在每年的8月、9月和10月。其日常数据不规则,但存在距离和时间相近的火灾数据点。因此,我们推测,可能会有重复记录火灾由于问题,如像素捕捉精度的卫星。基于这个猜想,
  建立了火灾中心确定模型。采用迭代算法对1KM内的火点进行均匀化处理,数据记录时差小于2天。
  最后,为了研究2019年亚马逊地区火灾蔓延的时空格局,我们建立了火源点确定模型。利用Tableau计算火点之间的距离和时差,找出10KM内最早、最亮的火点作为火源点。以火源点为基准建立笛卡尔坐标系,在10KM范围内找到距离火源点最大的火源点。求解了两点间的扩散速度和扩散方向。我们选取了2019年8月50个火源点的数据,计算得出2019年火源一般向东北或西南方向移动,蔓延速度分别约为0.72km/h和0.51km/h。
  在此基础上,得出了火灾发生前重点防控的时间和地点。我们还得到了火灾发生时可能的蔓延方向,即要聚焦的路径。

模型假设:

  •忽略火灾蔓延的地形特征。
  •同一火灾中涉及的区域可视为平坦。
  •所有出现在10 km范围内的火灾均从火源蔓延。
  •本文中使用的数据均有效。

问题重述:

  问题背景

  森林火灾是人类无法控制的,在林地内自由蔓延和扩大,对森林、森林生态系统和人类造成一定的危害和破坏。
  2019年亚马逊森林火灾频发,INPE报告截至2019年8月29日巴西发生火灾超过80000起,在同一跟踪期间同比增长77%。玻利维亚、巴拉圭和秘鲁报告了随后的火灾,截至2019年8月29日,火灾逐年增加,这三个国家在2019年的火灾总数分别超过19000起、11000起和6700起。据《商业内幕》报道,到2019年,亚马逊生物群落的森林损失预计将超过906000公顷(2.24*106英亩;9060km^2;3500平方英里)。除了对全球气候的影响外,火灾排放的二氧化碳和一氧化碳过多还造成环境问题,对亚马逊的生物多样性造成潜在影响,并威胁到生活在森林中的土著部落。

在这里插入图片描述
  除环境损害外,导致野火的刀耕火种行动还威胁到居住在雨林附近或雨林内的巴西约306 000土著人民。为避免亚马逊河流域特大森林火灾事故的重复发生,分析了亚马逊河流域火灾的时空分布规律,以期在火灾控制方面取得突破。

  我们的工作
  为了研究亚马逊森林火灾的时空格局,需要对亚马逊森林火灾数据进行识别和处理。我们需要建立模型来识别真实的火灾现场,然后对火灾现场的时空特征进行建模分析。
  为解决此问题,我们的团队将执行以下操作:
  •建立火点识别模型。根据MODIS提供的279万个数据点的置信水平和通道波长反映的温度数据,识别潜在的真实火灾。
  •分析亚马逊流域火灾的空间特征。确定亚马逊河流域的火灾危险区,在那里人们或政府当局需要保持警惕。
  •分析亚马逊流域火灾的时间特征。我们将根据年份、季节和月份来查看其时间模式。
  •根据观测点的时间和空间信息,调查未来我们应如何应对火灾。根据各观测点的时间和温度特征,确定各小范围(10km)火灾的起止点,表征火灾变化方向和速度的概率分布。

模型的建立与求解整体论文缩略图

在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

部分程序代码:(代码和文档not free)

%Read Data
clear;
% Initializing parameters
coordinate_file = 'lat_lng.xlsx';
[num,txt] = xlsread(coordinate_file);
Lat=num(1:1451,2);
Lng=num(1:1451,3);
Latg=[Lat.*111,Lng.*111];
D = pdist(Latg);
DD=D;
zz= squareform(D);
for i=1:1051975
if D(i) > 1
D(i)=0;
end
end
Z = squareform(D);
[x,y]=find(Z~=0);
for i=1:1222
for j=1:1222
if (x(i)==y(j)) && (x(j)==y(i))&&(i<j)
x(j)=x(i),y(j)=y(i);
end
end
end
for i=1:1222
for j=1:1222
if x(i)==y(j)
y(j)=0;
end
end
end
z=[x,y];
for i=1:1222
for j=i+1:1222
if x(i)==x(j)
x(j)=0;
end
end
end
x2=find(x~=0);
x22=x(x2);
x22=x22';
xml=1:1:1451;
for i=1:365
for j=1:1451
if(x22(i)~=j)
xml(j)=xml(j);
else
xml(j)=0;
end
end
end
xmll=find(xml~=0)
xmll=xmll';
Lx=num(1:1086,7)';
Ly=num(1:1086,8)';
Lz=num(1:1086,9)';
xx= -16:1:-4; %linspace(-16,10,1451);
yy= -65:1:-59; %linspace(-78,-42,1451);
[XX,YY]=meshgrid(xx,yy);
zm=griddata(Lx,Ly,Lz,XX,YY,'v4');
surf(xx,yy,zm)
xlabel(' Latitude ');
ylabel(' Longitude ');
zlabel(' temperature(K)');
2、angle_circulation
coordinate_file = 'a.xlsx';
[num,txt] = xlsread(coordinate_file);
x1=num(11:50,2)'./57.3;
y1=num(11:50,3)'./57.3;
x2=num(11:50,4)'./57.3;
y2=num(11:50,5)'./57.3;
for i=1:40
b(i)=atan((x2(i)-x1(i))./(y2(i)-y1(i)));
end
b1=57.3.*b';
3、Sensitive Analysis
coordinate_file = 'lat_lng.xlsx';
[num,txt] = xlsread(coordinate_file);
Lat=num(1:1451,2);
Lng=num(1:1451,3);
Latg=[Lat.*111,Lng.*111];
D = pdist(Latg);
DD=D;
zz= squareform(D);
for i=1:1051975
if D(i) > 1
D(i)=0;
end
end
Z = squareform(D);
[x,y]=find(Z~=0);
for i=1:1222
for j=1:1222
if (x(i)==y(j)) && (x(j)==y(i))&&(i<j)
x(j)=x(i),y(j)=y(i);
end
end
end
for i=1:1222
for j=1:1222
if x(i)==y(j)
y(j)=0;
end
end
end
z=[x,y];
for i=1:1222
for j=i+1:1222
if x(i)==x(j)
x(j)=0;
end
end
end
x2=find(x~=0);
x22=x(x2);
x22=x22';
xml=1:1:1451;
for i=1:365
for j=1:1451
if(x22(i)~=j)
xml(j)=xml(j);
else
xml(j)=0;
end
end
end
xmll=find(xml~=0)
xmll=xmll';
x=[0.75,0.8,0.85,0.9,0.95,1,1.05,1.1,1.15,1.2,1.25];
y=[1459,1259,1197,1135,1101,1086,991,902,856,804,659];
plot(x,y)
axis([0.75 1.25 0 2000]);
xlabel('Assimilation Distance');
ylabel('Residual fire points');
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

docker mysql8 设置不区分大小写

docker安装Mysql8.0的坑之lower_case_table_names_docker mysql lower_case_table_names-CSDN博客https://blog.csdn.net/p793049488/article/details/108365929 docker run ‐di ‐‐nametensquare_mysql ‐p 33306:3306 ‐e MYSQL_ROOT_PASSWORD123456 mysql

区块链实验室(32) - 下载arm64的Prysm

Prysm是Ethereum的共识层。 1. 下载prysm.sh curl https://raw.githubusercontent.com/prysmaticlabs/prysm/master/prysm.sh --output prysm.sh && chmod x prysm.sh2. 下载x86版prysm共识客户端 ./prysm.sh beacon-chain --download-only3.下载arm64版prysm共识客…

Wincc归档多重项目时,提示无法归档打开的项目-解决办法

Wincc归档多重项目时,提示无法归档打开的项目-解决办法 如下图所示&#xff0c;在进行归档时提示如下报错信息&#xff1a; 重启电脑没用&#xff0c;还是提示相同的信息&#xff1a; 归档 多重项目 (256:67): 无法访问文件 ‘D:\Siemens Pro\QWDCS_MP\QWDCS_MP\QWDCS_Pr\wi…

六级高频词组2

目录 词组 参考链接 词组 51. arise from&#xff08;be caused by&#xff09; 由…引起。 52. arrange for sb.sth. to do sth. 安排…做… 53. arrive on 到达&#xff1b; arrive at 到达某地&#xff08;小地方&#xff09;&#xff1b;得出&#xff0c;作出&#x…

普冉(PUYA)单片机开发笔记(9): FLASH 读写

概述 单片机的 ROM 容量虽然不大&#xff0c;PY32F003 有 64K 字节的 ROM&#xff0c;但实际应用中会在 MCU 中存储持久化的数据&#xff0c;例如&#xff1a;在物联网应用中&#xff0c;需要把物模型持久化&#xff0c;作为非易失性数据&#xff0c;掉电了也要保存。这就要用…

图文教程:stable-diffusion的基本使用教程 txt2img(多图)

之前我介绍了SD的安装过程&#xff0c;那么这篇将介绍怎么使用SD 使用模型 SD安装好之后&#xff0c;我们只有一个默认的模型。这个模型很难满足我们的绘图需求&#xff0c;那么有2种方法。 1是自己训练一个模型&#xff08;有门槛&#xff09;2是去网站上找一个别人练好的模…

宇视科技视频监控 main-cgi 文件信息泄露漏洞复现

0x01 产品简介 宇视(Uniview)高清网络摄像机是一种高性能的网络摄像机,它可以通过网络进行视频传输和监控。该摄像机采用先进的视频技术,具有高清晰度、低照度、宽动态等特点,能够提供高质量的视频图像。 0x02 漏洞概述 宇视(Uniview)高清网络摄像机存在信息泄露漏洞…

【桌面应用开发】Tauri是什么?基于Rust的桌面应用

自我介绍 做一个简单介绍&#xff0c;酒架年近48 &#xff0c;有20多年IT工作经历&#xff0c;目前在一家500强做企业架构&#xff0e;因为工作需要&#xff0c;另外也因为兴趣涉猎比较广&#xff0c;为了自己学习建立了三个博客&#xff0c;分别是【全球IT瞭望】&#xff0c;【…

Edge浏览器版本更新后Copilot按钮消失的解决应对方式

需求背景 今天突然发现Edge浏览器右上角的Copilot按钮不见了&#xff0c;排查了一下&#xff0c;发现可能是浏览器自动升级到120版本后&#xff0c;关闭了右上角的Copilot按钮。案发现场如下&#xff1a; 原因如下&#xff1a; 说实话&#xff0c;人家这个插件还是很好用的&…

OpenCV-opencv下载安装和基本操作

文章目录 一、实验目的二、实验内容三、实验过程OpenCV-python的安装与配置python下载和环境配置PIP镜像安装Numpy安装openCV-python检验opencv安装是否成功 openCV-python的基本操作图像输入和展示以及写出openCV界面编程单窗口显示多图片鼠标事件键盘事件滑动条事件 四、实验…

持续集成交付CICD:GitLabCI上传Nexus制品

目录 一、实验 1.GitLabCI上传Nexus制品 2.优化GitLabCI&#xff08;引用系统变量&#xff09; 3.添加if条件判断项目类型 4.优化GitLabCI&#xff08;模板类&#xff09; 二、问题 1.GitLabCI获取jar文件失败 2. GitLabCI获取流水线项目命名空间失败 3.GItLab Packag…

【产品经理】产品的实现,需要做好战略规划

产品的实现需要做好产品规划&#xff0c;而产品的规划决定了产品的方向。本文从战略规划的重要性、产品定位、设计产品架构图三个方向&#xff0c;详细地为大家梳理了产品实现的前期准备。 我们知晓了如何去发掘问题&#xff0c;并找到解决方案。 可对于问题的处理&#xff0c…

【Jeecg Boot 3 - 第二天】1.1、后端 docker-compose 部署 JEECGBOOT3

一、场景 二、实战 ▶ 2.1 修改配置文件 &#xff1e; 目的一&#xff1a;将 dev 变更为生产环境 prod &#xff1e; 目的二&#xff1a;方便spring项目调用docker同个network下的redis和mysql ▶ 2.2 编写dockerfile ▶ 2.3 编写docker-compose.yaml ▶ 2.4 打…

裸机单片机适用的软件架构

单片机通常分为三种工作模式&#xff0c;分别是 1、前后台顺序执行法 2、操作系统 3、时间片轮询法 1、前后台顺序执行法 利用单片机的中断进行前后台切换&#xff0c;然后进行任务顺序执行&#xff0c;但其实在…

[排序篇] 冒泡排序

目录 一、概念 二、冒泡排序 2.1 冒泡降序(从大到小排序) 2.2 冒泡升序(从小到大排序) 三、冒泡排序应用 总结 一、概念 冒泡排序核心思想&#xff1a;每次比较两个相邻的元素&#xff0c;如果它们不符合排序规则&#xff08;升序或降序&#xff09;则把它们交换过来。…

Web自动化测试工具起到哪些重要作用

随着互联网的迅猛发展&#xff0c;Web应用程序已经成为企业不可或缺的一部分。为了确保Web应用的质量和可靠性&#xff0c;Web自动化测试工具变得至关重要。以下是Web自动化测试工具在软件开发生命周期中发挥的作用&#xff1a; 1. 提高测试效率和速度 Web自动化测试工具可以快…

【媒体开发】利用FFMPEG进行推拉流

1. 下载并启动媒体服务 MediaMTX&#xff0c;也即之前的rtsp-simple-server&#xff0c;是一个即用型、零依赖的实时媒体服务器和媒体代理&#xff0c;允许发布、读取、代理和记录视频和音频流。 从Releases bluenviron/mediamtx GitHub找到最新版&#xff0c;下载对应平台…

Web UI 自动化 元素定位利器

序 元素定位&#xff0c;对于 Web UI 自动化而言&#xff0c;绝对是大家成长道路上的一道绊脚石。 很多初学者&#xff0c;都“死”在了元素定位上&#xff0c;从而失去了学习的兴趣。导致职业规划不得不半途而废~ 那么&#xff0c;今天&#xff0c;我们就使用 Katalon Stu…

python实战演练之迎接冬至的第一场雪

写在前面 WINTER IS COMING Python实现大雪纷飞的效果&#xff0c;完整代码在文末哦~ 准备开始 WINTER IS COMING Python是一种高级编程语言&#xff0c;Turtle是Python的一个图形化模块&#xff0c;它可以帮助学习者更好地理解编程概念&#xff0c;同时可以进行图形化编程。 …

DS二叉排序树之删除

Description 给出一个数据序列&#xff0c;建立二叉排序树&#xff0c;并实现删除功能 对二叉排序树进行中序遍历&#xff0c;可以得到有序的数据序列 Input 第一行输入t&#xff0c;表示有t个数据序列 第二行输入n&#xff0c;表示首个序列包含n个数据 第三行输入n个数据…