GEE——土地利用分类种两个矢量集合中不同列进行相减的方式(利用join进行连接处理)

问题:

我有两个具有相同 ID 的特征集,我想从第二个特征集中减去第一个特征集的表格单元格。

我使用了这个函数,但它计算的是表 1 中第一个元素与表 2 中其他元素的减法。

我想逐个单元格计算减法。第一个表格中 id 为 1 的单元格减去第二个表格中 id 为 1 的单元格,2x2、3x3...

有人能帮我完成这项任务吗?
 

var result = falsealarms.map(function(falsealarms){var idb = falsealarms.get('id');var valuea = omission.filter(ee.Filter.eq('id', idb)).first().get('count');var resultvalue = ee.Number(falsealarms.get('count')).subtract(valuea);return omission.set('result', resultvalue)
});

使用它们旨在从两个集合中查找匹配的元素。

函数

ee.Join.saveFirst(matchKey, orderingascendingmeasureKeyouter)

Returns a join that pairs each element from the first collection with a matching element from the second collection. The first match is added to the result as an additional property.

Arguments:

matchKey (String):

The property name used to save the match.

ordering (String, default: null):

The property on which to sort the matches before selecting the first.

ascending (Boolean, default: true):

Whether the ordering is ascending.

measureKey (String, default: null):

An optional property name used to save the measure of the join condition on the match.

outer (Boolean, default: false):

If true, primary rows without matches will be included in the result.

Returns: Join

apply(primary, secondary, condition)

Joins two collections.

Arguments:

this:join (Join):

The join to apply; determines how the the results are constructed.

primary (FeatureCollection):

The primary collection.

secondary (FeatureCollection):

The secondary collection.

condition (Filter):

The join condition used to select the matches from the two collections.

Returns: FeatureCollection

原始代码:

