利用GEE计算遥感生态指数(WBEI)——Landsat 8为例

这篇具有很好参考价值的文章主要介绍了利用GEE计算遥感生态指数(WBEI)——Landsat 8为例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

gee计算遥感生态指数,生态环境,java,大数据,云计算
基于GEE平台,实现顾及水效益的生态环境质量评价方法。
《Water Benefit-based Ecological Index for Urban Ecological Environment Quality Assessments》
论文链接:https://ieeexplore.ieee.org/document/9492814
运行结果:
gee计算遥感生态指数,生态环境,java,大数据,云计算


第一步:定义研究区,自行更换自己的研究区

代码如下(示例):

var geometry0 = 
    /* color: #98ff00 */
    /* displayProperties: [
      {
        "type": "rectangle"
      }
    ] */
    ee.Geometry.Polygon(
        [[[120.1210075098537, 35.975189051414006],
          [120.1210075098537, 35.886229778229115],
          [120.25764996590839, 35.886229778229115],
          [120.25764996590839, 35.975189051414006]]], null, false);
          
Map.centerObject(geometry0);

//图例,红-蓝,1-0
var visParam = {
    palette: '040274, 040281, 0502a3, 0502b8, 0502ce, 0502e6, 0602ff, 235cb1, 307ef3, 269db1, 30c8e2, 32d3ef, 3be285, 3ff38f, 86e26f, 3ae237, b5e22e, d6e21f, fff705, ffd611, ffb613, ff8b13, ff6e08, ff500d, ff0000, de0101, c21301, a71001, 911003'
 };

//定义降采样参数,便于计算
var reduceScale = 500;

// 定义合成影像开始结束时间
var date_start = '2019-07-01';
var date_end = '2019-10-30';

第二步:加载Landsat 8,LST影像数据集合

代码如下(示例):

//第二步:加载Landsat 8影像数据集合
var img1 = ee.ImageCollection('LANDSAT/LC08/C01/T1_TOA')
           .filterBounds(geometry0)
           .filterDate(date_start, date_end)
           .filterMetadata('CLOUD_COVER', 'less_than',30)
           .select(["B2", "B3", "B4", "B5", "B6", "B7", "B10"])
           //.map(removeCloud)
           .mean()
           .clip(geometry0);
                   
//第二步:加载LST影像数据集合
var LSTimg = ee.ImageCollection("LANDSAT/LC08/C02/T1_L2")
           .filterBounds(geometry0)
           .filterDate(date_start, date_end)
           .map(maskL8sr)
           .median()
           .clip(geometry0);

第三步:构造SPWI指数函数: (B5 - B7 + B2)/(B5 + B7 + B2);构造NDLI指数函数: (B3 - B4)/(B3 + B4 + B6);构造地表温度LST函数;构造RVI指数函数:B5/B4;构造NDSI指数函数: (B6 - B5)/(B6 + B5)

代码如下(示例):

//第三步:构造SPWI指数函数: (B5 - B7 + B2)/(B5 + B7 + B2)
function SPWI(image,roi,reduceScale) {
    var nir = image.select('B5');
    var swir2 = image.select('B7');
    var blue = image.select('B2');
    var SPWI0 = (nir.subtract(swir2).add(blue)).divide(nir.add(swir2).add(blue)).rename("SPWI")
    var dic = SPWI0.reduceRegion(ee.Reducer.percentile([5, 95]), roi, reduceScale);
    var p5 = ee.Number(ee.Dictionary(dic).get("SPWI_p5"));
    var p95 = ee.Number(ee.Dictionary(dic).get("SPWI_p95"));
    var SPWI = SPWI0.where(SPWI0.select('SPWI').gt(p95), p95).where(SPWI0.select('SPWI').lt(p5), p5);
    var nSPWI = SPWI.subtract(p5).divide(ee.Number(p95).subtract(p5));
    return nSPWI;
}

