ee.FeatureCollection类及函数说明

简介

ee.FeatureCollection 是 Google Earth Engine (GEE) 中表示矢量数据集合的对象。它可以包含多个 ee.Feature 对象,每个 ee.Feature 对象代表矢量数据中的一个要素,比如点、线、面等。

以下是一个简单的示例,说明如何创建一个 ee.FeatureCollection 对象:

// 创建一个点特征
var point1 = ee.Geometry.Point([-122.082, 37.42]);
// 为点特征添加属性
var feature1 = ee.Feature(point1, {'name': 'Point 1'});

// 创建另一个点特征
var point2 = ee.Geometry.Point([-122.081, 37.426]);
// 为点特征添加属性
var feature2 = ee.Feature(point2, {'name': 'Point 2'});

// 创建 FeatureCollection 对象并添加特征
var featureCollection = ee.FeatureCollection([feature1, feature2]);

// 打印 FeatureCollection 对象
print('Feature Collection:', featureCollection);

在这个示例中,我们首先创建了两个点要素 (ee.Feature),每个点要素代表一个点,并且为每个点要素添加了一个属性。然后,我们使用 ee.FeatureCollection() 函数创建了一个 ee.FeatureCollection 对象,并将这两个点要素作为参数传递给该函数,从而形成了一个包含两个点要素的特征集合。

在实际应用中,ee.FeatureCollection 可以用于存储和处理各种矢量数据,如点、线、面、多边形等。它提供了许多方法来对特征集合进行操作和分析,比如筛选、合并、转换坐标系等。

函数说明

ee.Feature()

在 Google Earth Engine 中,ee.Feature() 是用于创建特征对象的构造函数。它可以用来定义各种类型的要素,例如点、线、面等,并可以附加属性信息。

var feature = ee.Feature(geometry, properties);

geometry 参数是一个表示几何形状的 ee.Geometry 对象,可以是点、线、面等。
properties 参数是一个表示属性信息的 JavaScript 对象,包含要素的属性和对应的值。
例如,创建一个点要素并为其添加一个属性:

// 创建一个点几何对象
var point = ee.Geometry.Point([-122.082, 37.42]);

// 创建特征并添加属性
var feature = ee.Feature(point, {
  'name': 'Sample Point',
  'value': 10
});

// 打印特征对象
print('Feature:', feature);

这将创建一个名为 ‘Sample Point’ 的点要素,该要素位于经度 -122.082,纬度 37.42 的位置,并且具有两个属性:‘name’ 和 ‘value’。

应用

ee.Feature(point,{
    'Zn': value
  });

需要将Feature转化为FeatureCollection

var samplesFC = ee.FeatureCollection(samples);

ee.FeatureCollection.randomPoints()

应用

randomData = ee.FeatureCollection.randomPoints(**{
  'region':roi,
  'points':6000
});

生成的randomData是一个包含6000个随机点的FeatureCollection,每个点都是一个ee.Feature对象,带有其所在位置的几何信息。
在Python中,** 符号表示参数解包。当您在函数调用中使用**符号时,它会将一个字典作为关键字参数传递给函数。这允许您将字典中的键和值解包为函数的关键字参数和参数值。

在您提供的代码中,** 符号被用于将一个字典传递给ee.FeatureCollection.randomPoints()函数作为关键字参数。这个字典包含两个关键字参数:

‘region’:指定感兴趣的区域。
‘points’:指定要生成的随机点的数量。
因此,** 符号的作用是将这些关键字参数传递给函数。

对象.map()

应用于FeatureCollection中,对于每一个feature进行函数处理

应用

var samples = csvTable.map(function(feature) {
  var longitude = ee.Number(feature.get('POINT_X')); // 获取经度信息
  var latitude = ee.Number(feature.get('POINT_Y')); // 获取纬度信息
  var value = ee.Number(feature.get('Zn')); // 获取值属性
  var point = ee.Geometry.Point([longitude, latitude]); // 创建点几何对象
  return ee.Feature(point,{
    'Zn': value
  });
});

对象.get()

在Google Earth Engine 中,ee.FeatureCollection 是一个类,它具有一些方法可以用于对特征集合进行操作。.get() 方法不是直接用于 ee.FeatureCollection 对象的,而是用于 ee.Feature 对象和 ee.Dictionary 对象的。

对象.kriging()

在 Google Earth Engine 中,.kriging() 是 ee.FeatureCollection 对象的一个方法,用于进行克里金插值。克里金插值是一种空间插值方法,用于从离散的点样本数据推断出整个空间的连续性场景。在 GEE 中,该方法的语法如下:

var interpolated = featureCollection.kriging(options);

featureCollection 是一个包含点特征的 ee.FeatureCollection 对象,其中每个点特征都代表一组采样点数据。

  • options 是一个包含克里金插值所需参数的对象,它们可以包括以下参数:
  • propertyName:指定要插值的属性名称。
  • shape:指定克里金模型的形状参数,可以是 ‘linear’、‘exponential’ 或 ‘spherical’。
  • range:指定克里金模型的范围参数,表示样本点之间的空间自相关性。
  • sill:指定克里金模型的 sill 参数,表示插值的空间变异的上限。
  • nugget:指定克里金模型的 nugget 参数,表示插值的空间变异的下限。
  • maxDistance:指定最大距离参数,表示用于插值的最大样本点之间的距离。
  • reducer:指定用于减少样本点的 reducer,可以是 ‘mean’、‘median’ 等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海绵波波107

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值