Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >#GEE代码实例教程详解:Sentinel-2数据的NDWI和NDTI分析

#GEE代码实例教程详解:Sentinel-2数据的NDWI和NDTI分析

作者头像
Twcat_tree
发布于 2024-07-09 23:50:34
发布于 2024-07-09 23:50:34
69100
代码可运行
举报
文章被收录于专栏:二猫の家二猫の家
运行总次数:0
代码可运行

简介

本篇博客将介绍如何使用Google Earth Engine (GEE) 对Sentinel-2数据进行归一化差异水体指数(NDWI)和归一化差异植被指数(NDTI)的分析。这些指数有助于识别水体和植被覆盖情况。

背景知识

Sentinel-2数据集

Sentinel-2是由欧洲空间局(ESA)提供的高分辨率光学卫星数据,广泛应用于植被监测、土地覆盖分类和环境变化分析。

NDWI

归一化差异水体指数(NDWI)是一种用于识别水体的遥感指数。

NDTI

归一化差异植被指数(NDTI)是一种用于增强植被特征的遥感指数,通常用于植被覆盖度分析。

完整代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 定义研究区域的坐标点
var cor = [
  [经度1, 纬度1],
  [经度2, 纬度2],
  [经度3, 纬度3],
  [经度4, 纬度4]
  // 请替换为具体的坐标点
];

// 创建多边形区域
var roi = ee.Geometry.Polygon(cor);

// 将地图中心设置为研究区域
Map.centerObject(roi);

// 加载Sentinel-2数据集
var sen = ee.ImageCollection("COPERNICUS/S2_SR_HARMONIZED")
  .select(['B2', 'B3', 'B4', 'B8'])
  .filterDate('2023', '2024')
  .filterBounds(roi)
  .filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 10))
  .median().multiply(0.0001);

// 添加假彩色图层
Map.addLayer(sen.clip(roi),
  {bands:['B8', 'B4', 'B3']}, 'false color composite', false);

// 计算NDWI
var ndwi = sen.normalizedDifference(['B3', 'B8']).rename('ndwi');
Map.addLayer(ndwi.clip(roi), [], 'ndwi', false);

// 打印NDWI直方图
print(
  ui.Chart.image.histogram(ndwi, roi, 100)
);

// 设置NDWI阈值
var thr = ndwi.gt(0.1);
Map.addLayer(thr.clip(roi), [], 'ndwi threshold', false);

// 更新掩膜
var sen_mask = sen.updateMask(thr);

// 添加掩膜后的Sentinel-2图层
Map.addLayer(sen_mask.clip(roi), [], 'sen_mask', false);

// 计算NDTI
var ndti = sen_mask.normalizedDifference(['B4', 'B3']).rename('ndti');
Map.addLayer(ndti.clip(roi), {
  palette: ['blue', 'green', 'yellow', 'orange', 'red']
}, 'ndti', false);

// 导出NDTI图像
Export.image.toDrive({
  image: ndti.clip(roi),
  description: 'sen2_ndti',
  region: roi,
  scale: 10,
  crs: ndti.getInfo().crs,
  maxPixels: 1e13,
  folder: 'test'
});

代码详解

1. 定义研究区域

创建多边形区域roi,用于限定分析的地理范围,并设置地图中心。

2. 加载Sentinel-2数据集

加载Sentinel-2数据集,选择特定波段,筛选日期,地理范围和云层覆盖。

3. 添加假彩色图层

使用Sentinel-2数据的特定波段创建假彩色图层,以更好地识别不同地表特征。

4. 计算NDWI

计算归一化差异水体指数,以识别水体。

5. 打印NDWI直方图

打印NDWI的直方图,以了解NDWI值的分布。

6. 设置NDWI阈值

设置阈值以识别水体区域,并更新掩膜。

7. 计算NDTI

计算归一化差异植被指数,以识别植被覆盖度。

8. 导出NDTI图像

将NDTI图像导出到Google Drive。

结论

本教程展示了如何使用GEE对Sentinel-2数据进行NDWI和NDTI的计算和分析。这些指数有助于了解水体和植被覆盖度的空间分布。

进一步探索

