需要保证最后显示的数据是一个 FeatureCollection 对象。
如果数据是一个 Geometry 或 Image,我们也可以使用 style 方法来设置样式并将其添加到地图上。以下是针对不同类型对象的处理方式:
1 Geometry对象
如果 table 是一个 Geometry 对象,可以将其转换为 Feature,然后应用样式:
// 假设 table 是一个 Geometry 对象
var table = ee.Geometry.Point([0, 0]);// 将 Geometry 转换为 Feature
var feature = ee.Feature(table);// 定义样式对象
var style = {color: 'red', // 设置边框颜色为红色fillColor: '00000000', // 设置填充颜色为透明width: 2 // 设置边框宽度为2
};// 将样式应用于 Feature 并添加到地图
Map.addLayer(feature.style(style), {}, 'roi');// 设置地图的中心和缩放级别
Map.setCenter(0, 0, 5);
2 Image对象
如果 table 是一个 Image 对象,可以使用 image.paint 方法绘制边界并设置样式:
// 假设 table 是一个 Image 对象
var table = ee.Image('LANDSAT/LC08/C01/T1_SR/LC08_044034_20140318');// 使用 image.paint 方法绘制边界
var outline = table.paint({featureCollection: ee.FeatureCollection(table.geometry()),color: 1, // 可以是任何值,因为我们在 style 中定义颜色width: 2
});// 定义样式对象
var style = {color: 'red', // 设置边框颜色为红色fillColor: '00000000' // 设置填充颜色为透明
};// 将样式应用于边界并添加到地图
Map.addLayer(outline.visualize(style), {}, 'roi');// 设置地图的中心和缩放级别
Map.setCenter(0, 0, 5);
3 使用 FeatureCollection 来处理多个 Geometry
// 假设 table 是一个数组包含多个 Geometry 对象
var geometries = [ee.Geometry.Point([0, 0]),ee.Geometry.Point([1, 1])
];// 将多个 Geometry 对象转换为 FeatureCollection
var featureCollection = ee.FeatureCollection(geometries.map(function(geometry) {return ee.Feature(geometry);
}));// 定义样式对象
var style = {color: 'red', // 设置边框颜色为红色fillColor: '00000000', // 设置填充颜色为透明width: 2 // 设置边框宽度为2
};// 将样式应用于 FeatureCollection 并添加到地图
Map.addLayer(featureCollection.style(style), {}, 'roi');// 设置地图的中心和缩放级别
Map.setCenter(0, 0, 5);