//define the study area 
var roi = roi.filter(ee.Filter.inList('Nomencl', ['SH-21-X-D']));Map.centerObject(roi, 10) Deforestation Mapbiomas///Select the t mapbiomas land use classification
var mabiomas_t = ee.Image('projects/mapbiomas-workspace/public/collection8/mapbiomas_collection80_integration_v1').clip(roi) .select('classification_2000'); // create a list of land use classes from the classification
var fromList = [3, 4, 5, 6, 49, 11, 12, 50, 32, 29, 13, 15, 18, 19, 39, 20, 40, 62, 41, 36, 46, 47, 35, 48, 9, 21, 23, 24, 30, 25, 33, 31, 27];// A corresponding list of replacement values 
var toList =  [1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2];// performs the reclassification
var t_remap = mabiomas_t.remap({from: fromList,to: toList,defaultValue: 0,bandName: 'classification_2000'
}).reproject('EPSG:4326', null, 30);
//Map.addLayer(t_remap)//Select the vegetation land use class
var veg_class_t = t_remap.eq(1) 
//Map.addLayer(veg_class_t, null, 'veg_class_mapbiomas')//Select the t + 1 mapbiomas land use classification
var mapbiomas_t1 = ee.Image('projects/mapbiomas-workspace/public/collection8/mapbiomas_collection80_integration_v1').clip(roi) .select('classification_2020'); var fromList = [3, 4, 5, 6, 49, 11, 12, 50, 32, 29, 13, 15, 18, 19, 39, 20, 40, 62, 41, 36, 46, 47, 35, 48, 9, 21, 23, 24, 30, 25, 33, 31, 27];// A corresponding list of replacement values 
var toList =  [10, 10, 10, 10, 10, 10, 10, 10, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/602944.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

主线程退出后子线程是否还会正常运行?

问题: 父子线程的关系 今天突然有感而发, 想要来探讨一下主线程和子线程之间的关系。 例一:子线程执行时间较父线程慢 public class ThreadTest {public static void main(String[] args) {// 测试主线程 和 子线程Thread sonThread new …

Python 教程 01:Python 简介及发展历史

ℹ️说明:关于本教程的一些约定 ① 教程后有(选读)的表示此教程为扩展内容,选读; ② 教程中涉及到的代码片段有时候并非代码块,而是图片,这是防止初学者直接复制代码粘贴的行为,想必…

应用OpenCV绘制箭头

绘制箭头函数 方法:函数cv2.arrowedLine( ) 语法格式:cv2.arrowedLine(img, pt1, pt2, color[, thickness[, line_type[, shift[, tipLength]]]]) 参数说明: img:要画的直线所在的图像,也称为画布。。 pt1&#x…

【CSS】文字描边的三种实现方式

目录 1. 可行的几种方式1.1. text-shadow 描边代码优缺点 1.2. text-stroke 描边实现优缺点 1.3. svg 描边实现优缺点 总结 1. 可行的几种方式 text-shadow–webkit-text-strokesvg 1.1. text-shadow 描边 MDN text-shadow 代码 <div class"text stroke">…

Ubuntu软件和vmware下载

https://cn.ubuntu.com/download/desktop VMware 中国 - 交付面向企业的数字化基础 | CN

HttpRunner自动化测试工具之获取响应数据extract提取值到变量

获取响应数据 extract: 提取 注&#xff1a;extract 应与request保持同一层级 1、响应行&#xff0c;响应头&#xff1b;通过 extract 提取响应的数据并存储到变量中&#xff0c;如下图&#xff1a; 注&#xff1a;变量名的前面要有 - # 获取响应数据: 响应行&#xff08;…

【比赛专题】江苏省信息安全管理与评估 理论题样题题库整理

GZ032 信息安全管理与评估赛题第1套 一、 单选题 &#xff08;每题 2 分&#xff0c;共 35 题&#xff0c;共 70 分&#xff09; 1、《中华人民共和国数据安全法》已由中华人民共和国第十三届全国人民代 表大会常务委员会第二十九次会议通过&#xff0c;现予公布&#xff0c;自…

蓝桥杯基础知识1 字母大小写转换

蓝桥杯基础知识1 字母大小写转换 isalpha()判断一个字符是否为字母。 isalnum()判断一个字符是否为十进制数字字符或者字母&#xff0c;是否属于a~ z或A~ Z或0~9。 isdigit() 判断一个字符是否是十进制数字字符。十进制数字是&#xff1a;0 1 2 3 4 5 6 7 8 9 isalnum()和isdig…

【python】合并具有相同数字前缀的 CSV 文件

一、问题 有一个文件目录&#xff0c;目录下有类似下列文件名&#xff1a;1_a.csv、1_b.csv、1_c.csv、2_a.csv、2_b.csv、2_c.csv......即下划线前面数字相同的不同csv文件有几个&#xff0c;他们的行数相同&#xff0c;列名不同。 想把这个目录下&#xff0c;数字相同的几个…

YOLOv5改进 | 损失篇 | VarifocalLoss密集检测专用损失函数 (VFLoss,论文一比一复现)

一、本文介绍 本文给大家带来的是损失函数改进VFLoss损失函数,VFL是一种为密集目标检测器训练预测IoU-aware Classification Scores(IACS)的损失函数,我经过官方的版本将其集成在我们的YOLOv8的损失函数使用上,其中有很多使用的小细节(否则按照官方的版本使用根本拟合不了…

讨好自己的五大法宝,让生活更精彩

在这个繁忙的世界里&#xff0c;让生活更精彩并不难&#xff0c;关键是你愿不愿意给自己一点小惊喜。让我们一起探讨一下&#xff0c;如何用五大小法宝&#xff0c;讨好自己&#xff0c;让生活更加美好。 1. 每周安排“自己时间” 在繁忙的工作和学习之余&#xff0c;留出每周…

echart图表

首先我们要知道ECharts是什么,它是怎么用的&#xff1f; ECharts是一个使用JavaScript实现的开源可视化库&#xff0c;它涵盖各行业图表&#xff0c;满足各种需求。它提供了丰富的图表类型和交互能力&#xff0c;使用户能够通过国简单的配置生成各种各样的图表&#xff0c;包括…

使用opencv做双目测距(相机标定+立体匹配+测距)

最近在做双目测距&#xff0c;觉得有必要记录点东西&#xff0c;所以我的第一篇博客就这么诞生啦~ 双目测距属于立体视觉这一块&#xff0c;我觉得应该有很多人踩过这个坑了&#xff0c;但网上的资料依旧是云里雾里的&#xff0c;要么是理论讲一大堆&#xff0c;最后发现还不知…

钡铼分布式IO在玻璃制造中的实时数据采集与监控应用介绍

导读 玻璃行业多年来一直广泛使用 PLC 来帮助管理生产过程所需的精确材料比例&#xff0c;完全依赖其PLC进行数据采集与控制&#xff0c;并且大量依靠人工来操作&#xff0c;所以这些高成本推动了对成本较低的替代方案的需求。 场景描述 某玻璃厂生产的玻璃生产包括配料段、熔…

Debezium发布历史49

原文地址&#xff1a; https://debezium.io/blog/2019/02/19/reliable-microservices-data-exchange-with-the-outbox-pattern/ 欢迎关注留言&#xff0c;我是收集整理小能手&#xff0c;工具翻译&#xff0c;仅供参考&#xff0c;笔芯笔芯. 使用发件箱模式进行可靠的微服务数…

开源框架 MIT 是什么是否可以商用

MIT开源协议是一种宽松的开源许可证&#xff0c;允许软件在保留版权和许可证声明的前提下&#xff0c;免费使用、复制、修改、合并、出版、分发、再授权和销售等。该许可证适用于几乎所有类型的软件&#xff0c;包括商业软件和专有软件。MIT许可证的底层原理是&#xff0c;通过…

React(2): 使用 html2canvas 生成图片

使用 html2canvas 生成图片 需求 将所需的内容生成图片div 中包括 svg 等 前置准备 "react": "^18.2.0","react-dom": "^18.2.0","html2canvas": "^1.4.1",实现 <div ref{payRef}></div>const pa…

servlet+jdbc+jsp实现登录界面的验证(基于MVC思想)

一、MVC的概念 MVC是模型(Model)和视图(View)以及控制器(Controller)的简写&#xff0c;是一种将数据、界面显示和业务 逻辑进行分离的组织方式&#xff0c;这样在改进界面及用户交互时&#xff0c;不需要重新编写业务逻辑&#xff0c;从而提高了 代码的可维护性。 M&#xf…

如何在Linux上安装使用达芬奇DaVinci-Resolve视频剪辑|附带格式转换脚本

如何在openSUSE-Linux上安装DaVinci-Resolve 您是否还在等待Adobe套件在Linux上的到来&#xff1f;您是否曾多次尝试通过Wine使用Premiere&#xff1f;您是否还在想苹果为什么不以Linux本机版本发布Final Cut Pro&#xff1f; 如果您对所有这些问题中的一个或全部回答是&…

K8S学习指南(65)-Operator介绍

文章目录 引言什么是 Operator&#xff1f;Operator 的优势1. 自动化操作2. 定制资源3. 增强运维功能4. 增强 K8S 原生 API Operator 的优缺点优点&#xff1a;1. 自动化运维2. 定制资源3. 跨平台性4. 增强 K8S API缺点&#xff1a;1. 学习成本2. 复杂性3. 需要专业知识 Operat…