Google Earth Engine(GEE)——Join连接的案例分析

简介: Google Earth Engine(GEE)——Join连接的案例分析

联接用于根据 指定的条件组合来自不同集合(例如ImageCollectionFeatureCollection)的元素 ee.Filter。过滤器是用每个集合中彼此相关的属性的参数构造的。具体来说, leftField指定与次要集合中的 相关的主要集合中的属性rightField。过滤器的类型(例如 equalsgreaterThanOrEqualslessThan等)指示字段之间的关系。连接的类型指示集合中元素之间的一对多或一对一关系以及要保留的匹配项数。联接的输出由join.apply()联接的类型产生并且将根据联接的类型而变化。


简单连接根据过滤器中的匹配条件从primary集合中返回与集合中任何元素匹配的元素secondary。要执行简单连接,请使用ee.Join.simple(). 这对于查找不同集合之间的公共元素或通过另一个集合过滤一个集合可能很有用。例如,考虑两个(可能)具有一些匹配元素的图像集合,其中“匹配”由过滤器中指定的条件定义。例如,让匹配意味着图像 ID 相等。由于两个集合中的匹配图像相同,因此使用简单的连接来发现这组匹配图像:

函数:


ee.Filter.equals(leftField, rightValue, rightField, leftValue)

创建一个一元或二元过滤器,如果两个操作数相等则该过滤器通过。

Creates a unary or binary filter that passes if the two operands are equals.


Arguments:

leftField(字符串,默认值:null):
左操作数的选择器。如果指定了 leftValue,则不应指定。
rightValue(对象,默认值:null):
右操作数的值。如果指定了 rightField,则不应指定。
rightField(字符串,默认值:null):
右操作数的选择器。如果指定了 rightValue,则不应指定。
leftValue(对象,默认值:null):
左操作数的值。如果指定了 leftField,则不应指定。


leftField (String, default: null):

A selector for the left operand. Should not be specified if leftValue is specified.

rightValue (Object, default: null):

The value of the right operand. Should not be specified if rightField is specified.

rightField (String, default: null):

A selector for the right operand. Should not be specified if rightValue is specified.

leftValue (Object, default: null):

The value of the left operand. Should not be specified if leftField is specified.


Returns: Filter

ee.Join.simple()

返回一个连接,该连接生成与辅助集合的任何元素匹配的主集合的元素。结果中没有添加任何属性.

Returns a join that produces the elements of the primary collection that match any element of the secondary collection. No properties are added to the results.


No arguments.

Returns: Join

代码:

// 在兴趣点加载 Landsat 8 图像集合。
var collection = ee.ImageCollection('LANDSAT/LC08/C01/T1_TOA')
    .filterBounds(ee.Geometry.Point(-122.09, 37.42));
// 定义过滤集合的开始和结束日期。
var april = '2014-04-01';
var may = '2014-05-01';
var june = '2014-06-01';
var july = '2014-07-01';
//第一部分影像 4 月至 6 月的 Landsat 图像集合。
var primary = collection.filterDate(april, june);
// 第二部分影像集合是 5 月至 7 月的 Landsat 图像。
var secondary = collection.filterDate(may, july);
// 使用 equals 过滤器来定义集合的匹配方式。这里用的是系统的指针
var filter = ee.Filter.equals({
  leftField: 'system:index',
  rightField: 'system:index'
});
// 创建连接
var simpleJoin = ee.Join.simple();
// 应用连接
var simpleJoined = simpleJoin.apply(primary, secondary, filter);
// 展示结果
print('Simple join: ', simpleJoined);


结果:


在前面的示例中,观察要加入的集合在时间上重叠了大约一个月。请注意,应用此连接时,输出将是 ImageCollection仅包含primary 集合中匹配图像的图像。输出应该类似于:


此输出显示两个图像在primarysecondary集合之间匹配(如过滤器中指定的那样) ,即年中第 125 天和 141 天或 5 月 5 日和 5 月 21 日的图像。



相关文章
|
6月前
|
数据可视化 定位技术 Sentinel
如何用Google Earth Engine快速、大量下载遥感影像数据?
【2月更文挑战第9天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,批量下载指定时间范围、空间范围的遥感影像数据(包括Landsat、Sentinel等)的方法~
2345 1
如何用Google Earth Engine快速、大量下载遥感影像数据?
|
2月前
|
JavaScript 前端开发 测试技术
一个google Test文件C++语言案例
这篇文章我们来介绍一下真正的C++语言如何用GTest来实现单元测试。
17 0
|
2月前
|
XML JavaScript 前端开发
一个google Test文件案例
一个google Test文件案例
15 0
|
6月前
|
机器学习/深度学习 自然语言处理 对象存储
[wordpiece]论文分析:Google’s Neural Machine Translation System
[wordpiece]论文分析:Google’s Neural Machine Translation System
80 1
|
6月前
|
存储 编解码 数据可视化
Google Earth Engine获取随机抽样点并均匀分布在栅格的不同数值区中
【2月更文挑战第14天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,按照给定的地表分类数据,对每一种不同的地物类型,分别加以全球范围内随机抽样点自动批量选取的方法~
525 1
Google Earth Engine获取随机抽样点并均匀分布在栅格的不同数值区中
|
6月前
|
机器学习/深度学习 数据采集 数据可视化
R语言Pearson相关性分析降雨量和“外卖”谷歌搜索热度google trend时间序列数据可视化
R语言Pearson相关性分析降雨量和“外卖”谷歌搜索热度google trend时间序列数据可视化
|
6月前
|
数据可视化 搜索推荐 数据挖掘
R语言Pearson相关性分析就业率和“性别平等”谷歌搜索热度google trend时间序列数据可视化
R语言Pearson相关性分析就业率和“性别平等”谷歌搜索热度google trend时间序列数据可视化
|
6月前
|
数据可视化 数据挖掘 数据建模
R语言指数平滑法holt-winters分析谷歌Google Analytics博客用户访问时间序列数据
R语言指数平滑法holt-winters分析谷歌Google Analytics博客用户访问时间序列数据
|
6月前
|
编解码 人工智能 算法
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
84 0
|
6月前
|
编解码 人工智能 数据库
Google Earth Engine(GEE)——全球道路盘查项目全球道路数据库
Google Earth Engine(GEE)——全球道路盘查项目全球道路数据库
126 0