Google Earth Engine(GEE)——当加载图表的时候出现错误No features contain non-null values of “system:time_start“.

简介: Google Earth Engine(GEE)——当加载图表的时候出现错误No features contain non-null values of “system:time_start“.

 

错误:

Error generating chart: The image collection is empty.


No features contain non-null values of "system:time_start".


The image collection is empty.

原始代码:

var geometry = /* color: #d63000 */ee.Geometry.Polygon(
        [[[-81.14573791618602, 25.335453210591712],
          [-80.90953186149852, 25.32924702619973],
          [-81.03312805290477, 25.5190118912932],
          [-81.1992962657954, 25.50537864099872]]]),
    Mang = ee.FeatureCollection("users/selenachav5/mangrove_vector");
var WSC1050 = /* color: #98ff00 */ee.Geometry.Point([-81.11963534, 25.42344856]);
var mask = Mang
var mangroveImg = ee.Image(0).paint(mask, 1);
Map.addLayer(mangroveImg, {min:0, max:1}, 'mangroveImg')
function maskNonMangrove(i){
  return i.updateMask(mangroveImg).copyProperties(i);
}
var col = ee.ImageCollection('MODIS/061/MOD13Q1')
                  .map(function(im) {return im.select(['NDVI']).multiply(0.0001)})
                  .filter(ee.Filter.date('2013-01-01', '2023-05-01'))
                  .map(maskNonMangrove) 
                  ;
var ndvi = col.select('NDVI');
var ndviVis = {
  min: 0.0,
  max: 8000.0,
  palette: [
    'FFFFFF', 'CE7E45', 'DF923D', 'F1B555', 'FCD163', '99B718', '74A901',
    '66A000', '529400', '3E8601', '207401', '056201', '004C00', '023B01',
    '012E01', '011D01', '011301'
  ],
};
Map.setCenter(6.746, 46.529, 2);
Map.addLayer(ndvi, ndviVis, 'NDVI');
var ndviChart = ui.Chart.image.series(ndvi, WSC1050, ee.Reducer.mean(), 250);
  ndviChart.setOptions({
    title: 'MODIS NDVI',
    vAxis: {title: 'NDVI', maxValue: 9000},
    hAxis: {title: 'date', format: 'MM-yy', gridlines: {count: 7}},
  });
  
print(ndviChart)

解析:

出现这个的主要原因是,我们在对影像集合进行映射计算的出现了掩盖掉时间属性的东西,所以我们需要在进行映射函数之后要进行属性的追加,也就是及逆行属性的copy,从而保留这个时间属性,因为在默认状态下chart中是需要进行时间属性的来作为横轴进行加载的,所以这里我们必须要保留原有的影像时间信息。

关键代码:

.copyProperties(i,['system:time_start'])

图表函数:

ui.Chart.image.series(imageCollection, region, reducer, scale, xProperty)

Generates a Chart from an ImageCollection. Plots derived values of each band in a region across images. Usually a time series.

  • X-axis: Image, labeled by xProperty value.
  • Y-axis: Band value.
  • Series: Band names.

Returns a chart.

Arguments:

imageCollection (ImageCollection):

An ImageCollection with data to be included in the chart.

region (Feature|FeatureCollection|Geometry):

The region to reduce.

reducer (Reducer, optional):

Reducer that generates the values for the y-axis. Must return a single value. Defaults to ee.Reducer.mean().

scale (Number, optional):

Scale to use with the reducer in meters.

xProperty (String, optional):

Property to be used as the label for each image on the x-axis. Defaults to 'system:time_start'.

Returns: ui.Chart

修改后的代码:

var WSC1050 = /* color: #98ff00 */ee.Geometry.Point([-81.11963534, 25.42344856]);
var mask = Mang
var mangroveImg = ee.Image(0).paint(mask, 1);
Map.addLayer(mangroveImg, {min:0, max:1}, 'mangroveImg')
function maskNonMangrove(i){
  return i.updateMask(mangroveImg).copyProperties(i,['system:time_start']);
}
var col = ee.ImageCollection('MODIS/061/MOD13Q1')
                  .map(function(i) {return i.select(['NDVI']).multiply(0.0001).copyProperties(i,['system:time_start'])})
                  .filter(ee.Filter.date('2013-01-01', '2023-05-01'))
                  .map(maskNonMangrove) 
                  ;
var ndvi = col.select('NDVI');
var ndviVis = {
  min: 0.0,
  max: 8000.0,
  palette: [
    'FFFFFF', 'CE7E45', 'DF923D', 'F1B555', 'FCD163', '99B718', '74A901',
    '66A000', '529400', '3E8601', '207401', '056201', '004C00', '023B01',
    '012E01', '011D01', '011301'
  ],
};
Map.setCenter(6.746, 46.529, 2);
Map.addLayer(ndvi, ndviVis, 'NDVI');
var ndviChart = ui.Chart.image.series(ndvi, WSC1050, ee.Reducer.mean(), 250);
  ndviChart.setOptions({
    title: 'MODIS NDVI',
    vAxis: {title: 'NDVI', maxValue: 1},
    hAxis: {title: 'date', format: 'MM-yy', gridlines: {count: 7}},
  });
  
print(ndviChart)

 

相关文章
|
2月前
|
数据可视化 定位技术 Sentinel
如何用Google Earth Engine快速、大量下载遥感影像数据?
【2月更文挑战第9天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,批量下载指定时间范围、空间范围的遥感影像数据(包括Landsat、Sentinel等)的方法~
505 0
如何用Google Earth Engine快速、大量下载遥感影像数据?
|
2月前
|
机器学习/深度学习 算法 数据可视化
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
104 0
|
1月前
|
存储 编解码 数据可视化
Google Earth Engine获取随机抽样点并均匀分布在栅格的不同数值区中
【2月更文挑战第14天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,按照给定的地表分类数据,对每一种不同的地物类型,分别加以全球范围内随机抽样点自动批量选取的方法~
258 0
Google Earth Engine获取随机抽样点并均匀分布在栅格的不同数值区中
|
2月前
|
编解码 人工智能 算法
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
24 0
|
2月前
|
编解码 人工智能 数据库
Google Earth Engine(GEE)——全球道路盘查项目全球道路数据库
Google Earth Engine(GEE)——全球道路盘查项目全球道路数据库
43 0
|
2月前
|
编解码
Open Google Earth Engine(OEEL)——matrixUnit(...)中产生常量影像
Open Google Earth Engine(OEEL)——matrixUnit(...)中产生常量影像
21 0
|
2月前
Google Earth Engine(GEE)——导出指定区域的河流和流域范围
Google Earth Engine(GEE)——导出指定区域的河流和流域范围
43 0
|
2月前
|
传感器 编解码 数据处理
Open Google Earth Engine(OEEL)——哨兵1号数据的黑边去除功能附链接和代码
Open Google Earth Engine(OEEL)——哨兵1号数据的黑边去除功能附链接和代码
22 0
|
2月前
|
编解码 定位技术
Google Earth Engine(GEE)——导出后的影像像素不同于原始Landsat影像的分辨率(投影差异)
Google Earth Engine(GEE)——导出后的影像像素不同于原始Landsat影像的分辨率(投影差异)
22 0
|
2月前
|
数据处理
Google Earth Engine(GEE)——sentinel-1数据处理过程中出现错误Dictionary does not contain key: bucketMeans
Google Earth Engine(GEE)——sentinel-1数据处理过程中出现错误Dictionary does not contain key: bucketMeans
29 0