百里屠苏top  

 

一、筛选和检查影像集

1.1代码

 1 // Define a region of interest as a point in haikou, hainan. 
 2 //var hkPoint = ee.Geometry.Point(110.3207, 20.04713); 定义一个点的时候,先经度后纬度。
 3 var hkPoint = geometry2; 
 4 // Center the map at that point. 
 5 Map.centerObject(hkPoint, 16); 
 6 
 7 // filter the large ImageCollection to be just images from 2020 
 8 // around Lisbon. From each image, select true-color bands to draw 
 9 var filteredIC = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA') 
10     .filterBounds(hkPoint) 
11     .filterDate('2023-01-01', '2024-01-01') 
12     .select(['B6', 'B5', 'B4']); 
13 print(filteredIC);
14 //查看筛选了多少张影像 
15 print('筛选后影像集合包含的影像张数:', filteredIC.size());
16 
17 // Add the filtered ImageCollection so that we can inspect values 
18 // via the Inspector tool 
19 Map.centerObject(filteredIC, 9);
20 Map.addLayer(filteredIC, {}, 'TOA image collection');

 

1 // Construct a chart using values queried from image collection. 
2 var chart = ui.Chart.image.series({ 
3     imageCollection: filteredIC, 
4     region: hkPoint, 
5     reducer: ee.Reducer.first(), 
6     scale: 10 
7 }); 
8 // Show the chart in the Console. 
9 print(chart);

 二、How many Images are there,everywhere on earth?

2.1 代码

 1 // compute and show the number of observations in an image collection 
 2 var count = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA') 
 3     .filterDate('2020-01-01', '2021-01-01') 
 4     .select(['B6']) 
 5     .count(); 
 6 print(count);
 7 // add white background and switch to HYBRID basemap 
 8 Map.addLayer(ee.Image(1), { palette: ['white'] }, 'white', true, 0.5); 
 9 Map.setOptions('HYBRID'); 
10 // show image count 
11 Map.addLayer(count, { 
12     min: 0, 
13     max: 50, 
14     palette: ['d7191c', 'fdae61', 'ffffbf', 'a6d96a', '1a9641'] 
15     }, 'landsat 8 image count (2020)'); 
16 // Center the map at that point. 
17 Map.centerObject(hkPoint, 5);

作用:可以查看某段时间内,某个地区某种传感器的影像覆盖的数量。

 可以看到红色箭头的地方B6波段有20个,说明2020年覆盖此区域的Landsat8影像有20景。

三、波段值

ee.Reducer.madian()

ee.Reducer.mean()

3.1 代码

 1 // Zoom to an informative scale for the code that follows. 
 2 Map.centerObject(hkPoint, 10); 
 3 // Add a mean composite image. 
 4 var meanFilteredIC = filteredIC.reduce(ee.Reducer.mean()); 
 5 print('meanFilteredIC',meanFilteredIC);
 6 Map.addLayer(meanFilteredIC, {}, 'Mean values within image collection'); 
 7 
 8 // Add a median composite image. 
 9 var medianFilteredIC = filteredIC.reduce(ee.Reducer.median()); 
10 print('medianFilteredIC',medianFilteredIC);
11 Map.addLayer(medianFilteredIC, {}, 'Median values within image collection'); 

mean:计算同一区域筛选的19景影像的平均值,即同一个像素处,19个值的平均值。

median:计算同一区域筛选的19景影像的中位数,即同一个像素处,19个值的中位数。

 ee.Reducer.madian()以及ee.Reducer.mean()之后,同一区域的19个影像集合ImageCollection 变成了单景影像Image。

 

四、Compute Multiple Percentile Images for an Image Collection

ee.Reducer.percentile()

4.1 作用

主要目的和应用

  • 理解数据分布:计算百分位数可以帮助你了解数据集中的数据分布情况,例如了解某个变量的中值(50th百分位)或者其他任何位置的分布情况。

  • 降噪和减少极值影响:通过集中于中位数(50th百分位)或其他百分位数(如25th或75th),可以减少极端值对分析的影响,从而在一定程度上降低数据的噪声。

  • 比较不同时间或地点:通过计算不同时间段或不同地理区域的百分位数,可以比较和评估变化趋势,例如气候变化研究中的温度或降水量变化。

  • 变化检测和趋势分析:在环境监测和资源管理中,利用百分位数来识别变化趋势或异常事件,如洪水、干旱等。

4.2 代码

1 // compute a single 30% percentile 
2 var p30 = filteredIC.reduce(ee.Reducer.percentile([30])); 
3 print('p30',p30);
4 Map.addLayer(p30, { min: 0.05, max: 0.35 }, '30%');

 

不是很懂。。。。

 再学习一下:https://download.csdn.net/blog/column/12161062/130162358

 

posted on 2024-03-14 16:43  百里屠苏top  阅读(39)  评论(0编辑  收藏  举报