GEE图像可视化常用函数

本文详细介绍了GoogleEarthEngine中图层操作(如添加和定位)、直方图的创建以及时间序列统计功能,包括ui.Chart.image.histogram和系列相关方法,帮助用户理解和使用这些工具进行地理数据分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

图层操作

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() 方法来设置图表的选项和类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海绵波波107

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值