各位,请问一下sentinel-5p数据筛选的时候,为什么filterBounds()方法不起作用呢?(我设置范围为福建省,但是他还是把全球都是筛选出来了)
来看一下他的原始代码:
var O3 = ee.ImageCollection("COPERNICUS/S5P/OFFL/L3_O3"),
var China = ee.FeatureCollection("users/Zhouxiaokang/Shape/China_Province_Zone"),
var Fujian = ee.FeatureCollection("users/Zhouxiaokang/Fujian");
var star_date=ee.Date.fromYMD(2019,1,1);
var end_date=ee.Date.fromYMD(2020,12,31);
var Fujian=China.filter(ee.Filter.eq("省","福建省"));
var S5p_Fujian=O3.filter(ee.Filter.bounds(Fujian))
.filterDate(star_date,end_date);
print(S5p_Fujian.limit(100));
Map.centerObject(Fujian,6);
Map.addLayer(Fujian);
Map.addLayer(S5p_Fujian.first());
首先来看问题,影像和适量添加的都没有问题,时间时日筛选也没有问题,当然,有更简单的方法,一会看我的代码即可。这里的重点是没有我们筛选的时候不能有中文的出现,所以错误出现在这里,这是第一个,我们一般会以英文进行命名,而且不必要向上面代码这么麻烦,直接一个 filterBounds()来解决即可,然后打印这里如果不是为了获取影像的数量不建议打印,这一步有点多余,不过初学者来说可以坚持这么做,毕竟可以发现问题的所在之处。
Shortcut to filter a collection by intersection with geometry. Items in the collection with a footprint that fails to intersect the given geometry will be excluded.
This is equivalent to this.filter(ee.Filter.bounds(...)).
Caution: providing a large or complex collection as input can result in poor performance. Collating the geometry of collections does not scale well, use the smallest collection (or geometry) that is required to achieve the desired outcome.
Returns the filtered collection.
this:collection (Collection):
The Collection instance.
geometry (ComputedObject|FeatureCollection|Geometry):
The geometry, feature or collection to intersect with.
今天看到有个朋友说无法正确的使用filterBounds()这个函数,在对于sentinel-5P的数据中,对于中国区域没法正确使用,我很是纳闷,随后我就直接自己赶快从之前的博客中找来我的代码,然后进行了一番改写之后实现了中国区域的sentinel-5P数据的展示和下载。
//加载中国区域的矢量边界
//如果你是省的矢量也直接夹在即可
var table2 = ee.FeatureCollection("users/bqt2000204051/CHINA");
// 分别定义两年的影响数据筛选
//用时间节点获取你想要的影像
var y2019 = ee.ImageCollection("COPERNICUS/S5P/OFFL/L3_SO2").filterDate("2019-06-01","2019-06-3").filterBounds(table2);
// 上色
var band_viz = {
min: 0.0,
max: 0.0005,
palette: ['black', 'blue', 'purple', 'cyan', 'green', 'yellow', 'red']
};
//图层加载
Map.addLayer(y2019.mean().select("SO2_column_number_density").clip(table2),band_viz," 2019");
//分别利用已经定义的影像名称来下载即可
Export.image.toDrive({
//这里的mean就代表求均值
image: y2019.mean().select("SO2_column_number_density").clip(table2),
region:table2,
scale:1000,
description: "CHINA_so2_1Km",
folder: 'CHINA_so2_1Km',
});
最后结果