如何解决GEE导出影像的Nodata值在ArcGIS中无法正常显示?

news2024/11/17 10:03:29

目录

01 ArcGIS对于GEE掩膜影像的Nodata值的说明

02 处理方法

2.1 方法1-GEE修改掩膜值

Arguments:

Returns: Image

2.2 方法2-ArcGIS重新赋值Nodata(推荐)


01 ArcGIS对于GEE掩膜影像的Nodata值的说明

当在GEE中进行掩膜后,将影像在ArcGIS中显示如图:

 周围的背景值为黑色,通过识别工具点击发现周围值为Nodata:
 

 猜测ArcGIS可以识别该种Nodata否则识别工具也不会将其值显示为Nodata,但是其和ArcGIS默认的Nodata值可能存在差别,如下图:
正常掩膜影像的Nodata值:

GEE掩膜影像的Nodata值 :

(猜测此处的Nodata应该null即空值,而非像ArcGIS默认的Nodata是使用某一特殊值作为Nodata)

 

02 处理方法

2.1 方法1-GEE修改掩膜值

在掩膜之后,将掩膜值(无效值/Nodata)设置为特别的数值,该数值不在影像的正常数值范围内。

这里需要使用到unmask函数,将掩码像素的Nodata(此处为NULL)取消,设置为其它新值例如下方案例中的-9999.0,并将新的影像返回。

官网说明

unmask(valuesameFootprint)

Replaces mask and value of the input image with the mask and value of another image at all positions where the input mask is zero. The output image retains the metadata of the input image. By default, the output image also retains the footprint of the input, but setting sameFootprint to false allows to extend the footprint.

Arguments:

this:input (Image):

Input image.

value (Image, default: null):

New value and mask for the masked pixels of the input image. If not specified, defaults to constant zero image which is valid everywhere.

sameFootprint (Boolean, default: true):

If true (or unspecified), the output retains the footprint of the input image. If false, the footprint of the output is the union of the input footprint with the footprint of the value image.

Returns: Image

// 一般而言
var gpm_precip = ee.ImageCollection("NASA/GPM_L3/IMERG_V06")
      .map(function(img){
        return mask(img)  // mask为自定义的掩膜函数
      })  // 掩膜
// 将掩膜值设置为非正常数值
var gpm_precip = ee.ImageCollection("NASA/GPM_L3/IMERG_V06")
      .map(function(img){
        return mask(img).unmask(-9999.0)  // mask为自定义的掩膜函数
      })  // 掩膜
// 通过unmask函数将Nodata值设置为-9999.0

 以上处理完毕之后,使用ArcGIS的栅格计算器(Raster Calculator)将-9999.0等你设置的新值重新赋值为ArcGIS的默认Nodata值。操作如下:

SetNull("masked.tif" == -9999.0, "masked.tif")

其表示,若masked.tif影像中有像元值等于 -9999.0, 那么将其设置为Nodata,否则赋值为masked.tif影像对应像元的值(即原值,也就是不等于的-9999.0的像元值不做处理) ;

例如:

 

2.2 方法2-ArcGIS重新赋值Nodata(推荐)

GEE代码正常写,无需使用unmask,直接使用ArcGIS进行重新赋值。

思路来源:既然识别工具能够将GEE的Nodata识别,只是无法正常显示,那么我将这些Nodata值再重新赋值为Nodata或许可以解决问题,事实确实如此。

依然使用栅格计算器如下:

SetNull(IsNull("masked.tif"), "masked.tif")

其表示若masked.tif影像中有像元值为Nodata,那么将其赋值为Nodata,否则赋值为原值即不做改动。

例如:

 

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

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

相关文章

打造极简风格动效 —— 5 分钟轻松实现惊艳、震撼人心的视觉效果

前期回顾 是不是在为 API 烦恼 ?好用免费的api接口大全呼之欲出_免流接口api_彩色之外的博客-CSDN博客APi、常用框架、UI、文档—— 整理合并https://blog.csdn.net/m0_57904695/article/details/130459417?spm1001.2014.3001.5501 👍 本文专栏&…

20道嵌入式经典面试题(附答案)

1.嵌入式系统中经常要用到无限循环,如何用C编写死循环 答:while(1){} 或者 for(;;) 2.程序的局部变量存在于哪里,全局变量存在于哪里,动态申请数据存在于哪里。 答:程序的局部变量存在于栈区;全局变量存在…

【Linux】浅谈文件原理与操作

目录 问题引入 浅谈文件原理 文件操作 文件的打开与关闭 open close write与read 再谈C库文件操作 问题引入 🌸以前我们学过C语言的文件操作,而不同语言的文件操作都是不一样的,我们该如何理解这一现象,能不能用一种统一…

有关 string 类的练习(下)

目录 一、反转字符串 II 二、反转字符串中的单词 III 三、找出字符串中第一个只出现一次的字符 四、字符串相乘 五、把字符串转换成整数 一、反转字符串 II 给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转…

Spring,注解开发

Spring是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的框架 1、组成 spring七大模块详解 2、IOC理论推导 传统的开发 (pojo层、DAO层和业务层) (1)UserDao (2) UserDaoImpl (3)…

天狼星-大熊座 Ursa Major SIRIUS

