在 Google Earth Engine 中与另一个要素集合合并时保留要素集合属性
Keeping feature collection properties when merging with another feature collection in Google Earth Engine
我是 Google Earth Engine 的新用户,虽然我有一些使用 R 编写代码的经验。我正在尝试合并几个具有相同 属性 标签的 ee.FeatureCollections,如下面使用树的简短示例所示。
我首先定义了两个特征集合(随机点,只是为了说明问题),为每个特征集合设置两个属性:一个 'type' 和一个具有关联值的 'status' 标签。
var trees = ee.FeatureCollection(ee.Geometry.Point([-122.22599, 37.17605])).set('type','Sycamore').set('status', 'dead');
var trees2 = ee.FeatureCollection(ee.Geometry.Point([-125.3456, 38.16578])).set('type','Aspen').set('status','alive');
然后我合并两个特征集合:
var treesMerge = trees1.merge(trees2);
但是,当我打印合并的集合时,与每个特征关联的属性并没有从各个特征集合中继承:
print(trees1); print(trees2); print(treesMerge);
有没有办法合并保留这些属性的特征集合?
您写了 ee.FeatureCollection(...).set('type','Sycamore').set('status', 'dead')
,它没有为单个要素设置属性,而是为 集合作为一个整体设置属性 。 .merge()
不会保留这些属性,但这没什么大不了的,因为如果需要,复制它们很容易。
如果您设置属性 对个别特征 ,那么 .merge()
将保留它们。
var trees1 = ee.FeatureCollection([
ee.Feature(ee.Geometry.Point([-122.22599, 37.17605]))
.set('type', 'Sycamore')
.set('status', 'dead')
]);
var trees2 = ee.FeatureCollection([
// This is equivalent to using .set()
ee.Feature(
ee.Geometry.Point([-125.3456, 38.16578]),
{'type': 'Aspen', 'status': 'alive'}
)
]);
var treesMerge = trees1.merge(trees2);
print(trees1);
print(trees2);
print(treesMerge);
我是 Google Earth Engine 的新用户,虽然我有一些使用 R 编写代码的经验。我正在尝试合并几个具有相同 属性 标签的 ee.FeatureCollections,如下面使用树的简短示例所示。
我首先定义了两个特征集合(随机点,只是为了说明问题),为每个特征集合设置两个属性:一个 'type' 和一个具有关联值的 'status' 标签。
var trees = ee.FeatureCollection(ee.Geometry.Point([-122.22599, 37.17605])).set('type','Sycamore').set('status', 'dead');
var trees2 = ee.FeatureCollection(ee.Geometry.Point([-125.3456, 38.16578])).set('type','Aspen').set('status','alive');
然后我合并两个特征集合:
var treesMerge = trees1.merge(trees2);
但是,当我打印合并的集合时,与每个特征关联的属性并没有从各个特征集合中继承:
print(trees1); print(trees2); print(treesMerge);
有没有办法合并保留这些属性的特征集合?
您写了 ee.FeatureCollection(...).set('type','Sycamore').set('status', 'dead')
,它没有为单个要素设置属性,而是为 集合作为一个整体设置属性 。 .merge()
不会保留这些属性,但这没什么大不了的,因为如果需要,复制它们很容易。
如果您设置属性 对个别特征 ,那么 .merge()
将保留它们。
var trees1 = ee.FeatureCollection([
ee.Feature(ee.Geometry.Point([-122.22599, 37.17605]))
.set('type', 'Sycamore')
.set('status', 'dead')
]);
var trees2 = ee.FeatureCollection([
// This is equivalent to using .set()
ee.Feature(
ee.Geometry.Point([-125.3456, 38.16578]),
{'type': 'Aspen', 'status': 'alive'}
)
]);
var treesMerge = trees1.merge(trees2);
print(trees1);
print(trees2);
print(treesMerge);