前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AI Earth ——开发者模式案例5:鄱阳湖水体区域识别

AI Earth ——开发者模式案例5:鄱阳湖水体区域识别

作者头像
此星光明
发布2024-02-02 10:13:49
1460
发布2024-02-02 10:13:49
举报

鄱阳湖水体区域识别

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

初始化环境
代码语言:javascript
复制
import aie

aie.Authenticate()
aie.Initialize()
代码语言:javascript
复制
Landsat-8 数据检索

使用 aie.Image 引用单景 Landsat-8 数据,并对数据进行去云处理。

代码语言:javascript
复制
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)
代码语言:javascript
复制
image = aie.Image('LC08_L2SP_121040_20210605_20210614_02_T1')
img = removeLandsatCloud(image)
水体提取

通过 aie.Image.normalizedDifference 函数实现归一化水体指数( NDWI )的计算。利用 aie.Image.whereaie.Image.lteaie.Image.gt 实现水体与非水体的二分类提取。这里其实使用的是阈值法来进行分析的,使用的就是大于多少水体值或者小于水体值作为应用条件进行区分的。

代码语言:javascript
复制
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))
代码语言:javascript
复制
map = aie.Map(
    center=image.getCenter(),
    height=800,
    zoom=7
)

# 水体区域为蓝色
vis_params = {
    'min': 0,
    'max': 1,
    'palette' : [
        '#a1a1a1', '#0000ff'
    ]
}

map.addLayer(
    water,
    vis_params,
    'water',
    bounds=image.getBounds()
)
map
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-02-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 鄱阳湖水体区域识别¶
    • 初始化环境¶
      • Landsat-8 数据检索¶
        • 水体提取¶
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档