이미지 수집에 대한 축소 Google Earth Engine

Sep 09 2020

특정 시간 프레임 내에서 평균, 중앙값, 최소 및 최대 강수량을 도출하기 위해 CHIRPS 데이터 세트 (일일 강수량)를 사용하고 있습니다. 그런 다음 포인트 shapefile에 포함 된 특정 위치의 값을 추출하여 결과를 테이블에 저장하고 싶습니다. 스크립트가 작동하는 것처럼 보이지만 중앙값에 대한 출력은 값으로 0을 반환합니다. 아래 스크립트를 참조하십시오

var lat = 34.35;
var point = ee.Geometry.Point(lat, lng); 
//var aoi = point.buffer(100000); // Create an area (1km buffer around point)
var country = ee.FeatureCollection('USDOS/LSIB_SIMPLE/2017')
.filter(ee.Filter.eq('country_co', 'AF'));
var aoi = country;

Map.setCenter(lng, lat, 5); // Center the map on this location, zoom level 10

var start = '2018-02-15'; // initial date of the image collection
var end = '2018-07-15'; //final date of the image collection

var p1 = ee.Geometry.Point([69.78086, 34.65411])
var p2 = ee.Geometry.Point([61.82234, 30.66048])
var table = ee.FeatureCollection(ee.List([ee.Feature(p1),ee.Feature(p2)]))

var dataset = ee.ImageCollection('UCSB-CHG/CHIRPS/DAILY')
    .filterDate(start, end)
    .filterBounds(aoi);
    
var PrMean = dataset.mean().rename('PrMean');

var PrMedian = dataset.median().rename('PrMedian');

var PrMin = dataset.min().rename('PrMin');

var PrMax = dataset.max().rename('PrMax');

var composites = PrMean
      .addBands(PrMedian)
      .addBands(PrMin)
      .addBands(PrMax);
  

var YieldLocations = ee.FeatureCollection(table);

var YPrec = composites.reduceRegions(YieldLocations, ee.Reducer.max(), 1);

print(YPrec);```

답변

2 JepsonNomad Sep 09 2020 at 08:09

코드가 예상대로 작동하는 것 같습니다. 스크립트 하단에 다음 차트를 추가해보세요.

var chart = ui.Chart.image.seriesByRegion({
    imageCollection: dataset,
    regions: YieldLocations,
    reducer: ee.Reducer.mean()
    }).setOptions({
      interpolateNulls: true,
      lineWidth: 1,
      pointSize: 3,
      title: 'Precip over Time',
      colors: ["ff0000","0000ff"],
      vAxis: {title: 'Precip'},
      hAxis: {title: 'Date', format: 'YYYY-MMM', gridlines: {count: 12}}
    });
print(chart);

두 지점에 대한 대부분의 강수량 데이터가 0에 해당하는 것을 볼 수 있습니다. 값의 절반 이상이 0이므로 중앙값은 0입니다 (예 : 시리즈 0,0,0,0,0,0, 1,3,5,8 평균은 1.7이지만 중앙값은 0입니다).