当前位置: 首页 > article >正文

GEE实战:基于Landsat8的MNDWI水体提取与城镇环境分析

1. 认识MNDWI比NDWI更懂城市的水体检索术第一次用NDWI做水体提取时我盯着结果图里大片假水体直挠头——城市建筑阴影和真实水面在影像上几乎无法区分。直到发现MNDWI改进的归一化差异水体指数这个问题才迎刃而解。这个看似简单的指数改进背后藏着非常实用的传感器特性认知。MNDWI的计算公式是(绿光波段 - 短波红外波段)/(绿光波段 短波红外波段)。与NDWI使用近红外波段不同MNDWI改用短波红外SWIR波段参与计算。实测发现建筑物阴影在绿光和近红外波段的反射特征确实和水体很像但在短波红外波段会表现出明显差异。这就好比用普通手电筒很难区分玻璃和冰块换成特定波长的紫外灯就能一目了然。在GEE平台上Landsat8的波段对应关系需要特别注意绿光波段B3中心波长约560nm短波红外波段B6中心波长约1600nm我曾对比过同一区域NDWI和MNDWI的效果某工业园区NDWI结果中厂房阴影的伪水体占比高达37%而MNDWI结果中这个比例降到了6%以下。这个改进对城镇环境的水体测绘简直是质的飞跃。2. GEE实战五步搞定水体提取全流程2.1 数据准备与预处理在GEE中处理Landsat8数据时我习惯用LANDSAT/LC08/C01/T1_SR这个经过大气校正的数据集。这里有个容易踩的坑直接使用原始DN值会导致计算结果出现异常一定要确认选用地表反射率产品。// 定义研究区域以郑州市区为例 var roi ee.FeatureCollection(users/your_account/zhengzhou_urban); Map.centerObject(roi, 10); // 获取2022年云量10%的Landsat8影像 var l8_collection ee.ImageCollection(LANDSAT/LC08/C01/T1_SR) .filterBounds(roi) .filterDate(2022-01-01, 2022-12-31) .filter(ee.Filter.lte(CLOUD_COVER, 10));建议添加QA波段的质量筛选我在项目中发现这能有效去除云影干扰var maskClouds function(image) { var qa image.select(pixel_qa); var cloud qa.bitwiseAnd(1 3).or(qa.bitwiseAnd(1 5)); return image.updateMask(cloud.not()); }; var l8_cloudfree l8_collection.map(maskClouds);2.2 MNDWI计算与可视化计算环节有个实用技巧先对影像集做中值合成median再计算指数比逐个计算后再合成更高效。这里分享我的调色板配置经验用FFFFFF,00FFFF渐变能更好突出水体细节。// 计算年度合成影像的MNDWI var l8_median l8_cloudfree.median().clip(roi); var mndwi l8_median.normalizedDifference([B3,B6]) .float() .rename(MNDWI); // 可视化参数实测最佳显示范围 var visParams { min: -0.5, // 包含低值异常点 max: 0.8, palette: [gray, white, cyan, blue] }; Map.addLayer(mndwi, visParams, MNDWI);遇到城镇区域时建议将max值调整到0.6左右能更好抑制高反射建筑物的干扰。我曾对比过不同阈值的效果发现城市环境用0.3-0.4作为水体阈值比常规的0更准确。3. 城镇环境下的精度提升技巧3.1 建筑物阴影的识别与过滤在密集城区高层建筑阴影是主要干扰源。通过实验我发现结合NDVI指数能有效改善这种情况。具体做法是构建一个复合条件MNDWI 0.4 NDVI 0.2。// 计算NDVI辅助过滤植被 var ndvi l8_median.normalizedDifference([B5,B4]).rename(NDVI); // 构建复合水体掩膜 var water_mask mndwi.gt(0.4).and(ndvi.lt(0.2)); Map.addLayer(water_mask.selfMask(), {palette:[blue]}, Refined Water);对于特别复杂的城市中心区我会引入夜间灯光数据作为辅助。NASA的Black Marble数据集在GEE中可用高亮度区域通常对应建筑密集区能帮助识别潜在的阴影干扰。3.2 季节性水体的动态监测城镇水体有个特点人工水体如景观湖全年存在而自然水体如河流可能季节性变化。用时间序列分析能很好区分二者// 按季度计算MNDWI var quarterly_mndwi ee.ImageCollection( [2022-01-01,2022-04-01,2022-07-01,2022-10-01].map( function(date){ var start ee.Date(date); var end start.advance(3, month); return l8_collection.filterDate(start, end) .median() .normalizedDifference([B3,B6]) .set(system:time_start, start.millis()); } ) );这种分析能清晰显示城市公园水体四季稳定MNDWI波动0.1而郊区河道旱季指数会下降0.3以上。我在天津滨海新区的项目中用这个方法准确识别了23个人工湖和12条自然河道。4. 成果输出与应用案例4.1 自动化导出与后续处理GEE的导出功能需要注意几个关键参数坐标系建议用EPSG:4528等地方坐标系分辨率设为30米时最大像素数要设为1e13添加metadata方便后续识别// 导出GeoTIFF到Google Drive Export.image.toDrive({ image: mndwi, description: Zhengzhou_MNDWI_2022, folder: GEE_Exports, fileNamePrefix: MNDWI_L8_2022, region: roi, scale: 30, crs: EPSG:4528, maxPixels: 1e13 });导出的数据在QGIS中处理时建议用SAGA GIS的Grid Tools → Conditional Tools → Grid Thresholding进行阈值分割比常规的重分类方法更精准。4.2 城市水域变化监测实例去年用这个方法分析了某沿海城市5年水域变化发现房地产开发导致自然水体减少12.7%人工水体面积增加24.3%通过MNDWI时序分析准确识别出3处违规填湖区域具体实现时用到了ee.ImageCollection.fromImages()构建时间序列然后通过imageCollection.reduce(ee.Reducer.slope())计算变化趋势。有个细节城市内涝分析时建议将MNDWI与DEM数据叠加能识别出排水不畅的低洼区。

