前言

博主不主修遥感方向,不是专业人士,由于毕设需要使用GEE,故临时学习并做了记录,由于是博主自己钻研的,不知道有无其他更便捷的方式。若文中有错误欢迎指正。

在做毕设的时候是对武汉市所有湖泊进行分别的某项数据分析,初期的目标是对东湖进行这项分析,所以第一步就是需要把东湖提取出来。
在这里需要注意的是,由于温度等各种因素的变化,湖泊范围并不是固定的,因此我在提取东湖时是根据影像提取的实时湖泊范围。

数据

卫星影像:Landsat 8 OLI、Sentinel 2 MSI的SR(地表反射率)影像

Landsat 8

其中Landsat 8的Level-1的数据是经过几何校正和辐射定标处理过的,Level-2的数据是在Level-1级别数据的基础上经过大气校正处理得到的;Collection 1包含了自 1972 年至今从 Landsat 1-8 获取的所有 Level-1 数据。Collection 2中同时包含了Landsat 1-8 的Level-1 数据(1972年至今)和Landsat 4-8 的Level-2数据(1982年至今);T1存放的是L1TP(Level-1 Precision and Terrain)处理等级的数据,T2存放的是不满足T1标准(主要指几何校正精度)的数据,RT是实时数据,目前在役的 Landsat 7 ETM+ 和 Landsat 8 OLI/TIRS 数据,获取但尚未处理的临时数据存放在RT中。数据处理之后就会放到T1或T2中,并从RT中删除。(来源:https://zhuanlan.zhihu.com/p/400543396)

在此我采用的是Landsat 8 Level 2, Collection 2, Tier 1影像

在GEE官网中给出的引用案例如下:
https://developers.google.com/earth-engine/datasets/catalog/COPERNICUS_S2_SR_HARMONIZED

// 引用并筛选2021-05-01至2021-06-01之间的影像
var dataset = ee.ImageCollection('LANDSAT/LC08/C02/T1_L2').filterDate('2021-05-01', '2021-06-01');// 为了减少存储设置了比例因子,在正常使用时,需要进行还原
// Applies scaling factors.
function applyScaleFactors(image) {var opticalBands = image.select('SR_B.').multiply(0.0000275).add(-0.2);var thermalBands = image.select('ST_B.*').multiply(0.00341802).add(149.0);return image.addBands(opticalBands, null, true).addBands(thermalBands, null, true);
}dataset = dataset.map(applyScaleFactors);var visualization = {bands: ['SR_B4', 'SR_B3', 'SR_B2'],min: 0.0,max: 0.3,
};Map.setCenter(-114.2579, 38.9275, 8);Map.addLayer(dataset, visualization, 'True Color (432)');

运行结果如下(在此我进行了一定的缩放)

Sentinel 2

与Landsat 8相同理由,我选用的是Harmonized Sentinel-2 MSI: MultiSpectral Instrument, Level-2A影像
(由于哨兵2号对数据进行了调整,会影响2022.1.24之后的数据协调时间序列,所以将COPERNICUS/S2or COPERNICUS/S2_SR切换成了COPERNICUS/S2_HARMONIZEDand COPERNICUS/S2_SR_HARMONIZED)

官网给出的引用案例如下:
https://developers.google.com/earth-engine/datasets/catalog/COPERNICUS_S2_SR_HARMONIZED

function maskS2clouds(image) {var qa = image.select('QA60');// Bits 10 and 11 are clouds and cirrus, respectively.var cloudBitMask = 1 << 10;var cirrusBitMask = 1 << 11;// Both flags should be set to zero, indicating clear conditions.var mask = qa.bitwiseAnd(cloudBitMask).eq(0).and(qa.bitwiseAnd(cirrusBitMask).eq(0));return image.updateMask(mask).divide(10000);
}var dataset = ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED').filterDate('2020-01-01', '2020-01-30')// Pre-filter to get less cloudy granules..filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE',20)).map(maskS2clouds);var visualization = {min: 0.0,max: 0.3,bands: ['B4', 'B3', 'B2'],
};Map.setCenter(83.277, 17.7009, 12);Map.addLayer(dataset.mean(), visualization, 'RGB');

时间

2022年1月

范围

武汉东湖

由于我们没有实时的东湖范围的table,所以我们先根据GEE提供的卫星图像绘制东湖的大致范围(一定要是根据卫星图像绘制的,根据地图绘位置偏差比较大),保存为FeatureCollection后,再通过NDWI进行掩膜提取

绘制范围如下:

提取水体

经过影像裁剪后(这里不赘述详细过程),利用NDWI或者MNDWI来增强水体信息,弱化其他地物的信息,便于提取研究区的水体范围

NDWI = (Green - NIR)/(Green + NIR )

MNDWI = (Green - SWIR1) / (Green + SWIR1)

本文使用NDWI来提取

计算NDWI

Landsat 8 SR的Green波段为SR_B3,NIR波段为SR_B5,使用GEE提供的归一化指数的函数(normalizedDifference)来进行计算即可:

var ndwi = Donghu_Jan.normalizedDifference(['SR_B3','SR_B5']).float().rename('NDWI');
var visParams1 = {min: 0, max: 1, palette: ['0000FF', 'FF0000']};
Map.addLayer(ndwi, visParams1, "Donghu_Jan_NDWI");

效果如图:

Sentinel 2 SR的Green波段为B3,NIR波段为B8

var ndwi = Donghu_Jan.normalizedDifference(['B3','B8']).float().rename('NDWI');
var visParams1 = {min: 0, max: 1, palette: ['0000FF', 'FF0000']};
Map.addLayer(ndwi, visParams1, "Donghu_Jan_NDWI");

效果如图:

获取掩膜

将算出的ndwi添加到影响波段,经过updateMask,选取 ndwi>0 的即可

