GEE:使用正则表达式筛选影像波段并改名

33 篇文章 10 订阅


一、问题描述:

GEE中,如何快速选取波段,并对各波段进行改名(select)?

仍以鄱阳湖湖区Landsat遥感影像为例,该区域的分析例子参见
GEE学习:按照行列号筛选鄱阳湖湖区影像数据并查询相关信息.
GEE学习:Landsat8 Collection2 level2数据集获取影像范围及坐标.
GEE学习:遥感影像设置新的属性并查询.

本次进行分析的区域如下:
在这里插入图片描述


二、获取影像集并显示:

1、分析步骤

分析步骤如下所示:

加载区域影像
筛选波段并改名
可视化显示
查看波段名信息

2、加载区域影像并查询波段名

本次直接使用image影像的id信息直接加载影像,当然也可以使用Landsat8 C2数据集中某个时间段的筛选(具体见前面博文),python代码如下:

image = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_121040_20211112')
image.bandNames().getInfo()

结果显示如下:
[‘SR_B1’,
‘SR_B2’,
‘SR_B3’,
‘SR_B4’,
‘SR_B5’,
‘SR_B6’,
‘SR_B7’,
‘SR_QA_AEROSOL’,
‘ST_B10’,
‘ST_ATRAN’,
‘ST_CDIST’,
‘ST_DRAD’,
‘ST_EMIS’,
‘ST_EMSD’,
‘ST_QA’,
‘ST_TRAD’,
‘ST_URAD’,
‘QA_PIXEL’,
‘QA_RADSAT’]

三、选择波段并改名

利用select进行相应波段的筛选,该处采用了正则表达式进行筛选,同时进行波段名称更改

# 在select中使用正则表达式筛选,并将筛选后的波段进行改名
band345 = image.select(['SR_B[3-5]'], ['b3', 'b4', 'b5'])
print(band345.bandNames().getInfo())

vis_image = {
    'bands':['b5', 'b4', 'b3'], 'min':5000, 'max':18000, 'gamma':1.2
}
Map.centerObject(band345)
Map.addLayer(band345, vis_image, 'band345')
Map

结果显示如下:

在这里插入图片描述


四、学习小结:

  1. 在GEE中,select属于最常见的操作之一,但对其使用方面,不仅可以使用列表逐个波段进行选择,而且还可以利用简单的正则表达式,实现所需信息的快速选取
  2. 学习了更改波段名称的方法,直接利用select函数

参考:

  • https://github.com/giswqs/earthengine-py-notebooks/blob/master/Image/select_bands.ipynb
  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值