Джи: Reducerions () и SamplereGions () возвращает нулевые значения для определенных геометрийJavascript

Форум по Javascript
Ответить
Anonymous
 Джи: Reducerions () и SamplereGions () возвращает нулевые значения для определенных геометрий

Сообщение Anonymous »

Я совершенно новичок в работе со спутниковыми данными и двигателем Google Earth (GEE). Я работаю над использованием их моделей навыков машины для обучения классификатора. Затем я попытался понять некоторые региональные статистики, используя функцию Reducerions () для расчета средней температуры и солености воды. Br /> Вот фрагмент кода функциональности: < /p>

Код: Выделить всё

var mariculture_regions = classified_threshold.selfMask();
var region_features = [
ee.Feature(AOI_Saul, {region: 'Sual'}),
ee.Feature(AOI_Burgos, {region: 'Burgos'}),
ee.Feature(AOI_Ormoc, {region: 'Ormoc'}),
ee.Feature(AOI_Balingasag, {region: 'Balingasag'}),
ee.Feature(AOI_Panabo, {region: 'Panabo'})
];
var all_regions = ee.FeatureCollection(region_features);
var mariculture_geometries = all_regions.filterBounds(mariculture_regions.geometry());

/*
Extract water temperature and salinity at 2m depth for mariculture sites.
*/
var sea_temp_salinity = hycom_sea_temp_salinity
.filter(ee.Filter.date('2024-01-01', '2024-01-15'))
.filter(ee.Filter.bounds(all_regions));
var seaWaterTemperature = sea_temp_salinity.select('water_temp_2')
.map(function scaleAndOffset(image) {
return ee.Image(image).multiply(0.001).add(20);
}).first();
var seaSalinity = sea_temp_salinity.select('salinity_2')
.map(function scaleAndOffset(image) {
return ee.Image(image).multiply(0.001).add(20);
}).first();

var mariculture_water_stats = mariculture_regions.addBands(seaWaterTemperature, ['water_temp_2']).addBands(seaSalinity, ['salinity_2']);

var stats = mariculture_water_stats.sampleRegions({
collection: mariculture_geometries,
scale: 10,
geometries: true
});

var mariculture_means = mariculture_water_stats.select(['water_temp_2', 'salinity_2']).reduceRegions({
collection: mariculture_geometries.limit(1000),
reducer: ee.Reducer.mean(),
scale: 10,
tileScale: 16
});

print(mariculture_means);
print(stats)
В идеале я должен иметь возможность получить данные о температуре и солености воды для всех регионов. Однако и функция «duceRegions()», и «sampleRegions()» возвращают только средние значения для региона «Sual».
Я безуспешно пытался выполнить следующие действия:
  • Добавление преобразований CRS, tileScale, bestEffort.
  • Изменение порядка регионов.
  • Использование сокращенияRegion () для каждого региона индивидуально.
Во всех вышеперечисленных случаях действительно только среднее значение для «Sual», а остальные равны нулю.
Я весьма озадачен относительно того, где я ошибся в своем коде.

Подробнее здесь: https://stackoverflow.com/questions/793 ... in-geometr
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»