🎧 Listen to this article: हिंदी · English · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · ଓଡ଼ିଆ · 日本語 · 中文
🌍 Read this in your language: हिंदी · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · ଓଡ଼ିଆ · 日本語 · 中文
洪水可能是毁灭性的。它们可能迅速发生,让社区难以恢复。随着气候变化增加极端天气事件的频率,有效进行洪水检测变得至关重要,因此这一主题在当下显得尤为重要。
什么是 SAR 数据?
合成孔径雷达 (SAR) 是一种用于创建地表图像的雷达。与依赖晴朗天空的光学卫星不同,SAR 可以穿透云层和降雨。这使得它在洪水检测中特别有用。然而,SAR 数据可能存在噪声且较为复杂,这可能会使分析变得复杂。
构建洪水检测流水线
在本文中,我们将逐步介绍创建一个将原始 SAR 数据转换为可操作洪水地图的流水线的步骤。以下是我们要解决的三个主要挑战:
挑战 1:处理零值边界
在使用 Sentinel Application Platform (SNAP) 导出 SAR 数据时,您可能会在图像中发现零值边界。这些边界可能会歪曲您的数据分析。
解决方案:
- 将零值视为 NaN (Not a Number)。
- 将数据转换为分贝 (dB)。
- 裁剪数据以仅包含有效信息。
以下是裁剪数据的示例代码片段:
rows = np.where(~np.all(np.isnan(dB_full), axis=1))[0]
cols = np.where(~np.all(np.isnan(dB_full), axis=0))[0]
dB = dB_full[rows.min():rows.max() + 1, cols.min():cols.max() + 1]
挑战 2:隔离实际洪水
-17 dB 的简单阈值可以检测到所有水体,但它也会提取出河流和湖泊等永久性水体。这可能导致洪水检测中的误报。
解决方案:
- 使用 OpenStreetMap (OSM) 获取永久性水体。
- 将此数据栅格化以匹配 SAR 网格。
- 从检测到的掩码中减去永久性水体,以分离出洪水。
以下是获取永久性水体数据的方法:
osm_water = ox.features_from_bbox(bbox=bbox, tags={"natural": "water"})
flood_only = mask_clean(~binary_dilation(permanent_water, iterations=2))
挑战 3:解决 QGIS 渲染问题
在导出透明 GeoTIFF 时,QGIS 可能会将透明像素渲染为纯黑色。这会使正确可视化数据变得困难。
解决方案:
- 与其使用 RGBA(包含用于透明度的红、绿、蓝和 Alpha 通道),不如创建一个单波段栅格。
- 使用专用的 NoData 值 (255),QGIS 会将其视为透明。
以下是如何设置的示例:
overlay = np.where(final_flood_raster == 1, 1, 255).astype(np.uint8)
结果
通过遵循这些步骤,流水线输出:
- 矢量数据: 具有准确面积计算的 GeoJSON 或 Shapefile。
- 交互式地图: 允许在卫星视图和街景视图之间切换的 Folium HTML 地图。
- 适用于 QGIS 的栅格: 导入后即可立即使用的干净叠加层。
结论
使用 SAR 数据构建洪水检测流水线是一项有价值的技能。它有助于将复杂的数据转化为有用的信息,从而为灾害响应和规划提供帮助。
优点
- 提供准确的洪水检测。
- 利用开源工具,使其易于获取和使用。
- 增强灾害管理工作。
缺点
- 需要熟悉 Python 和 GIS 工具。
- 处理过程可能消耗大量资源。
- 对于初学者来说,初始设置可能较为复杂。
注意事项
本文仅供教育目的。请务必将代码中的任何占位符值替换为您的实际数据。在依赖这些论述之前,请始终对照原始来源核实其内容。
常见问题解答
- 什么是 SAR 数据? — SAR 数据是用于创建地表图像的雷达数据,在多云条件下依然有效。
- 为什么光学卫星数据在洪水期间用处不大? — 光学卫星依赖晴朗的天空,而洪水期间通常不具备这种天气条件。
- 洪水检测流水线的目的是什么? — 该流水线将原始 SAR 数据转换为可操作的洪水地图。
- 该流水线使用的是什么编程语言? — Python 被用于构建洪水检测流水线。
- OpenStreetMap 在该流水线中的作用是什么? — OSM 提供永久性水体的数据,以帮助分离洪水。
- 什么是 QGIS? — QGIS 是一个免费且开源的地理信息系统,用于绘制地图和分析空间数据。
标签
#python #opensouce #flooddetection #SAR #GIS #QGIS #OpenStreetMap #climatechange #floodmapping #dataanalysis
Docker Security Checklist
Lock down your containers from build to runtime — 29 practical controls covering images, runtime flags, secrets, and the daemon. Enter your email — you'll get the PDF instantly, plus new posts on Docker, Linux & security.
Free. No spam — unsubscribe in one click.


Responses
Sign in to leave a response.