【GEE笔记】创建缓冲区,提取缓冲区内统计值

在这篇博客中,将展示使用Google Earth Engine(GEE)提取区域内矢量点缓冲区内任意指标的统计值,并将结果导出为一个CSV文件。作为示例,使用Landsat 8归一化植被指数(NDVI)作为指标,它是一种常用的遥感指标,可以反映植被的生长状况和覆盖度。

创建一个表示区域的几何图形

首先,创建一个代表研究区域的几何图形(包含所有矢量点)。在这里,使用ee.Geometry.Rectangle函数来创建一个矩形,参数是矩形的西南角和东北角的经纬度坐标。你也可以使用其他类型的几何图形,比如多边形或圆形。

// 创建一个表示导出区域的几何图形
var geometry = ee.Geometry.Rectangle([-100.88, 40.58, -100.27, 40.71]);

导入Landsat 8影像集合

接下来,导入Landsat 8影像集合,并对其进行一些筛选。在这里,使用ee.ImageCollection函数来导入LANDSAT/LC08/C01/T1_RT_TOA这个影像集合,它是Landsat 8的表观反射率数据。然后,我使用了filterDate函数来筛选2019年到2020年之间的影像,使用了filterBounds函数来筛选包含我们感兴趣区域的影像。

// 导入Landsat 8影像集合
var landsat = ee.ImageCollection('LANDSAT/LC08/C01/T1_RT_TOA')
  .filterDate('2019-01-01', '2020-12-31')
  .filterBounds(geometry);

计算NDVI

计算NDVI需要定义一个函数,它接受一个影像作为输入,并返回一个包含NDVI值的影像作为输出。在这里,使用normalizedDifference函数来计算Landsat 8影像中第5波段(近红外)和第4波段(红光)之间的归一化差值,并将结果重命名为’NDVI’。然后,我使用了copyProperties函数来复制原始影像的属性到新的影像中。

// 定义一个函数来计算NDVI并进行缩放
var ndvi = function(image) {
  return image
    .normalizedDifference(['B5', 'B4'])
    .rename('NDVI')
    .copyProperties(image, image.propertyNames());
};

将函数映射到集合上

对整个影像集合进行NDVI计算,使用map函数来将定义的函数应用到每个影像,得到了一个包含NDVI值的新的影像集合。

// 将函数映射到集合上
var ndviCollection = landsat.map(ndvi);

定义矢量文件

定义一些矢量点。使用ee.FeatureCollection函数来创建一个包含三个点的矢量文件,每个点都是用ee.Geometry.Point函数创建的,并传入经纬度坐标作为参数。

// 定义一个包含多个点的矢量文件
var points = ee.FeatureCollection([
  ee.Feature(ee.Geometry.Point([-100.55, 40.71])),
  ee.Feature(ee.Geometry.Point([-100.40, 40.65])),
  ee.Feature(ee.Geometry.Point([-100.27, 40.58]))
]);

将每个点缓冲100米

为了考虑到像素的大小和位置误差,我们需要对每个点进行一定的缓冲,这样就可以得到一个包含多个缓冲区的矢量文件。定义一个函数,它接受一个要素作为输入,并返回一个缓冲了100米的要素作为输出。然后,我使用了map函数来将这个函数应用到每个点上。

// 定义一个函数来将每个点缓冲100米
var bufferPoints = function(feature) {
  return feature.buffer(100);
};

// 将函数映射到点上
var bufferedPoints = points.map(bufferPoints);

提取每个缓冲区内的统计值

使用ndviCollection.mean()函数来计算影像集合在每个缓冲区内的平均NDVI值,并使用了reduceRegion函数来进行区域统计。然后,我使用了get函数来获取NDVI值,并使用了set函数来将其添加到要素的属性中。

// 定义一个函数来提取每个缓冲区内的统计值
var zonalStats = function(feature) {
  // 在缓冲区内对NDVI影像集合进行平均值统计
  var meanNDVI = ndviCollection.mean().reduceRegion({
    reducer: ee.Reducer.mean(),
    geometry: feature.geometry(),
    scale: 30 // 使用Landsat 8的原始分辨率
  });
  // 获取NDVI值并将其作为属性添加到要素中
  var ndviValue = meanNDVI.get('NDVI');
  return feature.set('NDVI', ndviValue);
};

// 将函数映射到缓冲区上
var ndviPoints = bufferedPoints.map(zonalStats);

打印和显示结果

为了查看我们的结果,我们可以使用print函数来打印出包含统计值的矢量文件,并使用Map.addLayer函数来将其显示在地图上。我们可以使用color参数来设置显示的颜色,使用name参数来设置图层的名称。我们还可以使用Map.centerObject函数来将地图中心定位到我们的矢量文件上。

// 打印和显示结果
print(ndviPoints);
Map.addLayer(ndviPoints, {color: 'FF0000'}, 'NDVI Points');
Map.centerObject(ndviPoints);

在这里插入图片描述

将包含统计值的矢量文件导出为CSV文件

最后,使用Export.table.toDrive函数来将包含统计值的矢量文件导出为一个CSV文件,并保存到Google Drive上。可以使用以下参数来设置导出选项:

  • collection: 要导出的矢量文件。
  • description: 导出任务的描述。
  • folder: Google Drive上的文件夹名称。
  • fileFormat: 导出文件的格式。
  • selectors: 要导出的属性名称。
// 将包含统计值的矢量文件导出为CSV文件
Export.table.toDrive({
  collection: ndviPoints,
  description: 'NDVI_100m_Landsat',
  folder: 'GEE',
  fileFormat: 'CSV',
  selectors: ['NDVI']
});

在这里插入图片描述

在这里插入图片描述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
GMML统计模型和GEE(Generalized Estimating Equation)是两种常用的统计分析方法。 首先,GMML(Generalized Maximum Likelihood)统计模型是一种针对多变量和多分布数据建立的模型。它是基于广义最大似然估计原理,可以应用于各种类型的数据分析,包括线性回归、逻辑回归、多项式回归等。GMML模型通过最大化似然函数,估计模型的参数,并且可以考虑协变量的影响。GMML模型的优点是可以处理非正态分布的数据,在数据不完全条件下仍然可以提供有效的估计结果。 另一方面,GEE是一种应用于长期观察研究或者重复测量数据的统计方法。GEE方法通过构建广义估计方程来分析数据,而不需要对数据的分布进行假设。GEE模型常用于分析具有时间序列或者集群结构的数据,例如医学研究中的观察性研究、社会科学研究中的群体调查等。GEE方法可以估计特定变量与结果之间的关系,并且可以考虑到测量时间点间的相关性。GEE的优点是可以处理缺失数据,并且不需要对数据的分布进行严格的假设。 综上所述,GMML统计模型和GEE方法都是针对特定类型数据设计的统计分析方法。GMML是一种广义最大似然方法,适用于各种类型的数据分析,而GEE方法则适用于长期观察数据的分析,重点在于考虑数据的相关性和缺失情况。根据具体的研究问题和数据类型,可以选择合适的方法进行数据的统计分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

runepic

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

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

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

打赏作者

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

抵扣说明:

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

余额充值