相关文章:

GEE实战:基于Landsat8的MNDWI水体提取与城镇环境分析

1. 认识MNDWI:比NDWI更懂城市的水体检索术 第一次用NDWI做水体提取时,我盯着结果图里大片"假水体"直挠头——城市建筑阴影和真实水面在影像上几乎无法区分。直到发现MNDWI(改进的归一化差异水体指数),这个问…...

Mind+ V1.6.2 用户库实战:手把手教你为RFID-RC522模块制作图形化积木

Mind用户库开发实战:从零构建RFID-RC522图形化积木 当我在创客空间第一次看到孩子们面对RFID模块复杂的接线和代码时茫然的眼神,就意识到图形化编程的价值远不止简化操作——它本质上是一种认知翻译器,将底层硬件通信转化为可视化的逻辑单元。…...

AI小白必看!收藏这份「大模型×行业场景」地图,轻松找到你的AI起步点

本文以《大模型与垂直行业综述》为基础,提供了一张「大模型 行业场景」地图,帮助企业认清AI项目方向、起步点和潜在风险。文章建议从「低价值 低投入」场景入手,如内容生产、数字人视频等,积累经验后再逐步挑战高价值项目。同时…...

openEuler 20.03-LTS保姆级安装教程:从镜像下载到SSH远程登录全流程

openEuler 20.03-LTS 全流程安装指南:从零配置到远程管理实战 作为一款面向企业级场景的Linux发行版,openEuler凭借其高性能、高安全性和完善的生态支持,正在成为越来越多开发者和运维人员的首选。本文将带您从镜像下载开始,逐步完…...

2026年AI大模型落地关键:收藏这份“智能体驾驭系统”(Harness)实战指南!

AI Agent产品虽多,但常因缺乏稳定、可控的“驾驭系统”(Harness)而表现不佳。文章阐述Harness作为模型驾驭系统的核心作用,梳理了从Prompt工程到Context工程再到Harness工程的AI Agent发展三阶段。重点解析Harness的五大核心能力&…...

怎么关闭win11 自动更新

文章目录一、临时暂停更新(适合所有版本)二、彻底关闭自动更新方法 1:通过服务管理器(适合所有版本)方法 2:通过组策略(仅限 Win11 专业版/企业版/教育版)方法 3:通过注册…...

C语言VS Go语言:底层王者与云原生新贵,到底该学哪个?

程序员必看!两大神级语言正面“互撕”,选错路线多走3年弯路 在程序员圈子里,从来没有哪两种语言,能像C和Go这样,一边占据着技术生态的两极,一边被无数开发者反复拿来对比争论。有人说“C语言已老&#xff0…...

别再只调舵机了!给你的STM32机械臂加上OLED屏和角度传感器,实现实时姿态监控

