HDF4文件转TIF格式

HDF4

HDF4(Hierarchical Data Format version 4)是一种用于存储和管理机器间数据的库和多功能文件格式。它是一种自描述的文件格式,用于存档和管理数据。
HDF4与HDF5是两种截然不同的技术,HDF5解决了HDF4的一些重要缺陷。因此,The HDF Group建议新应用程序使用HDF5,除非是为了处理现有的HDF4数据。
HDF4广泛应用于地球科学领域,特别是NASA维护的一系列地球观测卫星每天传输大量新的图像数据,这些数据大多以HDF4格式存储。因此,HDF4在地球科学中得到了广泛的使用。

HDF4转TIF

本次使用的数据是GLASS产品的全球植被覆盖度数据集FVC。下载网址:FVC数据集。
FVC的数据格式是HDF4
我首先尝试了gdal命令来转换HDF4文件,结果失败。

% gdal_translate -of GTiff GLASS10B02.V40.A2020001.2022323.hdf test.tif
Input file size is 7200, 3600
0ERROR 1: GDreadtile() failed for block.
ERROR 1: GLASS10B02.V40.A2020001.2022323.hdf, band 1: IReadBlock failed at X offset 0, Y offset 0: GDreadtile() failed for block.

然后准备用QGIS直接转换,将文件导入QGIS时发现是不支持的文件格式。
在这里插入图片描述
然后准备用python转换,发现需要使用pyhdf包,安装有点麻烦,解决老版本的HDF文件转换问题也有点麻烦。
看来,用gdal、qgis、python解决这个问题会有点麻烦。最后尝试用ENVI转换,完美的解决了这个问题。
我使用的ENVI版本是5.3。
打开ENVI软件,选择文件,选择打开为,选择通用格式,选择HDF4可以直接导入HDF4文件。
在这里插入图片描述
数据集选择,选择所有数据集,点击确定即可。(单个HDF文件可能包含多个数据集,此HDF文件只含有一个数据集)。
在这里插入图片描述
接着选择文件,选择另存为,点击另存为…。
在这里插入图片描述
数据选择直接点击确定。
在这里插入图片描述
文件输出格式选择TIFF,点击确定即可。
在这里插入图片描述
可以看到tif文件转换成功。
在这里插入图片描述

GLASS FVC产品说明

取值范围为0-250,比例系数为0.004,实际FVC取值需要乘以0.004,所以波段的每个值需要乘以0.004得到实际的FVC值。海洋的值为0,陆地中也有部分值为0,不好区分。如果想排除海洋部分,可能需要做一个陆地掩膜的tif,陆地部分为1,海洋部分为nodata,然后两个tif做光栅运算,这样就可以只关心陆地部分。
在这里插入图片描述

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

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

相关文章

【硬件产品经理】硬件产品手板设计

目录 简介 硬件手板 手板资料 作者简介 简介 今天来聊聊产品手板这个话题。 到了手板这个层面其实就属于产品设计细节了, 无论你对整个开发体系如何如何了解, 对公司管理流程如何如何精通。 最终都是要回归到业务细节中去的, 你可能…

Python中解决os.listdir命令读取文件乱序问题方法

Python中使用对话框批量打开文件时出现乱序问题的解决方法 一、问题描述二、os.listdir读取文件乱序问题解决方法 欢迎学习交流! 邮箱: z…1…6.com 网站: https://zephyrhours.github.io/ 一、问题描述 有时候为了方便,我们在进…

Docker-基础

一,Docker简介,功能特性与应用场景 1.1 Docker简介 Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器…

vue计算属性 computed

计算属性 computed 模板语法的表达式虽然方便&#xff0c;但也只能用来做简单的操作。如果在模板中写太多逻辑&#xff0c;会让模板变得臃肿&#xff0c;难以维护。因此我们推荐使用计算属性来描述依赖响应式状态的复杂逻辑。 模板语法&#xff1a;模板语法链接 <template…

表单自定义组件 - 可选择卡片SelectCard

