问题:
我有两个具有相同 ID 的特征集,我想从第二个特征集中减去第一个特征集的表格单元格。
我使用了这个函数,但它计算的是表 1 中第一个元素与表 2 中其他元素的减法。
我想逐个单元格计算减法。第一个表格中 id 为 1 的单元格减去第二个表格中 id 为 1 的单元格,2x2、3x3...
有人能帮我完成这项任务吗?
var result = falsealarms.map(function(falsealarms){
var idb = falsealarms.get('id');
var valuea = omission.filter(ee.Filter.eq('id', idb)).first().get('count');
var resultvalue = ee.Number(falsealarms.get('count')).subtract(valuea);
return omission.set('result', resultvalue)
});
使用它们旨在从两个集合中查找匹配的元素。
函数
ee.Join.saveFirst(matchKey, ordering, ascending, measureKey, outer)
Returns a join that pairs each element from the first collection with a matching element from the second collection. The first match is added to the result as an additional property.
Arguments:
matchKey (String):
The property name used to save the match.
ordering (String, default: null):
The property on which to sort the matches before selecting the first.
ascending (Boolean, default: true):
Whether the ordering is ascending.
measureKey (String, default: null):
An optional property name used to save the measure of the join condition on the match.
outer (Boolean, default: false):
If true, primary rows without matches will be included in the result.
Returns: Join
apply(primary, secondary, condition)
Joins two collections.
Arguments:
this:join (Join):
The join to apply; determines how the the results are constructed.
primary (FeatureCollection):
The primary collection.
secondary (FeatureCollection):
The secondary collection.
condition (Filter):
The join condition used to select the matches from the two collections.
Returns: FeatureCollection
原始代码:
//define the study area
var roi = roi.filter(ee.Filter.inList('Nomencl', ['SH-21-X-D']));
Map.centerObject(roi, 10)
Deforestation Mapbiomas/
//Select the t mapbiomas land use classification
var mabiomas_t = ee.Image('projects/mapbiomas-workspace/public/collection8/mapbiomas_collection80_integration_v1')
.clip(roi)
.select('classification_2000');
// create a list of land use classes from the classification
var fromList = [3, 4, 5, 6, 49, 11, 12, 50, 32, 29, 13, 15, 18, 19, 39, 20, 40, 62, 41, 36, 46, 47, 35, 48, 9, 21, 23, 24, 30, 25, 33, 31, 27];
// A corresponding list of replacement values
var toList = [1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2];
// performs the reclassification
var t_remap = mabiomas_t.remap({
from: fromList,
to: toList,
defaultValue: 0,
bandName: 'classification_2000'
}).reproject('EPSG:4326', null, 30);
//Map.addLayer(t_remap)
//Select the vegetation land use class
var veg_class_t = t_remap.eq(1)
//Map.addLayer(veg_class_t, null, 'veg_class_mapbiomas')
//Select the t + 1 mapbiomas land use classification
var mapbiomas_t1 = ee.Image('projects/mapbiomas-workspace/public/collection8/mapbiomas_collection80_integration_v1')
.clip(roi)
.select('classification_2020');
var fromList = [3, 4, 5, 6, 49, 11, 12, 50, 32, 29, 13, 15, 18, 19, 39, 20, 40, 62, 41, 36, 46, 47, 35, 48, 9, 21, 23, 24, 30, 25, 33, 31, 27];
// A corresponding list of replacement values
var toList = [10, 10, 10, 10, 10, 10, 10, 10, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,