//第三步:构造NDLI指数函数: (B3 - B4)/(B3 + B4 + B6)
function NDLI(image,roi,reduceScale) {
    var green = image.select('B3');
    var red = image.select('B4');
    var swir1 = image.select('B6');
    var NDLI0 = (green.subtract(red)).divide(green.add(red).add(swir1)).rename("NDLI")
    var dic = NDLI0.reduceRegion(ee.Reducer.percentile([5, 95]), roi, reduceScale);
    var p5 = ee.Number(ee.Dictionary(dic).get("NDLI_p5"));
    var p95 = ee.Number(ee.Dictionary(dic).get("NDLI_p95"));
    var NDLI = NDLI0.where(NDLI0.select('NDLI').gt(p95), p95).where(NDLI0.select('NDLI').lt(p5), p5);
    var nNDLI = NDLI.subtract(p5).divide(ee.Number(p95).subtract(p5));
    print(nNDLI)
    return nNDLI;
}


//第三步:构造地表温度LST函数
function maskL8sr(image) {
          // var qaMask = image.select('QA_PIXEL').bitwiseAnd(parseInt('11111', 2)).eq(0); //这里是去云
          // var saturationMask = image.select('QA_RADSAT').eq(0); //这里是去云
           var opticalBands = image.select('SR_B.').multiply(0.0000275).add(-0.2); // 这里就是对以SR开头的波段进行一个计算,让它回到一个正常的值,以便我们使用。
           var thermalBands = image.select('ST_B.*').multiply(0.00341802).add(149.0); // 这里就是对我们要得到的地表温度波段进行计算。
           return image.addBands(opticalBands, null, true)
           .addBands(thermalBands, null, true)
          // .updateMask(qaMask)
          // .updateMask(saturationMask);
}
function LST(image,roi,reduceScale) {
         var img = image.select("ST_B10")
         var lst = img.expression(
           'B1-273.15',
           {
             B1:img.select('ST_B10'),
             
           }).rename("LST");
    var dic = lst.reduceRegion(ee.Reducer.percentile([5, 95]), roi, reduceScale);
    var p5 = ee.Number(ee.Dictionary(dic).get("LST_p5"));
    var p95 = ee.Number(ee.Dictionary(dic).get("LST_p95"));
    print('最低温度为:',p5);
    print('最高温度为:',p95);
    var LST0 = lst.where(lst.select('LST').gt(p95), p95).where(lst.select('LST').lt(p5), p5);
    var nLST = LST0.subtract(p5).divide(ee.Number(p95).subtract(p5));
    return nLST;
}

//第三步:构造RVI指数函数:B5/B4
function RVI(image,roi,reduceScale) {
    var NIR = image.select(['B5']);
    var R = image.select(['B4']);
    var rvi0 = NIR.divide(R).rename('RVI');
    var dic = rvi0.reduceRegion(ee.Reducer.percentile([5, 95]), roi, reduceScale);
    var p5 = ee.Number(ee.Dictionary(dic).get("RVI_p5"));
    var p95 = ee.Number(ee.Dictionary(dic).get("RVI_p95"));
    var RVI = rvi0.where(rvi0.select('RVI').gt(p95), p95).where(rvi0.select('RVI').lt(p5), p5);
    var nRVI = RVI.subtract(p5).divide(ee.Number(p95).subtract(p5));
    return nRVI;
}

//第三步:构造NDSI指数函数: (B6 - B5)/(B6 + B5)
function NDSI(image,roi,reduceScale) {
    var NDSI0 = image.select("B6").subtract(image.select("B5"))
        .divide(image.select("B6").add(image.select("B5"))).rename("NDSI")
    var dic = NDSI0.reduceRegion(ee.Reducer.percentile([5, 95]), roi, reduceScale);
    var p5 = ee.Number(ee.Dictionary(dic).get("NDSI_p5"));
    var p95 = ee.Number(ee.Dictionary(dic).get("NDSI_p95"));
    var NDSI = NDSI0.where(NDSI0.select('NDSI').gt(p95), p95).where(NDSI0.select('NDSI').lt(p5), p5);
    var nNDSI = NDSI.subtract(p5).divide(ee.Number(p95).subtract(p5));
    return nNDSI;
}

第四步:构造指标熵计算函数

代码如下(示例):

