Google Earth Engine (GEE)——张量流水灾模型数据集(Sentinel-1)

简介: Google Earth Engine (GEE)——张量流水灾模型数据集(Sentinel-1)

Tensor Flow Hydra Flood Models

这个数据集是水文遥感分析洪水(HYDRAFloods)系统的地表水输出图像,利用深度学习TensorFlow方法。具体来说,这个联合研究中心(JRC)调整后的学习率二元交叉熵(BCE)Dice模型和方法在最近的利用谷歌地球引擎的Sentinel-1地表水制图的深度学习方法中得到了详细讨论。

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

HYDRAFloods应用程序是使用谷歌地球引擎和谷歌云平台(GCP)建立的,以利用云计算进行大规模计算和处理高数据量输出。该软件包的目标是让用户以最小的努力获得高质量、基于云的地表水绘图算法。为了实现这一目标,hydrafloods在地球引擎Python API的基础上提供了一个高级API,以减少代码的重复,如过滤或携带元数据进行图像处理,并提供复杂的地表水算法。此外,该软件包还提供了一些GCP功能,以读取和传输数据,在地球引擎内使用。

快速启动

为了突出 hydrafloods API 的一个快速例子和制作高质量地表水地图的简单性,我们提供了一个快速的例子,在柬埔寨的湄公河和洞里萨河的汇合处使用哨兵-1绘制地表水,那里经常发生洪水。

文献:

Mayer, T., Poortinga, A., Bhandari, B., Nicolau, A.P., Markert, K., Thwal, N.S., Markert, A., Haag, A., Kilbride, J., Chishtie, F. and Wadhwa, A.,
2021. Deep Learning approach for Sentinel-1 Surface Water Mapping leveraging Google Earth Engine. ISPRS Open Journal of Photogrammetry and Remote
Sensing, p.100005.

关于HYDRAFloods开源Python应用程序的更多细节,用于下载、处理和提供从遥感数据得到的地表水地图。请参见HYDRAFloods文档。 HYDRAFloods Documentation.

 代码:

var HydraFloods_Deep_Learning_Output = ee.Image("users/tjm0042/Hydrafloods_Outputs/TensorFlow_Surface_Water_Model_Mosaic")
Map.setCenter(104.9614, 12.2642,9);
var palettes = require('users/gena/packages:palettes');
Map.addLayer(HydraFloods_Deep_Learning_Output,{min: 0,max: 1, palette: palettes.cmocean.Tempo[7]},
"HYDRAFloods TensorFlow Model Approach: Joint Research Centre Adjusted Learning Rate Binary Cross Entropy Dice")
//Add a grayscale map to help higlight the feature
var SubtleGrayscale
 = 
[
  {
    "featureType": "administrative",
    "elementType": "all",
    "stylers": [
      {
        "saturation": "-100"
      }
    ]
  },
  {
    "featureType": "administrative.province",
    "elementType": "all",
    "stylers": [
      {
        "visibility": "off"
      }
    ]
  },
  {
    "featureType": "landscape",
    "elementType": "all",
    "stylers": [
      {
        "saturation": -100
      },
      {
        "lightness": 65
      },
      {
        "visibility": "on"
      }
    ]
  },
  {
    "featureType": "poi",
    "elementType": "all",
    "stylers": [
      {
        "saturation": -100
      },
      {
        "lightness": "50"
      },
      {
        "visibility": "simplified"
      }
    ]
  },
  {
    "featureType": "road",
    "elementType": "all",
    "stylers": [
      {
        "saturation": "-100"
      }
    ]
  },
  {
    "featureType": "road.highway",
    "elementType": "all",
    "stylers": [
      {
        "visibility": "simplified"
      }
    ]
  },
  {
    "featureType": "road.arterial",
    "elementType": "all",
    "stylers": [
      {
        "lightness": "30"
      }
    ]
  },
  {
    "featureType": "road.local",
    "elementType": "all",
    "stylers": [
      {
        "lightness": "40"
      }
    ]
  },
  {
    "featureType": "transit",
    "elementType": "all",
    "stylers": [
      {
        "saturation": -100
      },
      {
        "visibility": "simplified"
      }
    ]
  },
  {
    "featureType": "water",
    "elementType": "geometry",
    "stylers": [
      {
        "hue": "#ffff00"
      },
      {
        "lightness": -25
      },
      {
        "saturation": -97
      }
    ]
  },
  {
    "featureType": "water",
    "elementType": "labels",
    "stylers": [
      {
        "lightness": -25
      },
      {
        "saturation": -100
      }
    ]
  }
]
Map.setOptions('SubtleGrayscale', {SubtleGrayscale: SubtleGrayscale})

