目录
图层操作
Map.addLayer()
Map.addLayer 是 Google Earth Engine 中用于向地图添加图层的方法。它接受一个图像对象或图像集合作为参数,并将其添加到地图上显示。
Map.addLayer(image, visParams, name);
在这里,image 是要添加到地图上的图像对象或图像集合。visParams 是可选参数,用于指定图像的可视化参数,例如颜色、渲染方式等。name 也是可选参数,用于指定图层的名称。
以下是一个示例,演示了如何使用 Map.addLayer 方法向地图添加一幅 Landsat 影像:
// 创建一个 Landsat 影像
var image = ee.Image('LANDSAT/LC08/C01/T1_TOA/LC08_044034_20140318');
// 将图像添加到地图上显示
Map.addLayer(image, {
bands: ['B4', 'B3', 'B2'],
min: 0,
max: 0.3
}, 'Landsat image');
在这个示例中,我们首先创建了一个 Landsat 影像 image。然后,我们使用 Map.addLayer 方法将该影像添加到地图上显示。在可视化参数中,我们指定了影像的红、绿、蓝波段,并设置了最小和最大值来调整影像的显示范围。最后,我们还为图层指定了一个名称,即 ‘Landsat image’。
Map.centerObject()
Map.centerObject 是 Google Earth Engine 中用于将地图视图移动到指定的几何对象中心位置的方法。它接受一个几何对象作为参数,并将地图视图移动到该几何对象的中心位置。
直方图
ui.Chart.image.histogram()
ui.Chart.image.histogram 是 Google Earth Engine JavaScript API 中用于创建图像直方图的方法。它接受一个图像对象作为参数,并为图像的所有波段创建直方图。
以下是 ui.Chart.image.histogram 方法的一般用法:
var chart = ui.Chart.image.histogram(image, region, scale);
在这里,image 是要创建直方图的图像对象,region 是可选参数,用于指定计算直方图的区域范围,可以是点、线、面等几何对象。scale 也是可选参数,用于指定计算直方图时的分辨率。
调用 ui.Chart.image.histogram 方法后,将返回一个图表对象 chart,表示图像的直方图。
以下是一个示例,演示了如何使用 ui.Chart.image.histogram 方法创建图像的直方图:
// 创建一个 Landsat 影像
var image = ee.Image('LANDSAT/LC08/C01/T1_TOA/LC08_044034_20140318');
// 创建一个点几何对象,用于指定计算直方图的区域范围
var point = ee.Geometry.Point([-122.4449, 37.7536]);
// 创建图像的直方图
var chart = ui.Chart.image.histogram(image, point, 30);
// 设置图表的标题
chart.setOptions({
title: 'Histogram of Landsat image'
});
// 在控制台中打印直方图对象
print(chart);
在这个示例中,我们首先创建了一个 Landsat 影像 image。然后,我们创建了一个点几何对象 point,用于指定计算直方图的区域范围。接着,我们使用 ui.Chart.image.histogram 方法创建了图像的直方图,并指定了计算直方图时的分辨率为 30。最后,我们设置了图表的标题,并在控制台中打印了直方图对象。
时间序列统计
ui.Chart.image.series()
在 Google Earth Engine 中,ui.Chart.image.series 是一个用于生成时间序列图的用户界面模块。它用于可视化图像集合(Image Collection)中像素值随时间变化的趋势。以下是一些关键点的解释:
-
ui.Chart.image.series:这是创建时间序列图的用户界面模块的调用。
-
图像集合:通常,这个函数的第一个参数是一个图像集合,它包含了需要进行时间序列分析的多个图像。
-
空间坐标:该函数可以选择一个区域(Region of Interest),以便提取该区域内的像素值进行时间序列分析。这个区域可以是一个点、一个多边形等地理空间对象。
-
波段选择:在函数的参数中,你需要指定要绘制时间序列的波段。这可以是单个波段,也可以是多个波段的组合。
-
可选参数:除了上述的必须参数外,函数还可以接受一些可选参数,如时间范围、时间单位等,以便更精确地控制时间序列图的生成。
总的来说,ui.Chart.image.series 可以用于创建时间序列图,展示图像集合中某个区域内指定波段的像素值随时间的变化趋势,有助于对地表特征进行时间序列分析和监测。
var L8_chart = ui.Chart.image.series({
imageCollection: L8_COL.select('NDVI'),
region: shp,
reducer: ee.Reducer.mean(),
scale: 500
}).setOptions({
interpolateNulls: true,
lineWidth: 2,
title: 'Landsat8 NDVI Time Seires',
vAxis: {title: 'NDVI'},
hAxis: {title: 'Date'},
trendlines: { 0: {title: 'NDVI_trend',type:'linear', showR2: true, color:'red', visibleInLegend: true}}
});
print(L8_chart);
ui.Chart.image.seriesByRegion()
ui.Chart.image.seriesByRegion 是 Google Earth Engine 中用于生成基于图像集合和地区的时间序列图表的方法。它可以帮助用户分析特定地区内图像数据的时间变化趋势。
这个方法的语法如下:
ui.Chart.image.seriesByRegion({
imageCollection: imageCollection,
regions: regions,
reducer: reducer,
band: band,
scale: scale,
xProperty: xProperty,
seriesProperty: seriesProperty
})
- imageCollection:要生成时间序列的图像集合。
- regions:地区(即感兴趣区域)的几何对象或特征集合。
- reducer:用于减少图像集合到单个值的降维方法,例如 ee.Reducer.mean()。
- band:用于生成时间序列的图像集合中的带有时间序列的波段。
- scale:空间尺度,以米为单位。
- xProperty:x轴上的属性,通常是时间属性,例如 ‘system:time_start’。
- seriesProperty:用于区分时间序列的属性,例如地区的名称。
这个方法返回一个时间序列图表对象,可以使用 .setOptions() 和 .setChartType() 方法来设置图表的选项和类型。