function Ex(xi,roi,reduceScale) {
    var xs = xi.reduceRegion(ee.Reducer.sum(), roi, reduceScale).get("XI").getInfo();
    var f = xi.divide(xs);
    var fs = (f.multiply(f.log())).reduceRegion(ee.Reducer.sum(), roi, reduceScale).get("XI").getInfo();
    var n = xi.reduceRegion(ee.Reducer.count(), roi, reduceScale).get("XI").getInfo();
    var lnn = Math.log(n);
    var e = ee.Number(-fs).divide(lnn);
    return e;
}

第五步:主函数开始,引用指标计算函数,导入数据,计算各生态指标

代码如下(示例):

var spwi0 = SPWI(img1, geometry0,reduceScale).rename("XI");
var ndli0 = NDLI(img1, geometry0,reduceScale).rename("XI");
var lst0 = LST(LSTimg, geometry0,reduceScale).rename("XI");
var rvi0 = RVI(img1, geometry0,reduceScale).rename("XI");
var ndsi0 = NDSI(img1, geometry0,reduceScale).rename("XI");

第六步:引用指标熵计算公式,导入指标,计算指标信息熵

代码如下(示例):

var e01 = Ex(spwi0,geometry0,reduceScale);
var e02 = Ex(ndli0,geometry0,reduceScale);
var e03 = Ex(lst0,geometry0,reduceScale);
var e04 = Ex(rvi0,geometry0,reduceScale);
var e05 = Ex(ndsi0,geometry0,reduceScale);

第七步:利用指标信息熵,求取各指标权重

代码如下(示例):

var w01 = ee.Number(1).subtract(e01).divide(ee.Number(5).subtract(e01).subtract(e02).subtract(e03).subtract(e04).subtract(e05));
var w02 = ee.Number(1).subtract(e02).divide(ee.Number(5).subtract(e01).subtract(e02).subtract(e03).subtract(e04).subtract(e05));
var w03 = ee.Number(1).subtract(e03).divide(ee.Number(5).subtract(e01).subtract(e02).subtract(e03).subtract(e04).subtract(e05));
var w04 = ee.Number(1).subtract(e04).divide(ee.Number(5).subtract(e01).subtract(e02).subtract(e03).subtract(e04).subtract(e05));
var w05 = ee.Number(1).subtract(e05).divide(ee.Number(5).subtract(e01).subtract(e02).subtract(e03).subtract(e04).subtract(e05));
print('SPWI,NDLI,LST,RVI,NDSI,指标权重为:',w01,w02,w03,w04,w05);

第八步:加权融合,获取最终的生态环境质量结果

代码如下(示例):

var wbei0 = spwi0.multiply(w01)
                .add(ndli0.multiply(w02))
                .subtract(lst0.multiply(w03))
                .add(rvi0.multiply(w04))
                .subtract(ndsi0.multiply(w05))
                .rename("WBEI0");
                
    var dic = wbei0.reduceRegion(ee.Reducer.percentile([5, 95]), geometry0, reduceScale);  //计算过程中将30m降采样到100m,减少计算
    var p5 = ee.Number(ee.Dictionary(dic).get("WBEI0_p5"));
    var p95 = ee.Number(ee.Dictionary(dic).get("WBEI0_p95"));
    var WBEI = wbei0.where(wbei0.select('WBEI0').gt(p95), p95).where(wbei0.select('WBEI0').lt(p5), p5);
    var nWBEI = WBEI.subtract(p5).divide(ee.Number(p95).subtract(p5));

第九步:结果显示

代码如下(示例):

//图例,红-蓝,0-1
var visParam1 = {
    min: 0.0, max: 1.0 ,palette: '911003, a71001, c21301, de0101, ff0000,  ff500d, ff6e08, ff8b13,ffb613, ffd611, fff705, d6e21f,  b5e22e, 3ae237, 86e26f, 3ff38f,3be285, 32d3ef, 30c8e2,  269db1, 307ef3,235cb1, 0602ff,  0502e6, 0502ce,0502b8,0502a3,  040281, 040274 '
 };

Map.addLayer(nWBEI, visParam1, "nWBEI");


完整代码

代码如下(示例):