GEE提供了多种工具和方法来进行水体和植被分析。在后续的教程中,我们将继续探索GEE在不同领域的应用。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-07-09,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Linux运维人,该醒醒了,2019年要变天了
外界都说运维只是处于被动低效率手工救火的状态,企业对其重视程度不高,提起运维很多人能联想到的字眼就有“苦逼”、“辛苦”、“加班”、“背锅”。在大数据、人工智能、容器技术的强力加持下,运维这个传统的技术工种已经从“机械劳动”这样的刻板印象中蜕变出来,成为了任何一家技术公司所必须依赖和大力投入的核心技术能力。
马哥linux运维
2019/07/09
2.1K1
Linux运维人,该醒醒了,2019年要变天了
DevOps研发模式下CI/CD实践详解指南
借着公司今年新组建的中台研发部东风,我作为其中的主要负责人,在研发中心主导推行DevOps研发管理模式转变及质量管理创新建设,本篇文章摘取自今年9月底,笔者在公司内部针对全体研发人员的一次DevOps培训PPT中的部分内容,涉及公司敏感信息和部分章节内容顺序已经作过处理。
测试开发技术
2019/12/09
1.4K0
DevOps研发模式下CI/CD实践详解指南
DevOps 的道术法器,探寻 DevOps “立体化”实践之旅
随着业务的发展,软件发布迭代的频率越来越高,传统的瀑布型模式已经不能满足快速交付的需求,DevOps 也因此受到持续关注。越来越多的公司开始接受并尝试使用 DevOps,期望能使得软件开发中的构建、测试与发布工作变得更加快捷、频繁和可靠。
腾讯云 CODING
2023/05/18
3680
DevOps 的道术法器,探寻 DevOps “立体化”实践之旅
DevOps的道术法器,探寻DevOps“立体化”实践之旅
随着业务的发展,软件发布迭代的频率越来越高,传统的瀑布型模式已经不能满足快速交付的需求,DevOps 也因此受到持续关注,越来越多的公司开始接受并尝试使用 DevOps 。期望能使得软件构建、测试、发布更加快捷、频繁和可靠。
TVP官方团队
2023/01/05
3600
DevOps的道术法器,探寻DevOps“立体化”实践之旅
持续交付的七个问题探讨
这是 Amazon 一年完成 5000 万次部署,平均每个工程师每天超过 50 次部署的核心秘籍。
DevOps时代
2019/03/08
1.1K0
持续交付的七个问题探讨
月薪3W起?揭秘2025年云计算岗位薪资天花板与入行门槛
近年来,云计算以惊人的速度重塑着全球IT产业的格局。据行业报告显示,到2025年,全球云计算市场规模将突破万亿美元大关,而国内云计算市场更是保持着高速增长态势。在这一背景下,云计算相关岗位的薪资水涨船高,“月薪3W起”甚至更高已成常态。然而,高薪背后究竟隐藏着怎样的行业逻辑?普通人该如何抓住这波红利?本文将从薪资结构、岗位需求、入行门槛三个维度深入剖析,为您揭开云计算行业的财富密码。
小库主机
2025/08/05
1400
月薪3W起?揭秘2025年云计算岗位薪资天花板与入行门槛
让大模型告诉我DevOps工程师和SRE工程师有什么区别
我最近几年在DevOps团队做一些工作,发现很多人(包括同事)把SRE和DevOps完全混为一谈,我心里知道这两个岗位是不一样的,但是不能描述的很清楚。
panzhixiang
2024/10/30
2460
一个 DevOps 面试小宝典
DevOps 是敏捷开发的产物,也越来越受到谷歌、Facebook 或亚马逊等大型企业的关注。因此,当你要申请 DevOps 工程师岗位时,除了所需的专业技能外,准备充分的 DevOps 工作面试,对于成功拿到 Offer 也至关重要。
我是阳明
2022/12/29
7890
一个 DevOps 面试小宝典
运维工程师的自白书-简述DevOps中的CI/CD
引言:DevOps 与 CI/CD 的重要性 在当今快速发展的软件行业中,如何高效交付高质量的应用已成为企业制胜的关键。DevOps 作为一种文化理念和实践方法,通过开发(Development)与运维(Operations)团队的紧密协作,为组织带来了更高效的软件交付能力、更稳定的系统运行以及更优质的用户体验。 而持续集成(Continuous Integration, CI)与持续部署(Continuous Deployment, CD),统称为 CI/CD,正是 DevOps 实践中不可或缺的核心要素。它们通过自动化构建、测试和部署流程,显著提升了开发效率和软件质量。 传统的软件开发模式往往依赖手动操作,不仅耗时耗力,还容易导致人为错误。而 CI/CD 的引入则带来了划时代的改变。通过自动化关键流程,组织得以实现更快的反馈循环、更高效的团队协作以及更可预测的发布周期。这种转变不仅为企业的敏捷性提供了强有力的支持,也使其能够更从容地应对瞬息万变的市场需求。 然而,CI/CD 的成功实施并非易事,它需要专业的知识储备以及对工具和方法论的深入了解。对于缺乏内部专家的组织而言,寻求专业的 DevOps 自动化服务供应商的支持不失为一个明智的选择。 众多成功实践 CI/CD 的中国企业已经在多个方面取得了显著成效:部署频率的显著提升、变更交付时间的大幅缩短、系统恢复能力的增强,以及整体可靠性的提高。这些改进直接转化为开发效率的提升与客户满意度的增强。 什么是 CI/CD? 持续集成(CI) 持续集成,简单来说,就是开发人员在开发过程中频繁地将代码变更合并到共享仓库,并通过自动化构建和测试流程来尽早发现潜在问题。这就好像在建造一座房子时,每次只添加一块砖,并在每一步都检查结构是否稳固。如果发现问题,就可以立即修复,而不是等到房子建好后才发现地基有问题。 CI 的核心目标在于保证代码始终处于可运行状态,同时促进团队协作并降低后期修复的成本。通过这种方式,团队能够更早地发现问题,从而避免在项目后期出现难以解决的集成问题。 持续部署(CD) 持续部署则将自动化从构建和测试环节延伸到生产环境的发布环节。这就像一条传送带,将完成的产品直接送到用户的手中,无需任何人工干预。CD 的实现依赖于三点:健壮的测试框架、实时的监控系统以及快速的回滚机制。这些要素共同确保了系统的稳定性与良好的用户体验。 CI 和 CD 共同构成了从代码提交到最终发布的无缝流程,为用户提供持续的价值交付。
IT运维技术圈
2025/06/11
2050
运维工程师的自白书-简述DevOps中的CI/CD
DevOps 流水线简介及最佳实践 | 理论篇
DevOps是一种将开发(Development)和运维(Operations)紧密结合起来的软件开发和交付模式。它将人、流程和技术结合起来,通过结合并自动执行软件开发和 IT 运营团队的工作,并强调开发团队和运维团队之间的协作和沟通,通过自动化工具和流程来加快产品的交付速度和质量。
DevOps时代
2023/08/22
6.7K1
DevOps 流水线简介及最佳实践 | 理论篇
我们来深化学习微服务架构解析:微服务的采用前提,流程管理
微服务从技术架构出发,使应用系统具备快速响应、灵活部署、敏捷交付、持续演进的特性成为可能,而规模化的微服务交付如果没有完整的软件工程和流程管理体系、自动化的流程交互运维工具,很难持续发展。
愿天堂没有BUG
2022/10/28
3750
我们来深化学习微服务架构解析:微服务的采用前提,流程管理
[完结13章]云时代必修课-云原生CI/CD(持续集成与交付)全流程实战
随着应用向云端迁移,持续集成与交付成为一项核心技能。然而,云原生 CI/CD 技术与工具繁多,跨项目迁移难度大,对于缺乏经验技术人员来说,学习曲线陡峭。本文从零带大家掌握CI/CD工具与平台,模拟企业项目流程,涵盖代码提交、自动化构建、测试至高效部署每个环节,确保学习既系统又流畅,在收获基础理论同时,更能通过实战将CI/CD核心技能转化为生产环境能力,提升云原生技术实力和个人职业竞争力!
坚强的企鹅904695682
2024/08/22
3040
构建高质量的持续交付体系
前面的文章,聊了软件工程的基础理论、项目管理、需求分析、架构设计、软件测试以及线上服务的质量保障。其中在架构设计和线上服务的质量保障中,我也提到了关于持续集成持续交付相关的内容。软件工程的本质是用工程化的方法去规范软件开发,让软件开发项目可以按时保质完成的同时且成本可控。
老_张
2023/03/01
5730
构建高质量的持续交付体系
4637字,看懂从DevOps到DevSecOps的进化之路
维基百科上,DevOps(Development和Operations的组合词)是指一种重视软件开发人员(Dev)和IT运维技术人员(Ops)之间沟通合作的文化、运动或惯例。通过自动化软件交付和架构变更的流程,使构建、测试、发布软件能够更加快捷、频繁和可靠。
IT阅读排行榜
2022/01/20
8600
4637字,看懂从DevOps到DevSecOps的进化之路
深度剖析:银行 SRE 转型中 SRE 与 DevOps 团队的协作
摘要:本文通过深入分析SRE和DevOps在银行中的角色与职责,详细阐述了它们在核心协作点上的紧密配合,尤其是在自动化流程、SLO与CI/CD的结合、故障响应、性能优化等关键领域的协作。通过表格的方式,我们展示了在软件全生命周期中,SRE与DevOps如何协同工作,确保银行系统的高可用性、弹性和持续创新。
嘉为蓝鲸
2025/03/12
1070
深度剖析:银行 SRE 转型中 SRE 与 DevOps 团队的协作
2024年如何保持竞争力:DevOps工程师的关键技能
相信大家最近都总会看到这样或那样的新闻:哪个科技巨头又裁员了。裁员潮似乎成为了这个时代的常态,让许多打工人感到焦虑和不安。
Peter Shen
2024/04/10
2220
2024年如何保持竞争力:DevOps工程师的关键技能
从维护性工作到软件开发革命,运维15年间的大逆转
作者 | Tina 在 InfoQ 成立 15 周年之际,InfoQ 编辑部发起了“2007-2022:云、运维、架构、前端的 15 年演进史”特别策划,将和业内专家共同盘点云计算、运维、架构、前端四大技术领域的演进历史,试图从几个切面窥见 IT 技术的演进规律。本文是运维篇。 特此感谢岳上、刘毅二位老师对本文的贡献,他们的真知灼见,是本文能与大家见面的关键。 运维的工作主要是“运行”和“维护”,本质上是保证软件系统的稳定运行。 中国互联网从 20 世纪 90 年代开始形成,随后进入快速发展阶段。中
深度学习与Python
2023/03/29
3490
从维护性工作到软件开发革命,运维15年间的大逆转
敏捷开发,持续集成/交付(CI/CD)、DevOps
敏捷开发和DevOps都是一种理念。他们的理念相似,都是为了更好更快的发布产品,但又不完全相同。
PM吃瓜
2020/08/17
2K0
敏捷开发,持续集成/交付(CI/CD)、DevOps
2025 DevOps工具生态全景:本土化服务与智能化演进趋势观察
随着数字化转型浪潮的持续深入,DevOps工具链正在经历从功能集成到智能协作的范式转移。对于国内开发者而言,2025年的DevOps实践面临两个关键命题:如何选择与本土开发环境深度适配的工具平台,以及如何在智能化趋势下构建高效的自动化工作流。从市场格局来看,以Gitee DevOps为代表的国产平台正通过全流程整合和本地化服务构建差异化竞争力,而Jenkins和CircleCI等国际工具则持续强化其技术特性与社区生态。
活泼的双曲线
2025/07/15
1070
什么?DevOps 已经是哲学啦?
摘要——本文从一个新的角度审视了 DevOps 的实践,一个理解其哲学和科学本质的角度。DevOps 从根本上改变了基于指导哲学和科学原则的研究和开发领域。先进的计算技术和领域采用 DevOps 来实现先进的解决方案工程,以实现高效、质量有保证的输出。作者简要描述了DevOps 的哲学和科学如何协同定义其本质。
DevOps时代
2021/10/27
7610
推荐阅读
相关推荐
Linux运维人,该醒醒了,2019年要变天了
更多 >
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验