STM32机械臂调试革命:用OLED与角度传感器打造可视化控制闭环 调试机械臂时还在用"盲人摸象"的方式反复调整舵机角度?当机械臂关节的实际位置与预期不符时,大多数初学者只能通过肉眼观察机械臂姿态来猜测角度偏差。这种低效的调试方…...

从拆解到参数解读:深度剖析B系列高压模块的电路设计奥秘

从拆解到参数解读:深度剖析B系列高压模块的电路设计奥秘 在电源设计领域,高压模块一直是工程师们关注的焦点。B系列高压模块以其紧凑的尺寸、高效的性能和稳定的输出,成为众多应用场景中的首选。本文将带领读者深入探索这款模块的设计精髓&am…...

3文件搞定AI编程:极简工作流让AI从“拖油瓶“变“得力助手

针对当前AI编程效率低下的痛点,本文提出了一套只需3个文件的极简工作流方案。通过分析AI编程的三个进化阶段(氛围编程→规格先行→自主代理),作者发现关键在于为AI提供明确任务指引(task.md)、标准工作流程…...

炸了!扒完 51 万行泄露的 AI 源码,我发现:你的 AI 傻,根本不是模型的锅

你有没有过这种体验:兴冲冲地用上了号称 “全能 AI 助手” 的产品,结果发现它要么记不住你昨天说过的话,要么干着干着就忘了自己要干嘛,要么就是动不动就把你的文件搞乱?我之前也一样,直到上个月&#xff0…...

随笔记录:关于芯片产品/公司的竞争能力

早上看了公众号的一篇文章,里面探讨了对芯片产品和芯片公司竞争力的思考。于是记录和总结一些有意思的看法:文章认为芯片行业决胜的关键点不在于是否复刻出了某些标杆产品,而在于把极端复杂性压缩成商业确定性的能力。从产品设计、封装、测试…...

软件多态管理化的接口统一与实现多样

软件多态管理化的接口统一与实现多样 在软件开发中,多态性是一种强大的设计理念,它允许开发者通过统一的接口管理不同的实现,从而提高代码的灵活性和可维护性。多态管理化不仅简化了系统架构,还支持功能的动态扩展,是…...

TikTok账号降权的真相:IP纯净度检测如何让粉丝从0涨到23万?

2026年初,一位跨境电商卖家的TikTok账号在连续发布30条高质量视频后,播放量始终卡在200左右。更换网络环境、重新注册账号、使用热门素材——所有方法都试过,账号权重依然起不来。最后发现,问题出在IP上。当他切换到纯净家庭宽带I…...

图像处理中的mask(掩膜):从基础概念到实战应用

1. 掩膜到底是什么?从生活场景理解技术概念 第一次听到"掩膜"这个词时,我脑海里浮现的是疫情期间大家戴的医用口罩。这种直觉其实很准确——就像口罩能选择性地保护口鼻区域,图像掩膜也是用来选择性"遮挡"图像的特定区域…...

构建可视化监控体系实现ANSYS许可证可观测管理

许可闲置?天价软件费白花了!你是不单是也碰到过此问题?项目到了紧要关头,软件许可却偏偏成了拦路虎,要么抢不到,要么抢到了又用不了,心里那个急啊,不亚于等一台大功率服务器——卡在…...

感恩团队,是憨云320感恩日最重要的起点 - 憨云320感恩日

在憨云320感恩日的价值体系里,感恩从来不是一个空泛的大词,它有非常清晰的顺序:先是团队,再是客户,再走向社会。 这个排序并不是偶然。它其实揭示了憨云对企业成长逻辑的理解——一家企业想要真正走得远、走得稳&#…...

RT-Thread PWM驱动电机调速实战——基于STM32F407

1. PWM与电机调速基础 第一次接触PWM控制电机时,我误以为只要随便给个占空比就能让电机转起来。结果电机要么纹丝不动,要么突然全速运转,把实验台上的零件都甩飞了。这次惨痛教训让我明白,PWM电机调速远没有控制LED亮度那么简单。…...

智能家居DIY:用FPGA+DHT11搭建高精度环境监测系统(带波形分析)

智能家居DIY:用FPGADHT11搭建高精度环境监测系统(带波形分析) 在智能家居领域,环境监测系统的精度和实时性直接影响用户体验。传统方案多采用现成模块或单片机实现,但存在采样率低、数据处理能力有限等问题。本文将展示…...

【3D目标检测】Sparse4D v3:迈向时空感知的稀疏查询范式,如何重塑自动驾驶感知架构?