//《Water Benefit-based Ecological Index for Urban Ecological Environment Quality Assessments》
// 顾及水效益的生态环境质量评价方法,论文链接:https://ieeexplore.ieee.org/document/9492814
// 第一步:定义研究区,自行更换自己的研究区
var geometry0 = 
    /* color: #98ff00 */
    /* displayProperties: [
      {
        "type": "rectangle"
      }
    ] */
    ee.Geometry.Polygon(
        [[[120.1210075098537, 35.975189051414006],
          [120.1210075098537, 35.886229778229115],
          [120.25764996590839, 35.886229778229115],
          [120.25764996590839, 35.975189051414006]]], null, false);
          
Map.centerObject(geometry0);

//图例,红-蓝,1-0
var visParam = {
    palette: '040274, 040281, 0502a3, 0502b8, 0502ce, 0502e6, 0602ff, 235cb1, 307ef3, 269db1, 30c8e2, 32d3ef, 3be285, 3ff38f, 86e26f, 3ae237, b5e22e, d6e21f, fff705, ffd611, ffb613, ff8b13, ff6e08, ff500d, ff0000, de0101, c21301, a71001, 911003'
 };

//定义降采样参数,便于计算
var reduceScale = 500;

// 定义合成影像开始结束时间
var date_start = '2019-07-01';
var date_end = '2019-10-30';

//第二步:加载Landsat 8影像数据集合
var img1 = ee.ImageCollection('LANDSAT/LC08/C01/T1_TOA')
           .filterBounds(geometry0)
           .filterDate(date_start, date_end)
           .filterMetadata('CLOUD_COVER', 'less_than',30)
           .select(["B2", "B3", "B4", "B5", "B6", "B7", "B10"])
           //.map(removeCloud)
           .mean()
           .clip(geometry0);
                   
//第二步:加载LST影像数据集合
var LSTimg = ee.ImageCollection("LANDSAT/LC08/C02/T1_L2")
           .filterBounds(geometry0)
           .filterDate(date_start, date_end)
           .map(maskL8sr)
           .median()
           .clip(geometry0);

//第三步:构造SPWI指数函数: (B5 - B7 + B2)/(B5 + B7 + B2)
function SPWI(image,roi,reduceScale) {
    var nir = image.select('B5');
    var swir2 = image.select('B7');
    var blue = image.select('B2');
    var SPWI0 = (nir.subtract(swir2).add(blue)).divide(nir.add(swir2).add(blue)).rename("SPWI")
    var dic = SPWI0.reduceRegion(ee.Reducer.percentile([5, 95]), roi, reduceScale);
    var p5 = ee.Number(ee.Dictionary(dic).get("SPWI_p5"));
    var p95 = ee.Number(ee.Dictionary(dic).get("SPWI_p95"));
    var SPWI = SPWI0.where(SPWI0.select('SPWI').gt(p95), p95).where(SPWI0.select('SPWI').lt(p5), p5);
    var nSPWI = SPWI.subtract(p5).divide(ee.Number(p95).subtract(p5));
    return nSPWI;
}

//第三步:构造NDLI指数函数: (B3 - B4)/(B3 + B4 + B6)
function NDLI(image,roi,reduceScale) {
    var green = image.select('B3');
    var red = image.select('B4');
    var swir1 = image.select('B6');
    var NDLI0 = (green.subtract(red)).divide(green.add(red).add(swir1)).rename("NDLI")
    var dic = NDLI0.reduceRegion(ee.Reducer.percentile([5, 95]), roi, reduceScale);
    var p5 = ee.Number(ee.Dictionary(dic).get("NDLI_p5"));
    var p95 = ee.Number(ee.Dictionary(dic).get("NDLI_p95"));
    var NDLI = NDLI0.where(NDLI0.select('NDLI').gt(p95), p95).where(NDLI0.select('NDLI').lt(p5), p5);
    var nNDLI = NDLI.subtract(p5).divide(ee.Number(p95).subtract(p5));
    print(nNDLI)
    return nNDLI;
}


