Google Earth Engine:使用矢量几何的join操作

GEE 专栏收录该内容
¥59.90 ¥99.00
82篇文章

介绍

Google Earth Engine(GEE)是一个强大的云平台,用于进行地理空间数据分析和处理。它提供了丰富的卫星影像和地理数据集,以及一套功能强大的分析工具。在GEE中,可以使用矢量几何的join操作来将不同数据集中的要素进行关联。本文将介绍如何使用GEE的矢量几何的join操作,并提供相应的源代码示例。

矢量几何的join操作

矢量几何的join操作是将两个矢量数据集中的要素进行匹配和关联的过程。在GEE中,可以使用空间关系(例如相交、包含等)来进行join操作。这对于将不同数据集中的要素进行关联分析非常有用。

在GEE中,使用ee.Join对象进行矢量几何的join操作。ee.Join对象提供了多种join方法,例如inner()(内连接)、left()(左连接)和saveAll()(保存所有匹配结果)等。

源代码示例

下面是一个使用GEE进行矢量几何的join操作的示例代码:

// 导入矢量数据集
var cities = ee.FeatureCollection
GEE实战:用CHIRPS数据批量下载中国区域1993-2023年逐年降水量(附完整代码) 本文详细介绍了如何使用Google Earth Engine(GEE)平台批量下载中国区域1993-2023年的CHIRPS降水量数据。通过完整的代码示例和优化策略,帮助研究人员高效获取高分辨率降水数据,适用于气候变化、农业干旱等研究领域。 阅读详情

相关推荐

随机森林在农业遥感中的实战应用:从GEE数据到变量施肥处方图

随机森林是一种基于决策树集成的机器学习算法,其核心原理是通过自助采样(bagging)和特征子集随机选择实现高鲁棒性与天然可解释性。相比深度学习或梯度提升模型,它对缺失值、异常值和混合类型特征具有强适应能力,特别适合农业场景中普遍存在的稀疏采样、多源异构、低信噪比等‘不完美数据’。该技术已广泛应用于作物产量预测、氮肥推荐、长势监测等智慧农艺环节,并能输出特征重要性排序,支撑农技决策。本文聚焦于结合Google Earth Engine遥感数据处理与随机森林建模的端到端落地流程,覆盖地理空间切块、时间感知分割

weixin_30607029的博客 373

Google Earth Engine(GEE)——空间连接以美国州界限和发电厂案例分析

