从0开始学GEE python——从 Sentinel-5P 获取、处理和可视化特定时间段和地理区域内的 SO₂ 数据。通过样本、统计计算和插值(反距离加权(IDW))

从 Sentinel-5P 获取、处理和可视化特定时间段和地理区域内的 SO₂ 数据。通过样本、统计计算和插值(反距离加权(IDW))

简介

地球引擎中的反距离加权(IDW)函数是基于巴索等人(1999 年)所描述的方法。 以反向距离衰减因子(gamma)的形式添加了一个额外的控制参数。 其他参数包括要内插的属性的平均值和标准偏差,以及要内插的最大范围距离。 下面的示例创建了一个甲烷浓度插值表面,以填补原始栅格数据集的空间空白。 该特征集合是通过对两周甲烷综合数据采样生成的。

代码解释

这段 Python 代码使用 Google Earth Engine (GEE) 和 geemap 库来分析和可视化特定区域和时间段内的二氧化硫 (SO₂) 水平。以下是对代码每个部分的详细解释:

导入库

import ee
import geemap
  • ee: 这是 Earth Engine API,允许访问卫星影像和地理空间数据。
  • geemap: 这个库提供了一种在 Jupyter 笔记本中可视化地理空间数据的简单方法。

初始化 Earth Engine

try:
    ee.Initialize()
except Exception as e:
    ee.Authenticate()
    ee.Initialize()
  • 这段代码尝试初始化 Earth Engine API。如果失败(例如由于未认证),则会提示进行认证,然后再次初始化。

加载 SO₂ 数据

SO2 = ee.ImageCollection("COPERNICUS/S5P/OFFL/L3_SO2") \
    .select('SO2_column_number_density') \
    .filterDate('2019-08-01', '2019-08-15') \
    .mean() \
    .rename('SO2')
  • ee.ImageCollection: 加载 Sentinel-5P 的第3级 SO₂ 数据。
  • .select('SO2_column_number_density'): 选择特定的 SO₂ 密度波段。
  • .filterDate('2019-08-01', '2019-08-15'): 将数据过滤到指定的日期范围内。
  • .mean(): 计算所选日期内的 SO₂ 平均水平。
  • .rename('SO2'): 将结果图像重命名为 ‘SO2’。

定义感兴趣区域 (AOI)

aoi = ee.Geometry.Polygon(
    [[[-95.68487605978851, 43.09844605027055],
      [-95.68487605978851, 37.39358590079781],
      [-87.96148738791351, 37.39358590079781],
      [-87.96148738791351, 43.09844605027055
### Sentinel-5P 甲烷浓度数据处理可视化 #### 数据来源与特性 Sentinel-5P 卫星的 TROPOMI 传感器能够提供高分辨率的地球表面甲烷柱浓度产品。这些数据通过 Oxygen-A 波段(760nm) SWIR 光谱范围内的吸收信息进行监测,从而支持碳源碳汇的反演建模[^2]。 #### 数据获取 用户可以通过 Copernicus Open Access Hub 或 Google Earth Engine (GEE) 获取 Sentinel-5P 的甲烷浓度数据。在 GEE 中,数据集通常以 `COPERNICUS/S5P/OFFL/L3_CH4` 格式存储,代表离线级别的 CH4 浓度数据[^4]。 #### 数据处理处理 Sentinel-5P 的甲烷浓度数据时,需要对原始数据进行一定的预处理,包括但不限于以下步骤: - **筛选有效数据**:剔除质量较低的数据点,通常基于 `qa_value` 属性来过滤。 - **空间裁剪**:根据研究区域定义地理边界,提取感兴趣区域的数据- **时间聚合**:将多日或多年的数据按月、季度或年度进行汇总,以便长期趋势分析。 #### 可视化方法 在 GEE 中,可以使用内置函数对甲烷浓度数据进行插值可视化。例如,利用反距离加权IDW插值方法填补空间上的数据空白,生成连续的甲烷浓度分布图。以下是实现这一功能的代码示例: ```python import ee ee.Initialize() # 定义研究区域 region = ee.Geometry.Rectangle([70, 15, 140, 55]) # 示例:中国区域 # 加载 Sentinel-5P CH4 数据 ch4 = ee.ImageCollection('COPERNICUS/S5P/OFFL/L3_CH4') \ .filterDate('2022-01-01', '2022-01-31') \ .select('CH4_column_volume_mixing_ratio_dry_air') \ .mean() \ .clip(region) # 设置可视化参数 visualization_params = { 'min': 1800, 'max': 1900, 'palette': ['blue', 'green', 'yellow', 'red'] } # 显示结果 Map = geemap.Map() Map.centerObject(region, 4) Map.addLayer(ch4, visualization_params, 'Methane Concentration') Map.add_colorbar(visualization_params, label='CH4 (ppb)', orientation='horizontal') Map ``` 上述代码实现了从 Sentinel-5P 数据集中提取特定时间段内的平均甲烷浓度,并通过颜色渐变的方式展示其空间分布情况。 #### 数据分析 通过对 Sentinel-5P 甲烷浓度数据的时间序列分析,可以揭示甲烷排放的季节性变化规律以及长期趋势。结合其他遥感数据(如降雨量、温度等),还可以进一步探讨气候变化对甲烷排放的影响[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

此星光明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值