Google Earth Engine(GEE)——如何进行NDVI和EVI指数的图表展示?

我们如何进行NDVI和EVI指数的图表展示,我们可以通过建立一个函数NDVI和EVI,然后用map遍历每一期影像,从而实现图表的展示,这我们使用sentinel2影像进行分析。

Sentinel-2卫星是由欧洲空间局(ESA)和欧洲联盟开发的一个卫星系统,它可以提供高分辨率和高质量的地球观测数据,特别是在多光谱图像方面。

以下是Sentinel-2卫星影像的相关信息:

  1. 分辨率:Sentinel-2卫星有两个多光谱传感器(MSI),分别具有10米、20米和60米的分辨率。其中,10米分辨率的传感器可以提供高精度的地表信息。

  2. 波段:Sentinel-2卫星的多光谱传感器可以捕捉13个波段的数据,包括红外和紫外波段。

  3. 数据提供方式:Sentinel-2卫星的数据由ESA提供,并且可以通过ESA的Sentinel数据门户进行访问和下载。此外,一些商业公司也提供了Sentinel-2卫星数据的订阅和使用服务。

  4. 应用领域:Sentinel-2卫星影像在许多领域都有广泛的应用,包括农业、林业、城市规划、自然资源管理和环境监测等。

 

函数:

setOptions(options)

Sets options used to style this chart.

Returns this chart.

Arguments:

this:ui.chart (ui.Chart):

The ui.Chart instance.

options (Object):

An object defining chart style options such as:

Returns: ui.Chart

ui.Chart.image.series(imageCollection, region, reducerscalexProperty)

Generates a Chart from an ImageCollection. Plots derived values of each band in a region across images. Usually a time series.

  • X-axis: Image, labeled by xProperty value.

  • Y-axis: Band value.

  • Series: Band names.

Returns a chart.

Arguments:

imageCollection (ImageCollection):

An ImageCollection with data to be included in the chart.

region (Feature|FeatureCollection|Geometry):

The region to reduce.

reducer (Reducer, optional):

Reducer that generates the values for the y-axis. Must return a single value. Defaults to ee.Reducer.mean().

scale (Number, optional):

Scale to use with the reducer in meters.

xProperty (String, optional):

Property to be used as the label for each image on the x-axis. Defaults to 'system:time_start'.

Returns: ui.Chart

代码:

var geometry = 
    /* color: #d63000 */
    /* displayProperties: [
      {
        "type": "rectangle"
      }
    ] */
    ee.Geometry.Polygon(
        [[[113.12962886187917, -8.101032847560129],
          [113.12962886187917, -8.12754392211754],
          [113.16533442828542, -8.12754392211754],
          [113.16533442828542, -8.101032847560129]]], null, false);
var S2A = ee.ImageCollection('COPERNICUS/S2_SR').filterDate('2021-01-01','2022-01-01').filterBounds(geometry);
// print(S2A);
var getIndices=function(image){
  var NDVI = image.normalizedDifference(['B8', 'B4']).rename('NDVI');
  var EVI = image.expression('2.5 * ((NIR - RED) / (NIR + 2.4 * RED + 1))', 
  {
    'NIR': image.select('B8'),
    'RED': image.select('B4')
  }).rename('EVI');
  return image.addBands([NDVI,EVI]);
};

var collection=S2A.map(getIndices);
// print(collection);

var chartEVI = ui.Chart.image.series({
  imageCollection: collection.select('EVI'),
  region: geometry,
  reducer: ee.Reducer.mean(),
  scale: 20
}).setOptions({
      title: 'Original EVI Time Series',
      interpolateNulls: false,
      vAxis: {title: 'EVI', viewWindow: {min: 0, max: 1}},
      hAxis: {title: '', format: 'YYYY-MM'},
      lineWidth: 1,
      pointSize: 4,
      series: {
        0: {color: '#238b45'},
      },

    })
print(chartEVI);

var chartNDVI = ui.Chart.image.series({
  imageCollection: collection.select('NDVI'),
  region: geometry,
  reducer: ee.Reducer.mean(),
  scale: 20
}).setOptions({
      title: 'Original EVI Time Series',
      interpolateNulls: false,
      vAxis: {title: 'EVI', viewWindow: {min: 0, max: 1}},
      hAxis: {title: '', format: 'YYYY-MM'},
      lineWidth: 1,
      pointSize: 4,
      series: {
        0: {color: '#238b45'},
      },

    })
print(chartNDVI);

### 如何使用 Google Earth Engine (GEE) 计算样点的植被指数 NDVIEVIGEE 平台上,可以通过指定地理坐标来提取特定样点位置上的 NDVIEVI 值。以下是详细的实现方法: #### 1. 导入所需的数据集 为了计算 NDVI EVI,可以使用 MODIS Terra 植被指数图像集合 (`MODIS/006/MOD13Q1`),该数据集中包含了红波段(Red)、近红外波段(NIR)以及蓝波段(Blue),这些波段是计算 NDVI EVI 所必需的。 ```javascript // 加载 MODIS Terra 植被指数数据集 var modis = ee.ImageCollection('MODIS/006/MOD13Q1'); ``` #### 2. 定义样点的位置 通过 `ee.Geometry.Point` 创建一个表示样点地理位置的对象。假设样点位于纬度 35.8974° N 经度 14.5127° E,则代码如下所示: ```javascript // 定义样点位置 var samplePoint = ee.Geometry.Point([14.5127, 35.8974]); ``` #### 3. 过滤时间范围内的影像 筛选出感兴趣的时间范围内可用的影像数据。例如,如果希望获取 2022 年全年数据,则可按以下方式过滤: ```javascript // 设置日期范围 var startDate = '2022-01-01'; var endDate = '2022-12-31'; // 筛选时间范围内的影像 var filteredModis = modis.filterDate(startDate, endDate); ``` #### 4. 提取 NDVI/EVI 波段并计算平均值 对于每张影像中的 NDVI EVI 波段,可以直接访问它们或者重新计算这两个指标。这里以 NDVI 为例展示其计算过程,并进一步求得年度均值作为最终结果。 ```javascript // 获取 NDVI 波段并计算年平均值 var ndviMean = filteredModis.select('NDVI').mean(); // 可视化参数设置 var visParams = {min: -1, max: 1, palette: ['blue', 'white', 'green']}; // 将 NDVI 显示到地图上 Map.addLayer(ndviMean.clip(samplePoint.buffer(100)), visParams, 'Average NDVI'); // 输出至控制台查看具体数值 print(ui.Chart.image.series(ndviMean, samplePoint, ee.Reducer.mean(), 30).setOptions({ title: 'Sample Point Average NDVI', vAxis: {title: 'NDVI Value'}, })); ``` 上述代码片段中还加入了简单的图表绘制功能以便直观了解变化趋势[^2]。 #### 5. 下载或导出结果 最后一步可以选择将处理后的数据保存下来供后续研究之用。利用 Export.table.toDrive 方法能够轻松完成这一操作。 ```javascript Export.table.toDrive({ collection: ee.FeatureCollection(ee.List([])).map(function(feature){ return feature.set({'ndvi': ndviMean.sampleRegions({collection:samplePoint.scale(30), scale:30}).first().get('NDVI')}); }), description:'export_ndvi_sample_point', folder:'gee_exports' }); ``` 以上即为基于 GEE 实现样点处植被指数计算的整体流程概述[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

此星光明

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

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

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

打赏作者

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

抵扣说明:

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

余额充值