//第三步:构造地表温度LST函数
function maskL8sr(image) {
          // var qaMask = image.select('QA_PIXEL').bitwiseAnd(parseInt('11111', 2)).eq(0); //这里是去云
          // var saturationMask = image.select('QA_RADSAT').eq(0); //这里是去云
           var opticalBands = image.select('SR_B.').multiply(0.0000275).add(-0.2); // 这里就是对以SR开头的波段进行一个计算,让它回到一个正常的值,以便我们使用。
           var thermalBands = image.select('ST_B.*').multiply(0.00341802).add(149.0); // 这里就是对我们要得到的地表温度波段进行计算。
           return image.addBands(opticalBands, null, true)
           .addBands(thermalBands, null, true)
          // .updateMask(qaMask)
          // .updateMask(saturationMask);
}
function LST(image,roi,reduceScale) {
         var img = image.select("ST_B10")
         var lst = img.expression(
           'B1-273.15',
           {
             B1:img.select('ST_B10'),
             
           }).rename("LST");
    var dic = lst.reduceRegion(ee.Reducer.percentile([5, 95]), roi, reduceScale);
    var p5 = ee.Number(ee.Dictionary(dic).get("LST_p5"));
    var p95 = ee.Number(ee.Dictionary(dic).get("LST_p95"));
    print('最低温度为:',p5);
    print('最高温度为:',p95);
    var LST0 = lst.where(lst.select('LST').gt(p95), p95).where(lst.select('LST').lt(p5), p5);
    var nLST = LST0.subtract(p5).divide(ee.Number(p95).subtract(p5));
    return nLST;
}

//第三步:构造RVI指数函数:B5/B4
function RVI(image,roi,reduceScale) {
    var NIR = image.select(['B5']);
    var R = image.select(['B4']);
    var rvi0 = NIR.divide(R).rename('RVI');
    var dic = rvi0.reduceRegion(ee.Reducer.percentile([5, 95]), roi, reduceScale);
    var p5 = ee.Number(ee.Dictionary(dic).get("RVI_p5"));
    var p95 = ee.Number(ee.Dictionary(dic).get("RVI_p95"));
    var RVI = rvi0.where(rvi0.select('RVI').gt(p95), p95).where(rvi0.select('RVI').lt(p5), p5);
    var nRVI = RVI.subtract(p5).divide(ee.Number(p95).subtract(p5));
    return nRVI;
}

//第三步:构造NDSI指数函数: (B6 - B5)/(B6 + B5)
function NDSI(image,roi,reduceScale) {
    var NDSI0 = image.select("B6").subtract(image.select("B5"))
        .divide(image.select("B6").add(image.select("B5"))).rename("NDSI")
    var dic = NDSI0.reduceRegion(ee.Reducer.percentile([5, 95]), roi, reduceScale);
    var p5 = ee.Number(ee.Dictionary(dic).get("NDSI_p5"));
    var p95 = ee.Number(ee.Dictionary(dic).get("NDSI_p95"));
    var NDSI = NDSI0.where(NDSI0.select('NDSI').gt(p95), p95).where(NDSI0.select('NDSI').lt(p5), p5);
    var nNDSI = NDSI.subtract(p5).divide(ee.Number(p95).subtract(p5));
    return nNDSI;
}

//第四步:构造指标熵计算函数
function Ex(xi,roi,reduceScale) {
    var xs = xi.reduceRegion(ee.Reducer.sum(), roi, reduceScale).get("XI").getInfo();
    var f = xi.divide(xs);
    var fs = (f.multiply(f.log())).reduceRegion(ee.Reducer.sum(), roi, reduceScale).get("XI").getInfo();
    var n = xi.reduceRegion(ee.Reducer.count(), roi, reduceScale).get("XI").getInfo();
    var lnn = Math.log(n);
    var e = ee.Number(-fs).divide(lnn);
    return e;
}

//第五步:主函数开始,引用指标计算函数,导入数据,计算各生态指标
var spwi0 = SPWI(img1, geometry0,reduceScale).rename("XI");
var ndli0 = NDLI(img1, geometry0,reduceScale).rename("XI");
var lst0 = LST(LSTimg, geometry0,reduceScale).rename("XI");
var rvi0 = RVI(img1, geometry0,reduceScale).rename("XI");
var ndsi0 = NDSI(img1, geometry0,reduceScale).rename("XI");