集合可以通过空间位置以及属性值进行连接。要基于空间位置进行连接,请使用指定withinDistance()了.geo连接字段的过滤器。该.geo字段指示项目的几何图形将用于计算距离度量。例如,考虑查找美国优胜美地国家公园 100 公里范围内的所有发电厂的任务。为此,在几何字段上使用过滤器,使用distance参数将最大距离设置为 100 公里: 先看函数: ee.Filter.withinDistance(distance,leftField,rightValue,rightField,l...

此星光明博客 765

Google Earth Engine(GEE)——join连接在GEE中的应用(同一sentinel-2影像集合)含滑动窗口平滑影像过程

如果指定了 measureKey,则每个匹配项都附加了其连接度量的值。获取匹配项 ee.Join.saveFirst()、ee.Join.saveBest()、ee.Join.saveAll()按几何 ee.Filter.withinDistance()、ee.Filter.intersects()、...过滤项目。保留匹配/不匹配项 ee.Join.simple(), ee.Join.inverted()如果指定了 leftField,则不应指定。一个可选的属性名称,用于保存每个匹配项的连接条件的度量。

此星光明博客 1684

Google Earth Engine(GEE)——矢量几何的join.saveAll()使用

orderingascendingmeasureKeyouter返回一个连接,将第一个集合中的每个元素与第二个集合中的一组匹配元素配对。匹配的列表作为一个额外的属性被添加到每个结果中。如果指定了measureKey,每个匹配的元素都有它的连接度量的值。当withinDistance或maxDifference过滤器被用作连接条件时,会产生连接措施。

此星光明博客 255

Google Earth Engine(GEE)——矢量几何的join使用

函数: ee.Filter.equals(leftField,rightValue,rightField,leftValue) Creates a unary or binary filter that passes if the two operands are equals. 创建一个单数或双数过滤器,如果两个操作数相等,则通过。 Arguments: leftField (String, default: null): A selector for the left ope...

此星光明博客 757

Google Earth Engine(GEE)——join连接的建立

本次学习一个方法,就 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

此星光明博客 603

Google Earth Engine(GEE)——矢量数据集合和影像集合的连接join,给矢量集合添加到两景影像作为矢量集合的属性

本次教程主要是加载一个矢量集合,然后通过设定指定的时间条件和地理条件,和指定的时间窗口进行筛选应用于Landsat8 影像,最后将筛选出的影像加载到矢量集合中。创建一个一元或二元筛选器,如果左侧几何体在右侧几何体的指定距离内,则该筛选器将通过。如果指定了 leftValue,则不应指定。如果指定了 leftValue,则不应指定。如果指定了 rightField,则不应指定。如果指定了 rightField,则不应指定。如果指定了 leftField,则不应指定。如果指定了 left 值,则不应指定。

此星光明博客 123

Google Earth Engine(GEE)——两个矢量集合之间的连接,合并为一个矢量集合

这个美国人口普查局 TIGER 数据集包含 2016 年版本的所有路段,其中包含超过 1900 万个单独的线要素,涵盖美国、哥伦比亚特区、波多黎各和岛屿地区。红色波段为主要干道的划分,这里使用的是rttyp道路。该数据集包含 2010 年的人口普查街区,大致相当于一个城市街区。创建一个一元或二元筛选器,如果左侧几何体在右侧几何体的指定距离内,则该筛选器将通过。返回一个连接,该连接产生与辅助集合的任何元素匹配的主集合的元素。如果指定了 left 字段,则不应指定该值。如果指定了 left 值,则不应指定。

此星光明博客 28

Google Earth Engine(GEE)中实现数据连接与合并的方法

在Google Earth Engine(GEE)平台上,数据连接与合并是非常重要的操作,它可以帮助我们整合和分析不同数据集之间的关系。在连接过程中,我们需要指定连接类型,可以选择内连接(inner)、左连接(left)、右连接(right)或外连接(outer)。在这个例子中,我们将使用两个数据集:一个包含有关城市人口的矢量数据集,另一个包含有关城市空气质量的栅格数据集。接下来,我们将选择一个连接字段,该字段将用于在两个数据集之间建立连接。完成连接后,我们可以进一步分析和处理连接后的数据。

VwajAlgorithm的博客 682

Google Earth Engine(GEE)——ee.Join.inner的使用方法(以两个MODIS影像集合为例组成一个MODIS多波段影像集合)

要列举两个集合的元素之间的所有匹配,使用ee.Join.inner()。内联的输出是一个特征集合(即使是将一个ImageCollection连接到另一个ImageCollection)。 本次要使用到的函数: ee.Join.inner(primaryKey,secondaryKey,measureKey) 返回将主集合中的元素与辅助集合中的匹配元素配对的连接。每个结果都有一个包含来自主集合的元素的“primary”属性,以及一个包含来自辅助集合的匹配元素的“secondary”...

此星光明博客 1141

Google Earth Engine ——利用modis影像来获取温度和植被指数

返回一个过滤器,如果对象的时间戳落在日历字段的给定范围内,则通过。月、年中的日、月中的日和周中的日是以1为基础的。时间被假设为UTC。周被假定为从星期一开始,即第1天。如果end=start或值...

此星光明博客 66

MavLink协议入门

MAVLink是一个非常轻量化的开源的消息协议,用于无人机之间的通信以及无人机机载设备之间的通信。

ffffffeiyu的博客 2477

从零到一:TI AWR1843 Boost EVM与DCA1000 EVM的ADC数据采集实战指南

本文详细介绍了TI AWR1843 Boost EVM与DCA1000 EVM的ADC数据采集实战指南,涵盖硬件连接、软件配置、固件烧录、雷达参数设置及数据处理等关键步骤。通过MATLAB等工具,开发者可高效实现毫米波雷达数据采集,适用于自动驾驶、工业检测等领域。

weixin_29001327的博客 967

mysql 学习笔记(1):mysql 基本概念和 mysql workbench 的基本使用方法

…

qq_52740163的博客 1356

STM32F103C8T6心电采集实战:从PCB设计到上位机开发的完整指南(附TI杯开源资料)

本文详细介绍了基于STM32F103C8T6的心电采集系统开发全流程,从PCB设计到上位机开发,特别适合大学生电子设计大赛参赛者参考。内容涵盖硬件设计精要、软件算法优化及上位机开发技巧,并附TI杯开源资料,帮助开发者低成本实现医疗级心电信号采集。

kafka6courier的博客 194

scratch lenet(4): 开根号的C语言实现

使用C语言,分别使用二分法、牛顿法、卡马克快速法,求解正实数的开根号。包括公式推导、代码实现、运行结果,不使用任何第三方库和C标准库的数学库。

baiyu33的博客 4970

【Xilinx】如何在petalinux下编译vcu-gst-app以及独立编译vcu-gst-app

Xilinx从2018.1开始,提供了一套基于zcu106的vcu参考设计。里面提供了一套基于GStreamer的程序,即vcu-gst-app。如何脱离petalinux直接编译呢,这里以为例,其他版本也是类似的操作。

王师傅 3041

【WRF-GHG 教程上】完整教程(2024年更新版)

完整教程(2024年更新版)

WW、forever的博客 1436

【OCPP】ocpp1.6协议3.3章节:功能配置文件及接口

Smart Charging Profile中定义了4个接口请求,即GetCompositeSchedule、ClearChargingProfile、SetChargingProfile和ClearCache等。Smart Charging: 包含智能充电相关的功能,如计划充电,报告充电计划,并改变充电速度。Core: 包含电动汽车充电相关的基础功能,如启动和停止充电,更改充电配置,报告充电状态等。Reservation: 包含预约服务相关的功能,如创建,取消和更改预约。

qq_53871375的博客 2171

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

上一篇: Google Earth Engine中合并Landsat的NDVI波段影像为幅影像
下一篇: 使用Google Earth Engine根据线要素获取经纬度并计算直线逐像素的高程值
普通网友
博客等级 码龄3年 87粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值