ccdc获取第二年的图像

//  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//  Chapter:      F4.7 Interpreting Time Series with CCDC
//  Checkpoint:   F47c
//  Authors:      Paulo Arévalo, Pontus Olofsson
//  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

var palettes = require('users/gena/packages:palettes');
var utils = require('users/parevalo_bu/gee-ccdc-tools:ccdcUtilities/api')
var resultsPath =
    'projects/ee-xucoco/assets/CCDC';
var ccdResults = ee.Image(resultsPath);
Map.centerObject(ccdResults, 10);
print(ccdResults);

// Select time of break and change probability array images.
var change = ccdResults.select('tBreak');
var changeProb = ccdResults.select('changeProb');

// Set the time range we want to use and get as mask of 
// places that meet the condition.
var start = 1985;
var end = 2017;
var region = ee.Geometry.Polygon(
        [[[121.14763405223009, 53.592820790055974],
          [121.14763405223009, 52.10683217687483],
          [125.19609596629259, 52.10683217687483],
          [125.19609596629259, 53.592820790055974]]], null, false);
var mask = change.gt(start).and(change.lte(end)).and(changeProb.eq(
1));
Map.addLayer(changeProb, {}, 'change prob');

// Obtain the number of breaks for the time range.
var numBreaks = mask.arrayReduce(ee.Reducer.sum(), [0]);
Map.addLayer(numBreaks, {
    min: 0,
    max: 5
}, 'Number of breaks');

// Obtain the first change in that time period.
var dates = change.arrayMask(mask).arrayPad([4]);
Map.addLayer(dates, {}, 'dates');
// var axis1 = dates.arrayLength(1);
// print('axis1',axis1);
var secondChange = dates
    .arraySlice(0, 1, 2)
    .arrayFlatten([
        ['secondChange']
    ])
    .selfMask();
var timeVisParams = {
    palette: palettes.colorbrewer.YlOrRd[9],
    min: start,
    max: end
};
Map.addLayer(secondChange, timeVisParams, 'secondChange');
Export.image.toDrive({
  image: dates, 
  description: 'ccdc-yod85-17', 
  folder: 'ccdc-yod', 
  fileNamePrefix: 'ccdc-yod', 
  region: region, 
  scale: 30, 
  crs: 'EPSG:4326', 
  maxPixels: 1e13
});
//Obtain the last change in that time period.
var lastChange = dates
    .arraySlice(0, -1)
    .arrayFlatten([
        ['lastChange']
    ])
    .selfMask();
Map.addLayer(lastChange, timeVisParams, 'Last change');

// // Get masked magnitudes.
// var magnitudes = ccdResults
//     .select('SWIR1_magnitude')
//     .arrayMask(mask)
//     .arrayPad([1]);

// // Get index of max abs magnitude of change.
// var maxIndex = magnitudes
//     .abs()
//     .arrayArgmax()
//     .arrayFlatten([
//         ['index']
//     ]);

// // Select max magnitude and its timing
// var selectedMag = magnitudes.arrayGet(maxIndex);
// var selectedTbreak = dates.arrayGet(maxIndex).selfMask();

// var magVisParams = {
//     palette: palettes.matplotlib.viridis[7],
//     min: -0.15,
//     max: 0.15
// };
// Map.addLayer(selectedMag, magVisParams, 'Max mag');
// Map.addLayer(selectedTbreak, timeVisParams, 'Time of max mag');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值