In the below code I was going to do classification process for time series data but in training data collection returned this error:
code link: https://code.earthengine.google.com/b81fe0a02ece289b3c788a5ccba67ac9
Map.centerObject(table);
Map.addLayer(table);
var start = '2018-01-01';
var end = '2019-01-01';
var persiannData = function(img){
return img.clip(table)
.multiply(255 / 2.0).toInt()
.copyProperties(img,['system:time_start','system:time_end']);
};
var persiann25km = ee.ImageCollection("NOAA/PERSIANN-CDR")
.filterDate(start, end)
.filterBounds(table).map(persiannData);
print('persiann25km',persiann25km);
/// ancillary data
var dem = ee.Image("USGS/GTOPO30")
.clip(table);
var ndvi = function(img){
return img.clip(table).addBands(dem)
.copyProperties(img,['system:time_start','system:time_end']);
};
var evi = function(img){
return img.clip(table)
.copyProperties(img,['system:time_start','system:time_end']);
};
var lst = function(img){
return img.clip(table).select('LST_Day_1km').multiply(0.02)
.copyProperties(img,['system:time_start','system:time_end']);
};
var modisNDVI = ee.ImageCollection("MODIS/MOD09GA_006_NDVI")
.filterDate(start, end)
.filterBounds(table)
.map(ndvi);
var modisEVI = ee.ImageCollection("MODIS/MOD09GA_006_EVI")
.filterDate(start, end)
.filterBounds(table)
.map(evi);
var modisLST = ee.ImageCollection("MODIS/006/MOD11A1")
.filterDate(start, end)
.filterBounds(table)
.map(lst);
// data integration
var modisDataset = modisNDVI.combine(modisEVI).combine(modisLST);
print('modisDataset',modisDataset);
var innerJoin = ee.Join.inner();
var filterTimeEq = ee.Filter.equals({
leftField:'system:time_start' ,
rightField: 'system:time_start'
});
var innerJoinModis = innerJoin.apply(modisDataset, persiann25km, filterTimeEq);
print('persiann & modis', innerJoinModis);
var datasetMap = ee.ImageCollection(innerJoinModis.map(function(feature){
return ee.Image.cat(feature.get('primary'), feature.get('secondary'));
}));
print('datasetMap',datasetMap);
// modelling process
var classificationProcess = datasetMap.map(function(img){
var bandNames = img.select('NDVI','EVI','elevation','LST_Day_1km')
.bandNames();
var trainingData = img.stratifiedSample({
numPoints: 100,
classBand: 'precipitation',
region: table,
scale: 1000,
});
var classifier = ee.Classifier.smileRandomForest(80)
.train({
features: trainingData,
classProperty: 'precipitation',
inputProperties: bandNames
});
var classified = img.select('NDVI','EVI','elevation','LST_Day_1km')
.classify(classifier);
return classified
.copyProperties(img,['system:time_start','system:time_end']);
});
print('classificationProcess',classificationProcess);