跳转到主要内容

洪水水文遥感分析

项目描述

hydra-floods

docs unittests License: GPL v3 PyPI version

简介

洪水水文遥感分析(或HYDRAFloods)是一个开源的Python应用程序,用于下载、处理和分发从遥感数据生成的地表水地图。该工具背后的理念是提供无传感器的地表水地图生成方法。此外,还有一些工作流程,利用多个遥感数据集相结合,为洪水应用提供每日地表水地图。

安装

获取并开始使用hydrafloods包的推荐方法是使用pip安装。

pip install hydrafloods

pip应处理一些基本依赖,例如我们需要的Earth Engine Python API,以实现大多数功能。计划将hydrafloods添加到conda-forge通道,但目前尚未完成。

要成功使用hydrafloods包,需要Google Cloud和Earth Engine身份验证。要初始化Google Cloud环境并使用您的凭据进行身份验证,请运行以下命令:

gcloud init

要使用您的凭据对Earth Engine Python API进行身份验证,请运行以下命令:

earthengine authenticate

有关hydrafloods包的设置和安装的更多信息,请参阅安装文档

示例

为了突出hydrafloods API的快速示例以及生成高质量地表水地图的简便性,我们提供了一个快速示例,使用Sentinel-1在湄公河和洞里萨河交汇处绘制地表水地图,该地区经常发生洪水。

# import the hydrafloods and ee package
import hydrafloods as hf
import ee
ee.Initialize()

# specify start and end time as well as geographic region to process
start_time = "2019-10-05"
end_time =  "2019-10-06"
region = ee.Geometry.Rectangle([104, 11.5, 106, 12.5 ])

# get the Sentinel-1 collection
# the hf.dataset classes performs the spatial-temporal filtering for you
s1 = hf.datasets.Sentinel1(region, start_time, end_time)

# apply a water mapping function to the S1 dataset
# this applies the "Edge Otsu" algorithm from https://doi.org/10.3390/rs12152469
water_imgs = s1.apply_func(
    hf.thresholding.edge_otsu,
    initial_threshold=-14,
    thresh_no_data=-20,
    edge_buffer=300
)

# take the mode from multiple images
# since this is just imagery from one day, it will simply mosaic the images
water_map = ee.Image(water_imgs.collection.mode())

# export the water map
hf.geeutils.export_image(
    water_map,
    region,
    "users/<YOUR_USERNAME>/water_map_example",
    scale=30,
)

(此脚本完整,应“按原样”运行)

脚本执行结束时,将有一个地球引擎导出任务在EE服务器上运行,以便以后在EE平台中使用。生成的地表水图像应类似于以下图示。需要注意的是,通过简单地更改开始或结束时间以及处理区域,hydrafloods可以快速轻松地进行缩放,允许以最少的编码努力处理地表水地图。

Quick Start Results

图1. 2019-10-05柬埔寨一个区域Sentinel-1后向散射图像(左)和生成的地表水地图(右)

在整个文档中了解有关包的更多信息,例如安装、可用的算法或使用CLI设置包以运行操作。

联系方式

  • GitHub上报告错误、建议功能或查看源代码。
  • 通过技术援助请求联系我们,并提及"hydrafloods"。

贡献

欢迎贡献,并非常感谢!每一点帮助都很有用,并且将始终给予认可。请参阅贡献指南以了解如何贡献和开始。

许可证

hydrafloods在开源GNU通用公共许可证v3.0下提供。

项目详情


发布历史 发布通知 | RSS源

下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装软件包的信息。

源分布

hydrafloods-2023.10.14.tar.gz (79.2 kB 查看哈希值)

上传时间

构建分布

hydrafloods-2023.10.14-py3-none-any.whl (86.6 kB 查看哈希值)

上传时间 Python 3

由以下支持