首页 > 其他分享 >基于AIE的贵阳市两湖一库水体区域识别

基于AIE的贵阳市两湖一库水体区域识别

时间:2022-10-10 23:34:26浏览次数:47  
标签:aie 贵阳市 Image 水体 一库 AIE ndwi image mosaic

贵阳市两湖一库水体区域识别

通过计算归一化水体指数 NDWI 指数提取贵阳市水体区域。

初始化环境

import aie
aie.Authenticate()
aie.Initialize()

Landsat-8 数据检索

使用 aie.mageCollection引用 Landsat-8 数据集,镶嵌后并对数据进行去云处理。

# 指定需要检索的区域
feature_collection = aie.FeatureCollection('China_City') \
                        .filter(aie.Filter.eq('city', '贵阳市'))
geometry = feature_collection.geometry()
# 指定检索数据集,可设置检索的空间和时间范围,以及属性过滤条件(如云量过滤等)
dataset = aie.ImageCollection('LANDSAT_LC08_C02_T1_L2') \
             .filterBounds(geometry) \
             .filterDate('2018-6-01', '2020-10-31') \
             .filter(aie.Filter.lte('eo:cloud_cover', 10.0)) \
             .limit(10)
map = aie.Map(
    center=feature_collection.getCenter(),
    height=800,
    zoom=7
)
vis_params = {
    'bands': ['SR_B4', 'SR_B3', 'SR_B2'],
    'min': 8000,
    'max': 13000,
}
map.addLayer(
    dataset,
    vis_params,
    'True Color (432)',
    bounds=dataset.getBounds()
)
map

贵阳市Landsat-8影像

数据镶嵌

使用mosaic方法进行栅格镶嵌

## 镶嵌
mosaic_image = dataset.mosaic()
mosaic_image.getInfo()

去云

使用自定义removeLandsatCloud函数进行去云

## 去云
def removeLandsatCloud(image):
    cloudShadowBitMask = (1 << 4)
    cloudsBitMask = (1 << 3)
    qa = image.select('QA_PIXEL')
    mask = qa.bitwiseAnd(aie.Image(cloudShadowBitMask)).eq(aie.Image(0)).And(qa.bitwiseAnd(aie.Image(cloudsBitMask)).eq(aie.Image(0)))
    return image.updateMask(mask)
## 去云
img = removeLandsatCloud(mosaic_image)

水体提取

通过aie.Image.normalizedDifference*函数实现归一化水体指数( NDWI )的计算。利用 aie.Image.where 、aie.Image.lte、aie.Image.gt实现水体与非水体的二分类提取。

## 计算ndwi
ndwi = img.normalizedDifference(['SR_B3', 'SR_B5'])
water = ndwi.where(ndwi.lte(aie.Image(0.0)),aie.Image(0)).where(ndwi.gt(aie.Image(0.0)),aie.Image(1))
# 水体区域为蓝色
vis_params = {
    'min': 0,
    'max': 1,
    'palette' : [
        '#a1a1a1', '#0000ff'
    ]
}

map.addLayer(
    water,
    vis_params,
    'water',
    bounds=mosaic_image.getBounds()
)
map

提取结果
真实效果

本案例主要引用了AIE官方的案例。

标签:aie,贵阳市,Image,水体,一库,AIE,ndwi,image,mosaic
From: https://www.cnblogs.com/truggling-zx/p/16777824.html

相关文章

  • 开源技术公开课丨Taier工作流的介绍
    一、直播介绍之前的内容,我们为大家分享了Taier基本介绍、控制台、Web前端架构、数据开发介绍以及Taier任务调度介绍,本期我们为大家分享Taier工作流的介绍。本次直播我们将详......
  • 开源交流丨任务or实例 详解大数据DAG调度系统Taier任务调度
    课件获取:关注公众号“数栈研习社”,后台私信“Taier”获得直播课件视频回放:点击这里ChunJun开源项目地址:github丨gitee喜欢我们的项目给我们点个__STAR!STAR!!STAR!!!(重......
  • Go 每日一库之 sjson(转)
    转自:Go每日一库之sjson简介在上一篇文章中我们介绍了如何使用gjson快速读取JSON串中的值。为了内容的完整性,今天我们介绍一下如何使用sjson快速设置JSON串中的值。......