• GEE影像集合ImageCollection中的统计计算


    GEE影像集合ImageCollection中的统计计算


    a. reduce(reducer,parallelScale)

    1. reducer:计算方法,如均值、最大值等
    2. parallelScale:缩放比例,为一个后台优化参数,如果计算内存溢出可以设置2、4等

    影像集合中的reduce主要是所有影像提取对应波段计算生成单景影像。此外,需要注意Earth Engine中的所有操作底层本质都是在操作像素,这里计算结果为逐像素的结果。

    案例:计算ImageCollection内的NDVI均值影像

    var roi = /* color: #98ff00 */ee.Geometry.Polygon(  
            [[[114.62959747314449, 33.357067677774594],  
              [114.63097076416011, 33.32896028884253],  
              [114.68315582275386, 33.33125510961763],  
              [114.68178253173824, 33.359361757948754]]]);  
    Map.centerObject(roi, 7);  
    Map.setOptions("SATELLITE");  //set SATELLITE basemap
    
    var l8Col = ee.ImageCollection("LANDSAT/LC08/C01/T1_TOA")  //Note:TOA!!!
                  .filterBounds(roi)  
                  .filterDate("2018-1-1", "2019-1-1")  
                  .map(ee.Algorithms.Landsat.simpleCloudScore)//add cloud property
                  .map(function(image) {  //select cloud <= 20
                    return image.updateMask(image.select("cloud").lte(20));  
                  })  
                  .map(function(image) {  // add NDVI band
                    var ndvi = image.normalizedDifference(["B5", "B4"]).rename("NDVI");  
                    return image.addBands(ndvi);  
                  })  
                  .select("NDVI");  
    print(l8Col);
    var img = l8Col.reduce(ee.Reducer.mean(),4);   // or var img = l8Col.mean();  
    print(img);
    Map.addLayer(roi, {color: "red"}, "roi"); 
    

    由此代码也可以延伸开来,例如:

    • 计算ImageCollection中的云量少于xx%的影像数量结果进行导出
    • 计算ImageCollection中最大值或者最小值NDVI指数啥的作为分类的物候特征指标
      注意:这里的.filterBounds(roi)出来的只是与roi相交的行列号影像

    b. reduceColumns(reducer,selectors,weightSelectors)

    1. reducer:计算方法,如均值、最大值等
    2. selectors:属性列表
    3. weightSelectors:属性列表对应的权重信息,通常默认

    该方法用于统计属性的基本信息,例如统计影像结合所有的索引信息,并且返回列表,
    主要使用Reducer中的.toList()方法,将影像集合中每一个元素的属性信息聚合在一起以列表形式返回。

    案例:提取影像集合中所有影像ID的列表

    var roi = /* color: #98ff00 */ee.Geometry.Polygon(  
            [[[114.62959747314449, 33.357067677774594],  
              [114.63097076416011, 33.32896028884253],  
              [114.68315582275386, 33.33125510961763],  
              [114.68178253173824, 33.359361757948754]]]);  
    Map.centerObject(roi, 7);  
    var l8Col = ee.ImageCollection("LANDSAT/LC08/C01/T1_TOA")  
                  .filterBounds(roi)  
                  .filterDate("2018-1-1", "2019-1-1")  
                  .map(ee.Algorithms.Landsat.simpleCloudScore)  
                  .map(function(image) {  
                    return image.updateMask(image.select("cloud").lte(20));  
                  });  
    print(l8Col);
    // 需要将对象类型中的list取出
    var indexs = l8Col.reduceColumns(ee.Reducer.toList(), ["system:index"])  
                      .get("list");  
    print("indexs", indexs);  
    
    
  • 相关阅读:
    浅谈计算机速度变慢
    日志中的秘密:Windows登录类型知多少?ZT
    在应用程序代码中使用 FOR XML 结果 [From MS]
    Two sql tips
    Web Service Error: “The request failed with HTTP status 401: Unauthorized.”ZT
    [转载]大话MVP
    WCF服务编程 学习笔记(1)
    [转]ExtJS的使用方法汇总—配置和表格控件使用
    [转载]谈谈关于MVP模式中VP交互问题
    [转载]SCSF 系列:Smart Client Software Factory 中 MVP 模式最佳实践
  • 原文地址:https://www.cnblogs.com/icydengyw/p/15200589.html
Copyright © 2020-2023  润新知