Google Earth Engine提取灌区面积代码示例
以下是一份使用Google Earth Engine提取灌区面积的代码示例:
// 加载Landsat 8 表面反射率影像集合 var collection = ee.ImageCollection('LANDSAT/LC08/C01/T1_SR');
// 筛选指定日期范围的影像 var filteredCollection = collection.filterDate('2019-06-01', '2019-08-31');
// 定义感兴趣区域(ROI)为一个多边形 var roi = ee.Geometry.Polygon([ [[ -122.431, 37.7749 ], [ -122.431, 37.7735 ], [ -122.429, 37.7735 ], [ -122.429, 37.7749 ]] ], null, false);
// 将影像集合裁剪到ROI var clippedCollection = filteredCollection.filterBounds(roi);
// 计算每个影像的NDVI(归一化植被指数) var ndviCollection = clippedCollection.map(function(image) { return image.normalizedDifference([ 'B5', 'B4' ]).rename('NDVI'); });
// 计算ROI的平均NDVI var meanNdvi = ndviCollection.mean().clip(roi);
// 定义NDVI值的阈值 var ndviThreshold = 0.5;
// 创建一个二进制影像,显示NDVI值超过阈值的位置 var binaryImage = meanNdvi.gt(ndviThreshold);
// 定义计算面积的比例尺 var scale = 30;
// 计算二进制影像中超过阈值的面积 var area = binaryImage.multiply(ee.Image.pixelArea()).reduceRegion({ reducer: ee.Reducer.sum(), geometry: roi, scale: scale, maxPixels: 1e13 });
// 打印面积(以平方米为单位) print('Area above NDVI threshold:', area.get('NDVI'), 'square meters.');
原文地址: https://www.cveoy.top/t/topic/n6Kx 著作权归作者所有。请勿转载和采集!