Google Earth Engine의 LARGE 지역에 대한 요약 통계
남미의 NDVI 값을 줄이는 데 문제가 있습니다. 픽셀 스케일을 매우 큰 수로 늘려 해상도를 잃지 않고이 대륙 (단일 값)에 대한 평균 NDVI가 무엇인지 알고 싶습니다. 내 생각은 더 작은 영역을 만든 다음 사전을 만들고 그리드에서 수단의 평균을 취할 수있는 일종의 그리드를 배치하려고했습니다. 내 논리가 여기에서 완전히 건전한 지 확실하지 않지만 괜찮은 길을 가고 있기를 바랍니다. GEE가이 작업을 수행 할 수 있습니까? 그렇다면이 작업을 단순화하는 함수를 만드는 방법이 있습니까?
이 코드는 명백한 이유로 작동하지 않습니다. 시스템 시간 초과 및 메모리 제한.
var sam_mean = fit_year_ndvi.clip(sam).reduceRegion({
reducer: ee.Reducer.mean(),
geometry: sam,
scale: 1000,
maxPixels: 1e12
});
내 링크는 다음과 같습니다. https://code.earthengine.google.com/b8486d4ef347cde7555614254b143ec7
내 자산 링크는 다음과 같습니다. https://code.earthengine.google.com/?asset=users/anna_odell/continents
답변
내 생각은 더 작은 영역을 만든 다음 사전을 만들고 그리드에서 수단의 평균을 취할 수있는 일종의 그리드를 배치하려고했습니다.
이것은 필요하지 않습니다. Earth Engine은 reduceRegion
효율적으로 계산하기 위해 이미 작업을 세분화합니다 . 그러나 완료하는 데 더 많은 시간이 필요할 수 있습니다. 이에 대한 해결책은 작업을 배치 (내보내기) 작업으로 실행하는 것입니다. 최종 결과가 더 복잡한 데이터가 아닌 숫자 일 경우 기능 안에 넣어 내보낼 수 있습니다.
var collection_for_export = ee.FeatureCollection([
ee.Feature(null, {'sam_mean': sam_mean})
]);
Export.table.toDrive({
collection: collection_for_export,
fileFormat: 'CSV',
});
또한 다음이 있음을 알았습니다.
var sam_mean = fit_year_ndvi.clip(sam).reduceRegion({
geometry: sam,
...
가 .clip(sam)
있기 때문에 불필요 reduceRegion
이미에만 지정된 지역에 운영하고, 따로 클리핑 어떤 혜택없이 추가 계산을 할 것입니다.