GEE使用 Sentinel-1 SAR影像 和 Otsu 方法绘制洪水地图

本文介绍了如何利用Sentinel-1 SAR影像和Otsu方法在谷歌地球引擎(GEE)上检测洪水,强调了SAR在恶劣天气下的优势。研究中,作者通过GEE分析2023年7月10日Düzce/Gölyaka的洪水,展示了数据导入、过滤、阈值确定和洪水区域识别的步骤,讨论了结果的准确性及潜在改进措施。
摘要由CSDN通过智能技术生成

        洪水是世界上最常见、破坏性最大的自然灾害之一,造成了巨大的生命和财产损失。此外,随着气候变化的影响,近年来,洪灾变得更加频繁和不可预测。为了最大限度地减少生命和财产损失,必须迅速发现洪水蔓延的情况,并及时采取必要的干预措施。洪水蔓延探测大多使用光学传感器或合成孔径雷达(SAR)图像。然而,合成孔径雷达系统优于光学传感器,因为它可以在任何天气条件下昼夜收集数据。考虑到洪灾期间的天气情况,这一点非常重要。此外,所使用的图像尺寸较大,会延迟洪水蔓延的检测,难以及时干预。在本研究中,为了解决这一问题,我们将通过使用 Sentinel-1 SAR 图像和Otsu 方法以及GEE来检测 2023 年 7 月 10 日发生在 Düzce/Gölyaka杜兹采/戈利亚卡的洪水的蔓延情况。

        首先,我们登录 https://code.earthengine.google.com/,用谷歌账户打开一个新项目。我们将在项目中添加边界数据,以加快分析速度,并只研究对我们重要的区域。在这项研究中,我从地图总局的网站上下载了边界数据,并在 ArcGIS 中进行了剪切,以涵盖 Gölyaka 地区的边界。

        单击 Assets -> NEW -> Shape files,将边界数据添加到项目中。

单击 SELECT(选择),选择边界数据文件。

单击 "上传 "后,我们会看到数据正在 "任务 "窗口中加载。

安装过程完成后,我们点击 "资产 "窗口中的 "刷新 "按钮,就会看到名为 "边框 "的数据已经加载。

  • 25
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是使用Sentinel-1数据反演土壤湿度的Python代码: ``` python import ee # 认证用户账户 ee.Authenticate() ee.Initialize() # 定义AOI aoi = ee.Geometry.Polygon( [[[115.320038, 39.542519], [115.321138, 39.542519], [115.321138, 39.543619], [115.320038, 39.543619]]]) # Sentinel-1 GRD数据集 sentinel1 = ee.ImageCollection('COPERNICUS/S1_GRD') \ .filterBounds(aoi) \ .filterDate('2020-01-01', '2020-01-31') \ .filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VV')) \ .filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VH')) \ .filter(ee.Filter.eq('instrumentMode', 'IW')) \ .select(['VV', 'VH']) \ .map(lambda image: image.clip(aoi)) # 土壤湿度反演 def s1_soil_moisture(image): # 土壤湿度反演所需参数 alpha = 0.055 P = 1.3 C = -0.7 D = 0.3 # 地物指数 ratio = ee.Image(image.select('VV')).divide(image.select('VH')) # 土壤湿度反演 soil_moisture = alpha * (ee.Image(image.select('VH')).pow(P)).multiply(ratio.pow(C)).multiply(ee.Image(image.select('VV')).pow(D)) return soil_moisture.rename('soil_moisture') # 应用土壤湿度反演函数 soil_moisture = sentinel1.map(s1_soil_moisture) # 可视化结果 vis_params = {'min': 0, 'max': 0.5, 'palette': ['red', 'yellow', 'green']} Map = ee.Map() Map.centerObject(aoi, 12) Map.addLayer(soil_moisture.mean(), vis_params, 'Soil Moisture') Map.addLayerControl() Map ``` 需要注意的是,该代码需要在Google Earth Engine平台上运行,需要先安装ee模块并进行用户认证。同时,该代码中的aoi、日期范围、图像集等参数需要根据实际情况进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gis收藏家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值