Google Earth Engine(GEE)——容易犯的错误3(不必要的情况下不要使用clip())

简介: Google Earth Engine(GEE)——容易犯的错误3(不必要的情况下不要使用clip())

clip()不必要地使用会增加计算时间。clip()除非对您的分析有必要,否则请避免 。如果您不确定,请不要剪辑。一个错误使用剪辑的例子:

- 不要不必要地剪辑输入!

var table = ee.FeatureCollection('USDOS/LSIB_SIMPLE/2017');
var l8sr = ee.ImageCollection('LANDSAT/LC08/C01/T1_SR');
var chad = table.filter(ee.Filter.eq('country_na', 'Chad')).first();
// Do NOT clip unless you need to.
var unnecessaryClip = l8sr
    .select('B4')                           // Good.
    .filterBounds(chad.geometry())          // Good.使用边界顾虑比较好
    .filterDate('2019-01-01', '2019-12-31') // Good.
    .map(function(image) {
      return image.clip(chad.geometry());   // NO! Bad! Not necessary.这个操作非必要的
    })
    .median()
    .reduceRegion({
      reducer: ee.Reducer.mean(),
      geometry: chad.geometry(),
      scale: 30,
      maxPixels: 1e10,
    });
print(unnecessaryClip);
//对于clip()我们一般只是再导出结果的时候,或者自己的研究区数据的时候才会使用!


可以完全跳过剪切输入图像,因为在reduceRegion()调用中指定了区域 :

- 在输出上指定区域。

var noClipNeeded = l8sr
    .select('B4')                           // Good.
    .filterBounds(chad.geometry())          // Good.
    .filterDate('2019-01-01', '2019-12-31') // Good.
    .median()
    .reduceRegion({
      reducer: ee.Reducer.mean(),
      geometry: chad.geometry(), // 这里可以代替,应为你的研究区就是这个所以放进来就好,另外你自己上传的矢量文件后面一定要加入.geometry()否则有可能会报错!
      scale: 30,
      maxPixels: 1e10,
    });
print(noClipNeeded);


如果您需要剪辑复杂的集合,请使用clipToCollection()

如果您确实需要剪辑某些内容,并且要用于剪辑的几何图形位于集合中,请使用clipToCollection()

var ecoregions = ee.FeatureCollection('RESOLVE/ECOREGIONS/2017');
var image = ee.Image('JAXA/ALOS/AW3D30_V1_1');
var complexCollection = ecoregions
    .filter(ee.Filter.eq('BIOME_NAME',
                         'Tropical & Subtropical Moist Broadleaf Forests'));
Map.addLayer(complexCollection, {}, 'complexCollection');
var clippedTheRightWay = image.select('AVE')//这里在裁剪的时候一般都会提示让你选择波段,如果全部裁剪的化会加大计算量
    .clipToCollection(complexCollection);
Map.addLayer(clippedTheRightWay, {}, 'clippedTheRightWay', false);

不要在大型和/或复杂的集合上使用featureCollection.geometry()featureCollection.union(),这可能会占用更多内存。这一点就是如果你的矢量集合中有很多元素,那么会严重的占用内存


不要使用复杂的集合作为reducer的区域

如果您需要进行空间缩减,以便减速器汇集来自 a 中多个区域的输入FeatureCollection,请不要 将其featureCollection.geometry()作为geometry输入提供给减速器。相反,使用clipToCollection()一个足够大的区域来包含集合的边界。例如:

var ecoregions = ee.FeatureCollection('RESOLVE/ECOREGIONS/2017');
var image = ee.Image('JAXA/ALOS/AW3D30_V1_1');
var complexCollection = ecoregions
    .filter(ee.Filter.eq('BIOME_NAME', 'Tropical & Subtropical Moist Broadleaf Forests'));
var clippedTheRightWay = image.select('AVE')
    .clipToCollection(complexCollection);
Map.addLayer(clippedTheRightWay, {}, 'clippedTheRightWay');
//这里使用裁剪后的集合,而不是直接使用量很大的集合,这要那个有助于提高计算速度
var reduction = clippedTheRightWay.reduceRegion({
  reducer: ee.Reducer.mean(),
  geometry: ee.Geometry.Rectangle({
    coords: [-179.9, -50, 179.9, 50],  // Almost global.
    geodesic: false
  }),
  scale: 30,
  maxPixels: 1e12
});
print(reduction); // If this times out, export it.



相关文章
|
4月前
|
数据可视化 定位技术 Sentinel
如何用Google Earth Engine快速、大量下载遥感影像数据?
【2月更文挑战第9天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,批量下载指定时间范围、空间范围的遥感影像数据(包括Landsat、Sentinel等)的方法~
1942 1
如何用Google Earth Engine快速、大量下载遥感影像数据?
|
4月前
|
机器学习/深度学习 算法 数据可视化
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
193 0
|
4月前
GEE——Google dynamic world中在影像导出过程中无法完全导出较大面积影像的解决方案(投影的转换)EPSG:32630和EPSG:4326的区别
GEE——Google dynamic world中在影像导出过程中无法完全导出较大面积影像的解决方案(投影的转换)EPSG:32630和EPSG:4326的区别
92 0
|
4月前
|
存储 编解码 数据可视化
Google Earth Engine获取随机抽样点并均匀分布在栅格的不同数值区中
【2月更文挑战第14天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,按照给定的地表分类数据,对每一种不同的地物类型,分别加以全球范围内随机抽样点自动批量选取的方法~
424 1
Google Earth Engine获取随机抽样点并均匀分布在栅格的不同数值区中
|
4月前
|
API Go 网络架构
GEE Colab——如何从本地/Google云盘/Google Cloud Storage (GCS)上传和下载
GEE Colab——如何从本地/Google云盘/Google Cloud Storage (GCS)上传和下载
241 4
|
4月前
|
机器学习/深度学习 存储 人工智能
GEE Colab——初学者福音快速入门 Google Colab(Colaboratory)
GEE Colab——初学者福音快速入门 Google Colab(Colaboratory)
202 3
|
4月前
|
数据处理
Google Earth Engine(GEE)——sentinel-1数据处理过程中出现错误Dictionary does not contain key: bucketMeans
Google Earth Engine(GEE)——sentinel-1数据处理过程中出现错误Dictionary does not contain key: bucketMeans
80 0
|
4月前
|
编解码 人工智能 算法
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
71 0
|
4月前
|
编解码 人工智能 数据库
Google Earth Engine(GEE)——全球道路盘查项目全球道路数据库
Google Earth Engine(GEE)——全球道路盘查项目全球道路数据库
100 0
|
4月前
|
编解码
Open Google Earth Engine(OEEL)——matrixUnit(...)中产生常量影像
Open Google Earth Engine(OEEL)——matrixUnit(...)中产生常量影像
59 0

热门文章

最新文章