代码链接:

https://code.earthengine.google.com/?scriptPath=users/sat-io/awesome-gee-catalog-examples:hydrology/TENSORFLOW-HYDRA-FLOOD-MODELS

代码:

# content of example.py Python file
# 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,
    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,
)

 

License

This work is licensed under a Creative Commons Attribution 4.0 International License. You are free to copy and redistribute the material in any medium or format, and to transform and build upon the material for any purpose, even commercially. You must give appropriate credit, provide a link to the license, and indicate if changes were made.

Curated by: Tim Mayer, Kel Markert, Biplov Bhandari, Ate Poortinga

Keywords: Surface Water Mapping, Floods, Deep Learning TensorFlow, SERVIR

Last updated: 2021-10-20

 

相关文章
|
6月前
|
数据可视化 定位技术 Sentinel
如何用Google Earth Engine快速、大量下载遥感影像数据?
【2月更文挑战第9天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,批量下载指定时间范围、空间范围的遥感影像数据(包括Landsat、Sentinel等)的方法~
2486 1
如何用Google Earth Engine快速、大量下载遥感影像数据?
|
6月前
|
机器学习/深度学习 算法 数据可视化
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
224 0
|
6月前
GEE——Google dynamic world中在影像导出过程中无法完全导出较大面积影像的解决方案(投影的转换)EPSG:32630和EPSG:4326的区别
GEE——Google dynamic world中在影像导出过程中无法完全导出较大面积影像的解决方案(投影的转换)EPSG:32630和EPSG:4326的区别
126 0
|
6月前
|
API Go 网络架构
GEE Colab——如何从本地/Google云盘/Google Cloud Storage (GCS)上传和下载
GEE Colab——如何从本地/Google云盘/Google Cloud Storage (GCS)上传和下载
333 4
|
6月前
|
数据采集 编解码 人工智能
中科星图——Sentinel-1_SAR_GRD数据集
中科星图——Sentinel-1_SAR_GRD数据集
212 3
|
6月前
|
机器学习/深度学习 存储 人工智能
GEE Colab——初学者福音快速入门 Google Colab(Colaboratory)
GEE Colab——初学者福音快速入门 Google Colab(Colaboratory)
240 3
|
6月前
|
存储 编解码 人工智能
GEE数据集——哨兵2号Sentinel-2 云概率数据集
GEE数据集——哨兵2号Sentinel-2 云概率数据集
361 2
|
6月前
|
存储 编解码 人工智能
中科星图——Sentinel-2_MSI_L2A数据集
中科星图——Sentinel-2_MSI_L2A数据集
126 1
|
6月前
|
数据处理
Google Earth Engine(GEE)——sentinel-1数据处理过程中出现错误Dictionary does not contain key: bucketMeans
Google Earth Engine(GEE)——sentinel-1数据处理过程中出现错误Dictionary does not contain key: bucketMeans
111 0
|
3月前
|
Java UED Sentinel
微服务守护神:Spring Cloud Sentinel,让你的系统在流量洪峰中稳如磐石!
【8月更文挑战第29天】Spring Cloud Sentinel结合了阿里巴巴Sentinel的流控、降级、熔断和热点规则等特性,为微服务架构下的应用提供了一套完整的流量控制解决方案。它能够有效应对突发流量,保护服务稳定性,避免雪崩效应,确保系统在高并发下健康运行。通过简单的配置和注解即可实现高效流量控制,适用于高并发场景、依赖服务不稳定及资源保护等多种情况,显著提升系统健壮性和用户体验。
85 1

热门文章

最新文章