// 第六步,引用指标熵计算公式,导入指标,计算指标信息熵
var e01 = Ex(spwi0,geometry0,reduceScale);
var e02 = Ex(ndli0,geometry0,reduceScale);
var e03 = Ex(lst0,geometry0,reduceScale);
var e04 = Ex(rvi0,geometry0,reduceScale);
var e05 = Ex(ndsi0,geometry0,reduceScale);

// 第七步,利用指标信息熵,求取各指标权重
var w01 = ee.Number(1).subtract(e01).divide(ee.Number(5).subtract(e01).subtract(e02).subtract(e03).subtract(e04).subtract(e05));
var w02 = ee.Number(1).subtract(e02).divide(ee.Number(5).subtract(e01).subtract(e02).subtract(e03).subtract(e04).subtract(e05));
var w03 = ee.Number(1).subtract(e03).divide(ee.Number(5).subtract(e01).subtract(e02).subtract(e03).subtract(e04).subtract(e05));
var w04 = ee.Number(1).subtract(e04).divide(ee.Number(5).subtract(e01).subtract(e02).subtract(e03).subtract(e04).subtract(e05));
var w05 = ee.Number(1).subtract(e05).divide(ee.Number(5).subtract(e01).subtract(e02).subtract(e03).subtract(e04).subtract(e05));
print('SPWI,NDLI,LST,RVI,NDSI,指标权重为:',w01,w02,w03,w04,w05);

// 第八步,加权融合,获取最终的生态环境质量结果
var wbei0 = spwi0.multiply(w01)
                .add(ndli0.multiply(w02))
                .subtract(lst0.multiply(w03))
                .add(rvi0.multiply(w04))
                .subtract(ndsi0.multiply(w05))
                .rename("WBEI0");
                
    var dic = wbei0.reduceRegion(ee.Reducer.percentile([5, 95]), geometry0, reduceScale);  //计算过程中将30m降采样到100m,减少计算
    var p5 = ee.Number(ee.Dictionary(dic).get("WBEI0_p5"));
    var p95 = ee.Number(ee.Dictionary(dic).get("WBEI0_p95"));
    var WBEI = wbei0.where(wbei0.select('WBEI0').gt(p95), p95).where(wbei0.select('WBEI0').lt(p5), p5);
    var nWBEI = WBEI.subtract(p5).divide(ee.Number(p95).subtract(p5));

//第九步,结果显示

//图例,红-蓝,0-1
var visParam1 = {
    min: 0.0, max: 1.0 ,palette: '911003, a71001, c21301, de0101, ff0000,  ff500d, ff6e08, ff8b13,ffb613, ffd611, fff705, d6e21f,  b5e22e, 3ae237, 86e26f, 3ff38f,3be285, 32d3ef, 30c8e2,  269db1, 307ef3,235cb1, 0602ff,  0502e6, 0502ce,0502b8,0502a3,  040281, 040274 '
 };

Map.addLayer(nWBEI, visParam1, "nWBEI");


总结

提示:用完后记得给个反馈:
论文题目:《Water Benefit-based Ecological Index for Urban Ecological Environment Quality Assessments》
论文链接:https://ieeexplore.ieee.org/document/9492814文章来源地址https://www.toymoban.com/news/detail-518946.html

