Google earth engine 中 Landsat-9调用和去云算法

Google Earth Engine GEE

Google Earth Engine (GEE) 是一个基于云的地理数据处理平台,可以用于处理和分析大量的地理空间数据。Landsat-9 是美国地质调查局 (USGS) 和美国航空航天局 (NASA) 合作的地球观测卫星项目,用于收集地表反射率、表面温度等遥感数据。

在 Google Earth Engine 中调用 Landsat-9 数据并进行去云处理,可以分为以下几个步骤:

  1. 导入 GEE 库:
    首先,确保已安装了 Python 的 earthengine-api 库。然后,在 Python 脚本或 Jupyter Notebook 中导入所需的库:
import ee
ee.Initialize()

  1. 选择 Landsat-9 数据集:
    可以通过以下方式选择 Landsat-9 数据集,并设置时间范围和区域:
# 设置时间范围
start_date = '2022-01-01'
end_date = '2022-12-31'

# 设置感兴趣区域 (通过经纬度坐标定义)
aoi = ee.Geometry.Rectangle([103.0, 30.0, 104.0, 31.0])

# 选择 Landsat-9 数据集
landsat9 = ee.ImageCollection("LANDSAT/LC09/C01/T1_SR").filterDate(start_date, end_date).filterBounds(aoi)

  1. 应用去云算法:
    在 GEE 中,有多种去云算法可供选择。这里我们使用 Sentinel Cloud Score (SCS) 去云算法作为示例:
def sentinel_cloud_score(img):
    cloud_shadow = img.select('cloud_shadow')
    cloud = img.select('cloud')
    cirrus = img.select('cirrus')
    
    score = cloud.add(cloud_shadow).add(cirrus)
    
    return img.addBands(score.rename('cloud_score'))

# 应用去云算法
landsat9_cloud_score = landsat9.map(sentinel_cloud_score)

  1. 选择无云或低云图像:
    根据所需的云量阈值,选择无云或低云图像:
# 设置云量阈值
cloud_threshold = 20

def mask_cloudy_images(img):
    return img.updateMask(img.select('cloud_score').lt(cloud_threshold))

# 应用云量阈值
landsat9_masked = landsat9_cloud_score.map(mask_cloudy_images)

  1. 可视化结果:
    最后,可以使用 folium 库将去云后的图像可视化在地图上:
import folium

def add_ee_layer(self, ee_image_object, vis_params, name):
    map_id_dict = ee.Image(ee_image_object).getMapId(vis_params)
    folium.raster_layers.TileLayer(
        tiles=map_id_dict['tile_fetcher'].url_format,
        attr='Map Data &copy; <a href="https://earthengine.google.com/">Google Earth Engine</a>',
        name=name,
        overlay=True,
        control=True
    ).add_to(self)

folium.Map.add_ee_layer = add_ee_layer

# 创建地图
map

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值