var Donghu_Jan = Donghu_Jan.addBands(ndwi);
var Donghu_Mask = Donghu_Jan.updateMask(ndwi.gt(0));
Map.addLayer(Donghu_Mask,vis_L8SR,'Water');

源代码:
Landsat 8
https://code.earthengine.google.com/9256bc33273fd6af23abd0d2235471eb

Sentinel 2
https://code.earthengine.google.com/f40367fa90e69af23264a73ff3b1ef23

P.S.
1.实际实现两种卫星大同小异
2.源代码网址可能会在之后删掉

GEE:基于GEE的单个湖泊的实时水体提取(以武汉东湖为例)相关推荐

  1. 基于GEE与哨兵1号影像数据提取水体

    在进行光学数据提取水体时,常会发现部分时间.部分区域内由于云的存在而出现大面积的空白区域,从而使得我们提取水体面积过程中存在不精确的问题.因此,基于微波数据进行云的提取就成为我们较好的一个选择,通过阅 ...

  2. 【基于GEE计算年度植被覆盖度】

    基于GEE计算年度植被覆盖度 1.植被覆盖度计算公式参考地理学报的<2001-2013年华北地区植被覆盖度与干旱条件的相关分析> 2.代码 var roi=ee.FeatureCollec ...

  3. 基于netty+websocket实现门户游客实时统计功能

    基于netty+websocket实现门户游客实时统计功能 基本需求 商城门户页面需要实时展示游客访问的数量,商城后台页面需要实时游客访问量.登录用户数量,以及下订单用户数量. 技术选型 1.首先实时 ...

  4. GEE水体提取之NDWI(矢量裁剪、统计面积、数据导出)

    GEE专栏:GEE水体提取之MNDWI(矢量裁剪.数据导出) 计算区域2018年6-10月武汉市所有Landsat 8数据. 效果图 1.基于otsu计算结果,基于otsu提取结果,之前一直处于途中计 ...

  5. DL之LSTM:基于《wonderland爱丽丝梦游仙境记》小说数据集利用LSTM算法(层加深,基于keras)对单个character字符预测

    DL之LSTM:基于<wonderland爱丽丝梦游仙境记>小说数据集利用LSTM算法(层加深,基于keras)对单个character字符预测 目录 基于<wonderland爱丽 ...

  6. 你今天怎么这么好看——基于深度学习的大型现场实时美颜

    Photo from BoredPanda 美颜是当下直播甚至是所有形式对外展示的一个必备条件.手机端的美颜就像私人化妆师,能够帮助我们实现各种心仪的效果. 而大型娱乐节目一般都是提前进行录制,然后进 ...

  7. flink实时同步mysql_基于Canal与Flink实现数据实时增量同步(一)

    点击上方蓝色字体,关注我 canal是阿里巴巴旗下的一款开源项目,纯Java开发.基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了MySQL(也支持mariaDB). 准备 配置 ...

  8. echarts折线图怎么从y轴开始_基于echarts的双y轴实时更新折线图

    一款基于echarts的双y轴实时更新折线图效果,页面加载后开始自动更新数据并绘制对应的折线图,可以点击右上角的按钮:显示数据视图.刷新数据和将数据存储为png的图片. 查看演示 下载资源: 46 次 ...

  9. 基于WinSvr2012共享文件夹的Hyper-V实时迁移之二文件服务器及迁移用虚拟机的创建...

    本章节接续基于WinSvr2012共享文件夹的Hyper-V实时迁移之一实时迁移简介及拓扑说明. 在本章节中,将图文方式讲述文件服务器的创建,以及迁移用虚拟机的创建,值得注意的是,无论是文件服务器还是 ...

最新文章

  1. 一次 HashSet 所引起的并发问题
  2. 那些没出现在近几年顶会上重要论文
  3. 10.30 linux和windows互传文件,用户配置文件和密码配置文件,用户组管理,用户管理...
  4. 在Flash中调用xml文档
  5. Android之打开手机系统相册
  6. 线程池最佳线程数量到底要如何配置?
  7. 容器编排技术 -- Windows Server 容器
  8. 路直路弯,面对挫折脚步不放慢
  9. 【跃迁之路】【456天】程序员高效学习方法论探索系列(实验阶段213-2018.05.07)...
  10. 【TWVRP】基于matalb蚁群算法求解带时间窗的车辆路径规划问题【含Matlab源码 775期】
  11. ARM Cortex-A53 Cache与内存的映射关系以及Cache的一致性分析
  12. 非极大值抑制(PyTorch-YOLOv3代码解析一)
  13. 拓扑排序 java_[Java]聊聊拓扑排序算法
  14. python opc
  15. BT5的U盘完整安装
  16. 大学生需要云服务器吗?
  17. 与技术无关,但却值得码农们好好读一读的怪书:禅与摩托车维修艺术
  18. 向家坝水电站蓄水第五天老屏山县城没入金沙江-老屏山-水电站
  19. c语言的输出格式之正负号
  20. 2018有赞校招笔试题

热门文章

  1. rust腐蚀帧数_腐蚀游戏怎么提高帧数 Rust设置隐藏画质提高FPS教程
  2. 关于微信小程序中时间预约的简单实现
  3. 本计算机家庭组的用户名,家庭组
  4. 面向对象:不要热情,不要高冷,只要37度的温暖
  5. Android:打开和关闭输入法
  6. AI大事件 | 谷歌的计算引擎鸟枪换炮用上了更快的GPU,基于Python的亚马逊AWS深度学习AMI
  7. react组件书写规范
  8. 工作感受月记 201901月
  9. 如何安装配置JDK(保姆级完美解决教程+附百度网盘链接)
  10. 计算机硬件故障照片,计算机硬件故障的识别与处理