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

基于Sentinel-1雷达数据的洪水动态监测(附完整GEE代码)

洪水是最常见的自然灾害之一,快速、准确地监测洪水淹没范围及动态变化,对灾情评估和救援决策至关重要。本文将介绍如何利用Google Earth Engine(GEE)平台,基于Sentinel-1合成孔径雷达(SAR)数据,实现洪水的自动化监测与分析。

一、为什么选择Sentinel-1数据监测洪水?

Sentinel-1是欧洲航天局(ESA)发射的雷达卫星,具有以下优势,使其成为洪水监测的理想选择:

  • 全天时、全天候工作:不受云雨天气影响,可在洪水发生时的恶劣天气条件下获取数据
  • 高空间分辨率:提供10-30米分辨率数据,能清晰识别淹没区域
  • 短重访周期:单颗卫星重访周期为12天,双颗卫星协同可实现6天重访
  • 对水体敏感:雷达波在水体表面发生镜面反射,回波信号弱(表现为低后向散射值),容易与陆地区分

二、技术流程概述

本研究通过以下步骤实现洪水动态监测:

  1. 加载研究区域并设置地图显示
  2. 定义需要监测的三个关键时期(洪水前、洪水期、洪水后)
  3. 自动获取各时期的Sentinel-1雷达数据
  4. 利用Otsu算法自动计算水体提取阈值
  5. 提取各时期的淹没范围并可视化
  6. 对比分析洪水动态变化

三、完整代码及解析

1. 研究区设置

// 研究区定义(替换为你的研究区资产ID)
var roi = ee.FeatureCollection("projects/ee-hllutlu2024/assets/huaiji");
Map.centerObject(roi, 10); // 将地图中心定位到研究区,缩放级别10

首先需要定义研究区域,这里使用GEE资产中的矢量数据。Map.centerObject函数用于将地图视图定位到研究区,方便后续可视化查看。

2. 监测时期设置

// 三期目标监测时间与标签(可根据实际洪水过程调整)
var dates = [{date: '2024-06-05', label: '洪水前'},  // 洪水前{date: '2024-06-18', label: '洪水期'}, // 洪水期(峰值阶段){date: '2024-06-30', label: '洪水后'}  // 洪水后
];

根据洪水过程设置三个关键监测时间点(已调整为2024年实际可行日期):

  • 洪水前:作为基准参考,反映区域正常地表状态
  • 洪水期:监测洪水淹没最大范围(建议选择洪水峰值时段)
  • 洪水后:评估退水情况及未退水区域

3. Sentinel-1数据获取函数

// 获取Sentinel-1影像(目标日期±2天内最新数据,升轨VV极化)
function getS1VV(date) {var start = ee.Date(date).advance(-2, 'day'); // 开始日期:目标日期前2天var end = ee.Date(date).advance(2, 'day');   // 结束日期:目标日期后2天var imgCol = ee.ImageCollection('COPERNICUS/S1_GRD').filterBounds(roi)                          // 按研究区过滤.filterDate(start, end)                     // 按日期范围过滤.filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VV')) // 选择VV极化.filter(ee.Filter.eq('orbitProperties_pass', 'ASCENDING')) 

文章转载自:
http://bold.zzgtdz.cn
http://asphyxy.zzgtdz.cn
http://befittingly.zzgtdz.cn
http://casting.zzgtdz.cn
http://anhydremia.zzgtdz.cn
http://abducent.zzgtdz.cn
http://amateurship.zzgtdz.cn
http://anfractuosity.zzgtdz.cn
http://aerification.zzgtdz.cn
http://bowyer.zzgtdz.cn
http://beatitude.zzgtdz.cn
http://belay.zzgtdz.cn
http://brambling.zzgtdz.cn
http://ass.zzgtdz.cn
http://achromasia.zzgtdz.cn
http://byte.zzgtdz.cn
http://alforja.zzgtdz.cn
http://beret.zzgtdz.cn
http://charmingly.zzgtdz.cn
http://bard.zzgtdz.cn
http://ablepharous.zzgtdz.cn
http://berkeleyan.zzgtdz.cn
http://bullbaiting.zzgtdz.cn
http://brightness.zzgtdz.cn
http://cherbourg.zzgtdz.cn
http://cariban.zzgtdz.cn
http://ashcake.zzgtdz.cn
http://bedroom.zzgtdz.cn
http://antistreptococcal.zzgtdz.cn
http://anacom.zzgtdz.cn
http://www.dtcms.com/a/281763.html

相关文章:

  • 深入理解红锁
  • Vue3入门-指令补充
  • 学习C++、QT---26(QT中实现记事本项目实现文件路径的提示、C++类模板、记事本的行高亮的操作的讲解)
  • 面向对象与面向过程、函数式编程
  • C++回顾 Day8
  • 【时时三省】(C语言基础)通过指针引用多维数组
  • 【09】MFC入门到精通——MFC 属性页对话框的 CPropertyPage类 和 CPropertySheet 类
  • burpsuite使用中遇到的一些问题(bp启动后浏览器无法连接)/如何导入证书
  • css实现烧香效果
  • 20.如何在 Python 字典中找到最小值或最大值的键?
  • 【卡尔曼滤波第六期】集合变换卡尔曼滤波 ETKF
  • 【Linux庖丁解牛】— 保存信号!
  • HTML网页结构(基础)
  • 【linux V0.11】init/main.c
  • 函数指针与指针函数练习讲解
  • 9、线程理论1
  • HostVDS 云服务器测评:平价入门、流媒体解锁全美、表现稳定
  • 暑假Python基础整理 --异常处理及程序调试
  • Redis 中的持久化机制:RDB 与 AOF
  • Java之Stream其二
  • 第二章 OB 存储引擎高级技术
  • 数学金融与金融工程:学科差异与选择指南
  • 【AI News | 20250714】每日AI进展
  • 为 Git branch 命令添加描述功能
  • 将 Vue 3 + Vite + TS 项目打包为 .exe 文件
  • 711SJBH构建制造业信息化人才培训体系的对策-开题报告
  • 21-C#的委托简单使用-1
  • Datawhale 25年7月组队学习coze-ai-assistant Task1学习笔记:动手实践第一个AI Agent—英伦生活口语陪练精灵
  • yolov5、yolov8、yolov11、yolov12如何训练及轻量化部署-netron-onnx
  • echarts折线图的 线条的样式怎么控制