I want to download the time series of MODIS rasters from GEE,
var batch = require('users/fitoprincipe/geetools:batch')
print("batch.help", batch.help)
var doy = function(img) {
var firstDayOfYear = ee.Number(img
.get("system:time_start"))
.divide(24*60*60*1000);
var doy = img.subtract(firstDayOfYear).add(1);
return doy
.set("system:time_start", img.get("system:time_start"));
};
var roi = Haryana
var modis_vegetation = ee.ImageCollection("MODIS/006/MOD13Q1")
.filterBounds(roi);
var startyear = 2000;
var endyear = 2005;
var startmonth = 9;
var endmonth = 9;
var startdate = ee.Date.fromYMD(startyear, startmonth, 1);
var enddate = ee.Date.fromYMD(endyear , endmonth, 30);
var years = ee.List.sequence(startyear, endyear);
var months = ee.List.sequence(startmonth,endmonth);
var ndviCollection = modis_vegetation
.filterDate(startdate, enddate)
.select("NDVI");
var monthlyNDVI = ee.ImageCollection.fromImages(
years.map(function (y) {
return months.map(function(m) {
var monthly = ndviCollection
.filter(ee.Filter.calendarRange(y, y, "year"))
.filter(ee.Filter.calendarRange(m, m, "month"))
.mean();
return monthly
.set("year", y)
.set("month", m)
.set("system:time_start", ee.Date.fromYMD(y, m, 1));}); })
.flatten());
while batch downloading the image collection it is throwing the error which is "Image.date: Image '5' has a 'system:time_start' property which is not a number: 2005-09-01T00:00:00"
var count = monthlyNDVI.size()
var all_tiles_monthlyNDVI = monthlyNDVI.map(function(image) { return image.reproject('EPSG:4326', null, 250); });
var monthlyNDVI_colList = all_tiles_monthlyNDVI.toList(all_tiles_monthlyNDVI.size());
var n = monthlyNDVI_colList.size().getInfo();
for (var i = 0; i < n; i++) {
var img = ee.Image(monthlyNDVI_colList.get(i));
var id = img.id().getInfo();
var listOfImages = all_tiles_monthlyNDVI.toList(all_tiles_monthlyNDVI.size());
var Tile = listOfImages.get(i);
var allRasters = ee.ImageCollection.fromImages([Tile]);
print("Raster no " + i, allRasters)
batch.Download.ImageCollection.toDrive(allRasters, "MODIS",
{name: 'monthlyNDVI_250_m_'+id,
scale: 250,
region: shapefile_to_use
})
}
How to convert this 'system:time_start' property to number?
Change
.set("system:time_start", ee.Date.fromYMD(y, m, 1))
to
.set("system:time_start", ee.Date.fromYMD(y, m, 1).millis())
to get the correct numerical value (milliseconds since Jan 1 1970) for a system:time_start
property.