Google地球引擎API高级GIS与遥感应用

需积分: 15 6 下载量 169 浏览量 更新于2024-07-09 收藏 15.67MB PDF 举报
"GEE_API2.pdf 是一份关于Google Earth Engine (GEE) API的学习资料,主要用于高级GIS和遥感(IRGN490)课程。这份PPT由Ran Goldblatt教授在2017年冬季学期讲解,涵盖了GEE API的基础知识以及一些进阶操作,包括图像集合的处理、图像选择、地图叠加、日期过滤、统计计算、简单复合、指数计算、数学运算、阈值设定、图像导出以及图表和空间分析等。" 在Google Earth Engine (GEE)中,用户可以访问大量的遥感数据,例如LANDSAT系列卫星数据。L8TOA是一个示例,代表了LANDSAT 8的Top-of-Atmosphere (TOA)反射率图像集合。`ee.ImageCollection('LANDSAT/LC8_L1T_8DAY_TOA')`语句用于获取这个图像集合,并通过`print()`函数打印出来以查看其详细信息。同时,`ee.Image('LANDSAT/LE7_TOA_1YEAR/2014')`则用于获取特定年份(如2014年)的单一图像。 在GEE API中,`ee.ImageCollection.filterDate('start_date', 'end_date')`允许用户根据指定的日期范围过滤图像集合。例如,`ee.ImageCollection.filterDate('2014-06-01','2014-12-31')`将筛选出2014年6月1日至12月31日之间的所有图像。接着,`ee.ImageCollection.median()`用于计算该时间段内的中值图像,这在进行影像复合时非常有用。`ee.Algorithms.Landsat.simpleComposite()`是GEE提供的一种快速创建复合图像的方法,它对过滤后的图像集合进行简单的质心复合。 此外,PPT还提到了如何使用`ee.Image.select('band_name')`选择图像中的特定波段,例如'B3',并使用`Map.addLayer()`将图像或其组合添加到地图上,同时可以设置颜色方案(如'palette')和显示范围(如'min'和'max')。在本例中,展示了一个名为'nameofimage'的图像层。 讲义进一步介绍了指数计算,如NDVI(归一化植被指数)。NDVI是一种常用的遥感指标,用于评估植被状况。`ee.ImageCollection('LANDSAT/LE7_L1T_32DAY_NDVI')`获取了32天周期的NDVI图像集合,可以进一步进行过滤和分析,如选取特定年份的数据(如2014年)。 阈值设定是遥感分析中常用的技术,通过设置阈值可以区分不同的地物类别。GEE提供了多种数学运算和函数来实现这一目标,如`ee.Image.gt()`(大于)、`ee.Image.lt()`(小于)等,这些函数可以用于定义和提取满足特定条件的像素区域。 最后,GEE支持图像的导出,以便于本地分析和存档。`Export.image.toDrive()`函数用于将GEE中的图像导出到Google Drive。同时,GEE还提供了图表和空间分析功能,帮助用户更好地理解数据并进行可视化的解释。 这份资料深入浅出地介绍了GEE API的基本用法和高级特性,对于学习遥感分析和GIS应用的人来说是一份宝贵的资源。通过学习和实践,用户可以利用GEE的强大功能处理大量遥感数据,进行复杂的地球科学分析。

var s2Sr = ee.ImageCollection('COPERNICUS/S2'); var s2Clouds = ee.ImageCollection('COPERNICUS/S2_CLOUD_PROBABILITY'); var START_DATE = ee.Date('2018-01-01'); var END_DATE = ee.Date('2018-12-31'); var MAX_CLOUD_PROBABILITY = 65; function maskClouds(img) { var clouds = ee.Image(img.get('cloud_mask')).select('probability'); var isNotCloud = clouds.lt(MAX_CLOUD_PROBABILITY); return img.updateMask(isNotCloud); } // The masks for the 10m bands sometimes do not exclude bad data at // scene edges, so we apply masks from the 20m and 60m bands as well. // Example asset that needs this operation: // COPERNICUS/S2_CLOUD_PROBABILITY/20190301T000239_20190301T000238_T55GDP function maskEdges(s2_img) { return s2_img.updateMask( s2_img.select('B8A').mask().updateMask(s2_img.select('B9').mask())); } // Filter input collections by desired data range and region. var criteria = ee.Filter.and( ee.Filter.bounds(table), ee.Filter.date(START_DATE, END_DATE)); s2Sr = s2Sr.filter(criteria).map(maskEdges); s2Clouds = s2Clouds.filter(criteria); // Join S2 SR with cloud probability dataset to add cloud mask. var s2SrWithCloudMask = ee.Join.saveFirst('cloud_mask').apply({ primary: s2Sr, secondary: s2Clouds, condition: ee.Filter.equals({leftField: 'system:index', rightField: 'system:index'}) }); var s2CloudMasked = ee.ImageCollection(s2SrWithCloudMask).map(maskClouds).median(); var rgbVis = {min: 0, max: 3000, bands: ['B4', 'B3', 'B2']}; var rgbVis = {min: 0, max: 3000, bands: ['B4', 'B3', 'B2']}; Map.addLayer( s2CloudMasked, rgbVis, 'S2 SR masked at ' + MAX_CLOUD_PROBABILITY + '%', true);将合成图像的全波段下载

2023-05-29 上传