当前位置: 首页 > java >正文

【R代码分析】甲烷排放绘制代码-参考论文

目录

  • Figure1:
    • R代码解释
  • Figure2:
  • 参考

论文-J2021-【墨西哥】Unravelling a large methane emission discrepancy in Mexico using satellite observations-Remote Sensing of Environment

相应绘图代码下载-Shen_2020_Mexico(完整R绘图代码)

在这里插入图片描述

Figure1:

处理和可视化墨西哥东部区域的甲烷(CH₄)排放和卫星观测数据(TROPOMI XCH₄)

墨西哥东部区域的甲烷(CH₄)排放如下图所示:
在这里插入图片描述

R代码解释

1. 初始化与加载依赖包

rm(list=ls())
library(fields)
library(maps)
library(ncdf4)
library(abind)
library(geosphere)
library(mapdata)
library(Hmisc)
  • rm(list=ls()):清除当前工作环境中的所有变量。
  • 加载多个处理地理数据、绘图、netCDF 文件等的 R 包。

2. 设置工作目录与加载自定义函数

setwd("~/Documents/CH4")
source('Function/get_geo.R')
source('Function/get_met.R')
  • 设置工作目录。
  • 加载两个自定义函数脚本,可能包含获取地理或气象数据的函数。

3. 自定义函数:plot.box

plot.box=function(loc,lwd=lwd){arrows(x0=loc[1],y0=loc[3],x1=loc[2],code=0,col=1,lwd=lwd)arrows(x0=loc[1],y0=loc[4],x1=loc[2],code=0,col=1,lwd=lwd)arrows(x0=loc[1],y0=loc[3],y1=loc[4],code=0,col=1,lwd=lwd)arrows(x0=loc[2],y0=loc[3],y1=loc[4],code=0,col=1,lwd=lwd)
}
  • 这个函数绘制矩形框,用于地图上标出感兴趣区域。
  • loc 是一个4元素向量:c(xmin, xmax, ymin, ymax)

4. 自定义函数:plot.field

这是一个复杂而强大的绘图函数,用于绘制二维空间数据(如遥感图像、气体浓度场)。

该函数:

  • 使用 image.plot(来自 fields 包)绘图。
  • 支持不同类型数据(正负值、百分比、绝对值等)。
  • 支持自定义颜色、图例、坐标范围等。
  • 支持太平洋中心地图或默认地图。

主要功能包括:

  • 数据预处理(翻转纬度、设置色标范围等)
  • 自动或自定义颜色尺度
  • 添加地图边框(map()

5. 加载排放数据并修改某区域

ss=load("/Users/lu/Documents/CH4_Mexico/Data/Emis_Tia/emis_per_area.Rdata")
ind11=(lon.in>=-93.0 & lon.in <=-91.7)
ind21=(lat.in>=18.6 & lat.in <=19.8)
emis_per_area[ind11,ind21]=emis_per_area[ind11,ind21]*0.1
  • 加载每平方公里 CH₄ 排放数据。
  • 将一个特定区域的排放量缩小为原来的10%(可能是数据校正或假设)。

6. 加载卫星数据:TROPOMI XCH₄

ss=load("/Users/lu/Documents/CH4_Mexico/Figures/Figure 1/TROPOMI_XCH4_01x01.Rdata")
  • 加载卫星观测数据,包括 XCH₄(柱浓度甲烷),分辨率 0.1° × 0.1°。

7. 绘图:两幅图组成的图像

pdf(file="CH4_posteriri_Mexico.pdf",width=6.5,height=2.5)
par(mfrow=c(1,2))
  • 输出 PDF 文件,包含 2 幅子图(1 行 2 列)。

(a) TROPOMI XCH₄ 图像

ap= avg_corrected; ap[count<=1]=NA
plot.field(ap[ind1,ind2], ...)
title("(a) TROPOMI XCH4, elevation corrected", ...)
  • 使用 avg_corrected 数据(即海拔校正后的 XCH₄ 平均值)。
  • 将观测次数小于等于 1 的像元设为 NA。
  • 使用 plot.field 绘图。
  • 添加多个矩形框(plot.box)来标出研究区域。

(b) 排放数据图像

ap= emis_per_area
ap[ap==0]=NA
plot.field(log10(ap[ind1,ind2]), ...)
title("(b) Prior oil/gas emissions in 2015", ...)
  • 加载排放数据,取对数(log10)以便更好地视觉呈现。
  • 零值设为 NA。
  • 添加标注(R1-R7)对应不同的感兴趣区域。

8. 绘制一个感兴趣区域(如 R5)的放大图

pdf(file="R5.pdf",width=4.5,height=3)
xlim=c(-94.5,-91.9); ylim=c(17.3,18.6)
...
points(lonlat[,1],lonlat[,2],cex=0.5)
  • 画出研究区域 R5 的放大图。
  • points() 添加具体的设施或测站点位置(经纬度)。
  • 继续使用 plot.field 显示 TROPOMI 数据。

Figure2:

在这里插入图片描述

参考

http://www.xdnf.cn/news/18850.html

相关文章:

  • Unity游戏打包——Mac基本环境杂记
  • 实时平台Flink热更新技术——实现不停机升级!
  • 从16个粉丝到680万年收入:AI创业的117天奇迹
  • 负载均衡之带权重的随机负载均衡算法详解与实现
  • 迷你版Shell:源码详解与行为解析
  • S-HUB实现泛微E9与飞书对接
  • kafka消费顺序保障
  • 【车载开发系列】CS+ for CC开发环境IDE
  • Flask模块如何使用
  • HIDL的Car Audio架构简单梳理
  • 《2025年Windows最新最细IDE激活码永久破解教程 – 支持JetBrain全家桶2099年授权》
  • 电脑快速关机工具,一键重启休眠
  • Debian Buster 软件源失效问题
  • vue2+elementui 表格单元格增加背景色,根据每列数据的大小 颜色依次变浅显示2
  • zookeeper-保姆级配置说明
  • 深度学习篇---ResNet-18网络结构
  • 【算法--链表题1】2. 两数相加:通俗详解
  • 用大语言模型实现语音到语音翻译的新方法:Scheduled Interleaved Speech-Text Training
  • 论文Review 激光3DGS GS-SDF | IROS2025 港大-MARS!| 激光+3DGS+NeRF会得到更好的几何一致性和渲染结果!?
  • React前端开发_Day1
  • Linux虚拟机ansible部署
  • OSPF 的工作过程、Router ID 机制、报文结构
  • Axios多实例封装
  • 产品运营必备职场通用能力及提升攻略,一文说明白
  • Kafa面试经典题--Kafka为什么吞吐量大,速度快
  • 字帖生成器怎么用?电脑手机双端操作指南
  • 【图像算法 - 24】基于深度学习与 OpenCV 实现人员跌倒识别系统(目标检测方案 - 跌倒即目标)
  • 如何在PC上轻松访问iPhone照片(已解决)
  • 【LeetCode - 每日1题】求对角线最长矩形的面积
  • WebSocket实时通信系统——js技能提升