大熊座 Ursa Major SIRIUS 键盘说明 客制化键盘: 大熊座 Ursa Major SIRIUS 配列: 75 键帽:KCA-HelloWorld-Black 双模: 蓝牙-分裂方案 驱动配置:Link Lab 驱动设置软件 键盘操作 键盘说明参考:键位配…

利用WinDbg查看堆栈中方法入参的值4(C#)

由于作者水平有限,如有写得不对的地方,请指正。 使用WinDbg的过程中,坑特别的多,对版本要求比较严格,如: 1 32位应用程序导出的Dump文件要用32位的WinDbg打开,想要没有那么多的问题&#xf…

海底光缆位置探测技术的应用概述

1. 概述 海底光缆运行在地质环境复杂的海洋环境中,地震、海床塌陷、滑坡、洋流变化、海洋生物及船只抛锚都有可能造成光缆断裂、破损,影响光缆的安全运行。海底光缆一旦遭受损坏,其造成的经济损失无法估量。因此在海洋开发工程实施前&#xf…

Web转化为APP——YonBIP(APICloud迁移版)

目录 平台注册 平台使用 设计封面(端设置) APP证书 代码上传 移动打包 运营管理和移动插件 众所周知,APP开发是一件非常麻烦的事,很多擅长Web开发的人未必擅长APP开发。那么作为一个Web开发者,可不可以有很方便…

基于prefix tuning + Bert的标题党分类器

文章目录 背景一、Prefix-Tuning介绍二、分类三、效果四、参阅 背景 近期, CSDN博客推荐流的标题党博客又多了起来, 先前的基于TextCNN版本的分类模型在语义理解上能力有限, 于是, 便使用的更大的模型来优化, 最终准确率达到了93.7%, 还不错吧. 一、Prefix-Tuning介绍 传统的…

Redis之Redisson原理详解

文章目录 1 Redisson1.1 简介1.2 与其他客户端比较1.3 操作使用1.3.1 pom.xml1.3.2 配置1.3.3 启用分布式锁 1.4 大致操作原理1.5 RLock1.5.1 RLock如何加锁1.5.2 解锁消息1.5.3 锁续约1.5.4 流程概括 1.6 公平锁1.6.1 java中公平锁1.6.2 RedissonFairLock1.6.3 公平锁加锁步骤…

50 Projects 50 Days - Form Input Wave 学习记录

项目地址 Form Input Wave 展示效果 Form Input Wave 实现思路 简单的登陆界面结构,只是在输入框聚焦时标题提示文字会有一个字母逐渐向上跳动的动画效果,这需要针对每个字符单独设置变换的延时,可以考虑在JavaScript中处理这部分逻辑&am…

2017~2018学年《信息安全》考试试题(A1卷)

北京信息科技大学 2017 ~2018 学年第二学期《信息安全》考试试题 (A 卷) 课程所在学院:计算机学院 适用专业班级:计科 1504-6、重修 考试形式:闭卷 一、单选题(本题满分 20 分,共含 10 道小题,每小题 2 分) 网络安全是指网络系统的硬件、软件及( C )的…

【头歌-Python】Python第九章作业(初级)第5关

第5关:绘制程序设计语言饼图 任务描述 列表labels和sizes中的数据分别是目前主流程序设计语言及其热度数据(百分比),请根据这些数据绘制饼图,并将Python程序设计语言所在区域突出0.1显示。 labels [C语言, Python…

Java ~ Reference ~ ReferenceQueue【总结】

前言 文章 相关系列:《Java ~ Reference【目录】》(持续更新)相关系列:《Java ~ Reference ~ ReferenceQueue【源码】》(学习过程/多有漏误/仅作参考/不再更新)相关系列:《Java ~ Reference ~ …

一篇就能学懂的散列表,让哈希表数据结构大放光彩

目录 1.散列表的基本概念 2.散列表的查找 3.散列函数的构造方法 1.直接定址法 2.除留余数法 4.散列表解决冲突的方法 1.开放定址法 2.链地址法 1.散列表的基本概念 基本思想:记录的存储位置与关键字之间存在的对应关系 对应关系——hash函数 Loc(i) H(k…

关于外包被开要怎么维护自己的权益

我一直以为外包被开都是没有任何赔偿的,之前网上对于外包的消息都是说,没有任何赔偿或者是怕麻烦然后就干脆放弃了的各种评论。。。但是最近我在问到一个朋友的时候,他很好的维护了自己的权益。最后获得了N1 保留证据 当被告知外包需要你离场…

牛客网语法篇刷题(C语言) — 运算

作者主页:paper jie的博客_CSDN博客-C语言,算法详解领域博主 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《C语言-语法篇》专栏,本专栏是针对于大学生,编程小白…

单链表OJ题:LeetCode--138.复制带随即指针的链表

朋友们、伙计们,我们又见面了,本期来给大家解读一下LeetCode中第138道单链表OJ题,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! 数据结构与算法专栏:数据结构与算法 个 人…

python使用Faker库进行生成模拟mock数据(基本使用+五个小案例)

使用faker进行生成模拟(mock))数据 文章目录 使用faker进行生成模拟(mock))数据一、Faker库安装二、Faker库基本介绍三、案例1:Faker库生成核酸数据四、案例2:生成不重复的人名和地名五、案例3:生成有时间期限的低保数据六、案例4&#xff1a…