1. 从BEV到稀疏查询:自动驾驶感知的范式革命 第一次看到Sparse4D v3的论文时,我正被传统BEV方法的各种限制折磨得焦头烂额。记得去年在一个实际项目中,我们需要在车载计算平台上部署3D检测模型,BEV方法的内存占用直接让我们的Jets…...

2026年聚氨酯阻燃剂Top排行实测分享

2026年聚氨酯阻燃剂Top排行实测分享 随着全球对绿色安全材料需求的持续攀升,聚氨酯阻燃剂作为关键功能性添加剂,在建筑、汽车、电子、纺织等多个领域发挥着日益重要的作用。2026年,行业技术迭代加速,环保法规趋严,特别…...

JeecgBoot ≤3.4.0 验证码逻辑缺陷导致任意用户注册漏洞

核心问题:图形验证码与短信验证码共享相同的Redis key生成逻辑,且该key存在可预测性风险。攻击流程:1️⃣ 访问/randomImage/{key}接口 → 获取已知key-value组合(MD5(codekey))2️⃣ 调用/sys/register接口 → 将获取…...

为什么你做Twitter一直没效果?2026年高曝光运营逻辑拆解

你有没有这种感觉?每天花3-4个小时刷Twitter、手动点赞、到处蹭热门话题,结果一看后台数据,曝光量(Impression)始终卡在三位数,粉丝增长几乎停滞。看着别人随便发发就能上热门,你可能会怀疑&…...

大模型推理中c10::Half与float类型不匹配?3个常见错误及修复方法

大模型推理中c10::Half与float类型不匹配?3个常见错误及修复方法 最近在调试Llama-2这类大语言模型时,不少开发者反馈遇到了RuntimeError: expected m1 and m2 to have the same dtype这类令人头疼的类型错误。特别是在混合使用c10::Half(即t…...

atuin能自动云端同步的历史命令最强工具

文章目录前言一、下载二、 使用1. 基本使用2.不同的模式前言 我以前开了好几个终端窗口,关掉一个,之前敲的命令就找不到了。换台电脑更惨,历史直接清零。后来才知道zsh_history就是个纯文本文件,多个窗口同时写会互相覆盖。 后来…...

ESP32 ADC精度提升实战:从原始值到精准电压,手把手教你配置eFuse校准与硬件滤波

ESP32 ADC精度提升实战:从原始值到精准电压的完整优化方案 在物联网设备开发中,环境监测传感器的精度往往决定了整个系统的可靠性。以土壤湿度传感器为例,其输出电压信号通常在毫伏级别变化,这对ESP32内置ADC的测量精度提出了严峻…...

【反蒸馏实战 10】AI 训练师 / 提示词工程师 :当这个职业本身就是 AI 时代产物,你的“反蒸馏”之路在哪?@AI训练师从“写手”到“系统策略师”的进化实战

摘要:2025-2026年,Prompt Engineer岗位招聘量暴跌65%,这个曾被追捧的“黄金职业”为何迅速“被蒸馏”?核心原因是AI已掌握提示词编写技巧,单纯的Prompt技能不再稀缺。本文深度解析AI训练师的职业危机本质,拆解从“Prompt工匠”到“AI系统策略师”的三层跃迁路径:从思维层…...

SITS2026未公开技术白皮书节选:社交媒体多模态时序对齐的3种数学建模范式(含TensorRT加速实测)

第一章:SITS2026未公开技术白皮书节选:社交媒体多模态时序对齐的3种数学建模范式(含TensorRT加速实测) 2026奇点智能技术大会(https://ml-summit.org) 本节基于SITS2026实验室内部验证通过的多模态对齐框架,聚焦短视…...

如何免费搭建个人数字图书馆:番茄小说下载器终极指南

如何免费搭建个人数字图书馆:番茄小说下载器终极指南 【免费下载链接】fanqienovel-downloader 下载番茄小说 项目地址: https://gitcode.com/gh_mirrors/fa/fanqienovel-downloader 还在为网络小说平台限制、网络不稳定或小说突然下架而烦恼吗?今…...

基于QtPy (PySide6) 的PLC-HMI工程项目(八)在上位机中解析上行报文

来自PLC的上行报文具有以下数据格式:帧头(2字节) 区域变量(Area、DBnum、offset、byteCount) 本区域数据内容( byteCount长度的字节) 下一区域变量 下一区域数据内容 。。。 帧尾&#xf…...