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’ 等。
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 这段代码是在geemap中设置地图视图的中心点。具体来说,可以将视图中心点设置为TIGER/2018/States特征集合中编号为'ND'的州(North Dakota)的位置,并将缩放级别设置为8。这样就可以在地图上聚焦于North Dakota州的位置,以便更好地查看和分析该地区的地理信息数据。 ### 回答2: 在geemap中,Map.centerObject()是一个函数,它用于设置地图显示的中心点和缩放级别。这个函数以一个地理对象作为参数,该地理对象可以是地理特征集合、图像集合或特定位置的地理坐标。 在给定的示例中,Map.centerObject()函数的参数是一个使用TIGER/2018/States数据集过滤出的地理特征集合。该数据集是美国国家地理信息数据库中的一部分,包含有关美国各州边界的信息。通过使用ee.Filter.eq()函数,我们指定了一个筛选条件,即只选择州缩写为'ND'(诺斯达科他州)的地理特征。 函数的第二个参数是缩放级别,它决定了地图在显示时的大小。在这个例子中,缩放级别为8,表示地图以较高的缩放级别显示诺斯达科他州的边界,使该州的边界更加清晰可见。 因此,Map.centerObject(ee.FeatureCollection('TIGER/2018/States').filter(ee.Filter.eq('STUSPS', 'ND')), 8)的意思是在地图上以指定的缩放级别显示诺斯达科他州的边界。 ### 回答3: 在geemap中,Map.centerObject()是一个用于在地图上居中显示图像或矢量数据集的函数。在这里,Map.centerObject(ee.FeatureCollection('TIGER/2018/States').filter(ee.Filter.eq('STUSPS', 'ND')), 8)表示将地图的视图居中于一个名为'TIGER/2018/States'的美国行政区域边界矢量数据集中,且这个数据集被过滤为只包含'STUSPS'属性值等于'ND'(代表北达科他州)的特征集合。数字8代表地图缩放级别,可以调整为合适的值以适应所显示的区域的大小。最终效果是地图将以适当的缩放级别居中显示北达科他州的边界。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

海绵波波107

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

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

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

打赏作者

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

抵扣说明:

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

余额充值