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

【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.dtcms.com/a/350947.html

相关文章:

  • 【云原生】CentOS安装Kubernetes+Jenkins
  • RAW API 的 UDP 总结1
  • Android Glide常见问题解决方案:从图片加载到内存优化
  • [在实践中学习] 中间件理论和方法--Redis
  • 【JavaEE】了解volatile和wait、notify(三)
  • 08-引入AI编程插件(TRAE)编写单元测试并检查覆盖率
  • Cloudflare 推出 GenAI 安全工具,守护企业数据
  • 科普 | 5G支持的WWC架构是个啥(1)?
  • android 改机系列之-虚拟摄像头-替换相机预览画面
  • excel导出,多列合并表头
  • 运行node18报错
  • 【JVM】类加载器都有哪些?
  • ChromaDB向量数据库Python教程:从入门到实战完整指南(含游戏资源管理系统案例
  • Java大厂面试实战:从Spring Boot到微服务架构的全链路技术拆解
  • 计算机视觉:从 “看见” 到 “理解”,解锁机器感知世界的密码
  • Windows 命令行:mkdir 命令
  • 【配置】CurSor使用Claude 4.0如何解除地域限制
  • [CS创世SD NAND征文] CS创世CSNP1GCR01-AOW在运动控制卡中的高可靠应用
  • 塞尔达传说 旷野之息 PC/手机双端(The Legend of Zelda: Breath of the Wild)免安装中文版
  • 深入了解linux系统—— 线程封装
  • podman启动mongdb的container因为权限问题导致changing ownership和读取storage.bson失败的解决方法
  • HarmonyOS image组件深度解析:多场景应用与性能优化指南(2.4详细解析,完整见uniapp官网)
  • week5-[循环结构]听歌
  • MAE——Masked Autoencoders Are Scalable Vision Learners/图像分类和去雨雾重建/
  • 【ElasticSearch】json查询语法
  • 每日一题——力扣498 对角线遍历
  • Mo 人工智能在线教学实训平台
  • Python训练营打卡Day43-Tensorboard使用介绍
  • 美团一面“保持好奇”
  • JavaScript 中类(class)的super 关键字