到了这里,关于利用GEE计算遥感生态指数(WBEI)——Landsat 8为例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 利用GEE与GPT模型解析遥感云大数据中的灾害影响范围实践

    随着遥感技术的快速发展,云大数据在灾害、水体与湿地领域的应用日益广泛。通过遥感云大数据,我们能够实时获取灾害发生地的影像信息,为灾害预警、应急响应提供有力支持。同时,在水体与湿地监测方面,遥感云大数据也发挥着重要作用,帮助我们了解水体的分布、

    2024年03月14日
    浏览(57)
  • 海量遥感数据处理与GEE云计算技术应用【基础、进阶】

    目前,GEE以其强大的功能受到了国外越来越多的科技工作者的重视和应用,然而在国内应用还十分有限。应广大科学工作者的要求,本学习将结合具体范例,重点介绍利用GEE进行数据处理的常用方法,并通过土地遥感信息提取进行进阶训练,掌握实际操作能力。  海 量 遥 感

    2024年01月21日
    浏览(52)
  • GEE中Landsat、Sentinel、Modis主要数据集区别

    1. Collection 1/2 的区别 Collection 2 是Landsat Level 1 数据的又一次重大再处理,显著提高了 绝对地理定位精度 。 Collection1 Collection2 时间跨度 1972~2021底 1972~至今 数据等级 level 1 level1:1972~2021底 level2:1982~至今 Landsat 集合 2 包括基于场景的全球 2 级表面反射率科学产品 Landsat 集合

    2024年01月18日
    浏览(36)
  • GEE(Google earth engine)中的Landsat影像的选择和去云(附代码)

            在这里可以看到GEE提供的全部Landsat数据:Landsat Collections in Earth Engine  |  Earth Engine Data Catalog  |  Google Developers               随便点进去,比如Landsat8,有三个数据,一个是地表面反射率数据,一个是大气层顶部的反射率数据,一个是raw。大气层顶部的反射数据

    2024年02月03日
    浏览(49)
  • Google Earth Engine(GEE)——Landsat 8/9 Level 2,Collection 2 LST地表温度(不包含Landsat7之前的数据集)

     不再需要使用 Ermida 的算法计算表面温度。 Landsat Level 2,Collection 2 包含经大气校正的地表反射率和地表温度 (LST)。所有 Collection 2 LST 产品均采用由罗彻斯特理工学院 (RIT) 和美国国家航空航天局 (NASA) 喷气推进实验室 (JPL) 联合开发的单通道算法创建。 前言 – 床长人工智能教

    2024年02月10日
    浏览(44)
  • (二)Landsat_5 TM 遥感影像波段合成真假彩色影像

    回顾以下Landsat系列卫星的发展史,可以发现Landsat_5卫星已经退役,作为世界上寿命最长的地球观测卫星,其在影像方面对人类的发展具有很深刻的意义。Landsat_5 TM共有7个波段,通过不同的波段组合,形成不同遥感图像,也就是常见的红绿蓝三通道影像立方体。地物对每一个

    2024年02月11日
    浏览(50)
  • GEE python:Landsat 5影像的缨帽变换(K-T)分析含矩阵乘法和影像向矩阵的转化

    Landsat影像的缨帽变换又称为高通滤波,是一种基于像元邻域的光谱反射率的统计处理方法。它可以用来从遥感影像中去除大气、地形和植被等因素的影响,从而提取出更纯净的地表信息。 缨帽变换的基本思想是将原始影像与相应的滤波模板进行卷积,达到减少照射面角度和

    2024年01月19日
    浏览(47)
  • GEE:时间序列分析2——将Landsat5、7、8所有影像合成一个影像集合,构建NDVI时间序列

    本文记录了在Google Earth Engine(GEE)平台上,将Landsat-5、Landsat-7和Landsat-8合成同一个影像集合,并把这个新的影像集合合并成一个大的集合的代码,并计算了NDVI指数,构建了一个NDVI年度合成的时间序列数据集。为之后时间序列分析做数据准备。 其中主要函数已经封装成了函数

    2024年02月11日
    浏览(42)
  • 遥感反演叶面积指数 (LAI)

    叶面积指数(Leaf Area Index, LAI)是反映一个生态系统中单位面积上的叶面积综合的一半,是模拟陆地生态过程、水热循环和生物地球化学循环的重要参数。 本文主要介绍LAI的遥感反演方法,其主要分为统计方法、植被辐射传输模型反演方法、混合方法与数据同化方法。 统计方

    2024年02月09日
    浏览(35)
  • Python空间分析| 01 利用Python计算全局莫兰指数(Global Moran‘s I)

    空间自相关(spatial autocorrelation)是指一些变量在同一个分布区内的观测数据之间潜在的相互依赖性。Tobler(1970)曾指出“地理学第一定律:任何东西与别的东西之间都是相关的,但近处的东西比远处的东西相关性更强” 全局莫兰指数(Global Moran’s I)是最常用的空间自相关指

    2024年01月21日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包