Gee提取塔里木河流域水体代码
时间: 2023-12-26 13:20:34 浏览: 199
以下是使用Google Earth Engine提取塔里木河流域水体的代码:
```javascript
// 根据坐标获取区域
var geometry = /* color: #d63000 */ee.Geometry.Polygon(
[[[80.12402284698641, 42.36257386805747],
[80.12402284698641, 35.732524509166006],
[94.83720934698641, 35.732524509166006],
[94.83720934698641, 42.36257386805747]]], null, false);
// 加载Landsat 8卫星数据
var l8 = ee.ImageCollection("LANDSAT/LC08/C01/T1_TOA")
.filterBounds(geometry)
.filterDate('2019-01-01', '2019-12-31')
.filter(ee.Filter.lt('CLOUD_COVER', 30))
.sort('CLOUD_COVER')
.select(['B2', 'B3', 'B4', 'B5', 'B6', 'B7']);
// 计算NDWI指数
var ndwi = l8.map(function(img) {
var ndwi = img.normalizedDifference(['B3', 'B5']).rename('NDWI');
return img.addBands(ndwi);
});
// 根据NDWI指数阈值获取水体
var water = ndwi.map(function(img) {
var water = img.select('NDWI').gt(0.2);
return img.addBands(water.rename('water'));
}).select('water');
// 将水体图层合并
var waterMask = water.sum().gt(0);
// 可视化结果
Map.centerObject(geometry, 8);
Map.addLayer(waterMask.updateMask(waterMask), {palette: 'blue'}, 'Water');
```
在上面的代码中,我们首先通过`ee.Geometry.Polygon`函数定义了塔里木河流域的边界。然后使用`ee.ImageCollection`加载Landsat 8卫星数据,并通过筛选条件过滤出了2019年的数据,同时只保留云覆盖率小于30%的影像。接下来,我们计算了NDWI指数,并将其用于提取水体。最后,我们将水体图层合并,并对结果进行可视化。
阅读全文