import React from react; import styles from ./index.module.less;type OptionsType {/*** 每个item渲染一行&#xff0c;第0项为标题*/labels?: any[];/*** 自定义渲染内容*/label?: string | React.ReactNode;value: any; }; interface IProps {value?: any;onChange?…

【C++】B树及其实现

写目录 一、B树的基本概念1.引入2.B树的概念 二、B树的实现1.B树的定义2.B树的查找3.B树的插入操作4.B树的删除5.B树的遍历6.B树的高度7.整体代码 三、B树和B*树1.B树2.B*树3.总结 一、B树的基本概念 1.引入 我们已经学习过二叉排序树、AVL树和红黑树三种树形查找结构&#x…

vue事件参数

事件参数 事件参数可以获取event对象和通过事件传递数据 获取event对象 <template> <buttonclick"addCount">点击</button><p>count is: {{ count }}</p><p>{{ coutent_e }}</p> </template> <script>expor…

关于HTTP的攻击实验

实验原理&#xff1a;1. 根据ARP中间人攻击&#xff0c;获取 用户和服务器之间的数据2. 将获取到的数据 通过一定的技术来复原&#xff0c;进而获取用户的信息或者 相关权限实验拓扑图 将 kali 的网卡改为桥接模式&#xff0c;查看Kali和本机的ip 启动ettercap&#xff0c;…

【Python学习】流程控制、函数与类详解

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引言 Python作为一门强大而又简洁的编程语言&#xff0c;提供了丰富的工具和结构来帮助开发者编写清晰、高效的代码。在本文中…

阿里云OSS文件上传不配置环境变量使用显式AccessKey验证

问题背景 在中阿里云官方文档中介绍文件上传时&#xff0c;推荐配置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。这里用简单的方法&#xff0c;直接在Demo.java中显式指定accessKeyId和accessKeySecret&#xff0c;同时修改OSSClientBuilder()的入参。 解决方法 首先…

C语言 -- 深入理解指针(一)

C语言 -- 深入理解指针&#xff08;一&#xff09; 1.内存和地址1.1 内存1.2 究竟该如何理解编址 2. 指针变量和地址2.1 取地址操作符&#xff08;&&#xff09;​2.2 指针变量和解引用操作符&#xff08;*&#xff09;​​2.2.1 指针变量2.2.2 如何拆解指针类型2.2.3 解引…

C++11 shared_ptr---面试常考

shared_ptr简介 共享对其所指堆内存空间的所有权&#xff0c;当最后⼀个指涉到该对象的shared_ptr不再指向他时&#xff0c;shared_ptr会⾃动析构所指对象如何判断⾃⼰是否指涉到该资源的最后⼀个&#xff1f;《引⽤计数》 shared_ptr构造函数&#xff0c;使引⽤计数析构函数&…

Java线上接口耗时分析神器 Arthas

介绍 程序员的日常&#xff0c;总是离不开“调优”和“排查”。尤其当线上环境出现问题&#xff0c;性能瓶颈把人逼疯。这时候&#xff0c;你就需要一款像 Arthas 这样的神器来救场。 什么是 Arthas&#xff1f; 简单来说&#xff0c;Arthas 是阿里巴巴开源的 Java 诊断工具…

String类对象比较:==和equals的具体细节

public class test {public static void main(String[] args) {String name1 "zzz";String name2 "zzz";String name3 new String("zzz");// hashCode() 方法&#xff1a;基于字符串的内容计算哈希值&#xff0c;因此内容相同的字符串对象其 …

在 PostgreSQL 中,如何处理多个长时间运行的查询对系统资源的竞争?

文章目录 一、问题分析二、解决方案&#xff08;一&#xff09;优化查询语句&#xff08;二&#xff09;限制资源使用&#xff08;三&#xff09;调整数据库参数&#xff08;四&#xff09;监控和分析查询性能&#xff08;五&#xff09;分区表&#xff08;六&#xff09;异步处…

Ratf协议图解、Nacos CP集群源码分析

文章目录 Nacos CP集群说明Raft协议leader选举重新选举leader多个Candidate情况更新操作&#xff0c;日志复制网络分区 源码实现服务注册leader选举leader心跳包 Nacos CP集群 说明 CAP原则 C 一致性 ConsistencyA 可用性 Availability分区容错性 Partition tolerance 分区…

【密码学】密码学五要素

密码学五要素是密码系统的基本组成部分&#xff0c;这五个要素共同构成了密码系统的框架。在实际应用中&#xff0c;密码系统的安全性依赖于密钥的安全管理以及算法的强度。 如果任何一方被泄露或破解&#xff0c;那么整个密码系统都将面临风险。因此&#xff0c;在设计和使用密…

生物化学笔记:电阻抗基础+电化学阻抗谱EIS+电化学系统频率响应分析

视频教程地址 引言 方法介绍 稳定&#xff1a;撤去扰动会到原始状态&#xff0c;反之不稳定&#xff0c;还有近似稳定的 阻抗谱图形&#xff08;Nyquist和Bode图&#xff09; 阻抗谱图形是用于分析电化学系统和材料的工具&#xff0c;主要有两种类型&#xff1a;Nyquist图和B…

《第一行代码》小结

文章目录 一. Android总览1. 系统架构2. 开发环境3. 在红米手机上运行4. 项目资源详解4.1 整体结构4.2 res文件4.3 build.gradle文件 二. Activity0. 常用方法小结1. 创建一个Activity 一. Android总览 1. 系统架构 应用层&#xff1a;所有安装在手机上的应用程序 应用框架层&…