Google Earth Engine 中的图像下载错误:"Image.date: Image '1' has a 'system:time_start' property which is not a number: 2005-09-01T00:00:00"

Image Download error in Google Earth Engine: "Image.date: Image '1' has a 'system:time_start' property which is not a number: 2005-09-01T00:00:00"

我想从GEE下载MODIS栅格的时间序列,

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());

在批量下载图像集时抛出错误 "Image.date:图像 '5' 有一个 'system:time_start' 属性 而不是编号: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
      })
}

如何将这个 'system:time_start' 属性 转换为数字?

改变

.set("system:time_start", ee.Date.fromYMD(y, m, 1))

.set("system:time_start", ee.Date.fromYMD(y, m, 1).millis())

获取 system:time_start 属性.

的正确数值(自 1970 年 1 月 1 日以来的毫秒数)