遥感影像(tif,img)概览/金字塔(overviews)的创建与清除

news2024/11/15 1:56:36

使用python环境下的gdal进行遥感影像(tif,img格式)概览(overviews)的创建与清除,前边是测试过程,结论在最后

过程

问题起因是拿到一批img格式的影像需要转cog,程序运行中报了个错

Cannot add external overviews when there are already internal overviews

因为之前都是使用没有金字塔的单独tif文件,这次使用的别人那里拿到的img,文件结构大体如下
在这里插入图片描述
对img格式不是很熟悉,如果是tif,一般来说概览是作为.ovr文件存在,直接删了就是,img不大敢动,就开始搜gdal文档。
gdal官网里操作概览的程序是gdaladdo,文档如下
在这里插入图片描述
其中 -clean是用来清除概览的。因为我想把这一步骤集成在现有python程序里,不想直接调用这个工具。官网文档里这个工具对应的C接口为GDALBuildOverviews(见下图),python接口见#链接,就开始测试
在这里插入图片描述
按照文档,设置nOverviews为0可以清除现有概览。我测试了几种写法

in_ds.BuildOverviews("NONE", 0)
in_ds.BuildOverviews("NONE", [0])
in_ds.BuildOverviews("NONE", [])
in_ds.BuildOverviews("NONE")

但是都不行Orz,不是报错就是没用,故放弃,直接调用gdaladdo试一下

gdaladdo.exe -clean D:\2018\2018.img

然后发现别的没啥变化,只有那个2018.rrd文件没了,看了下这个rrd文件原本体积比影像文件小但也很大,故推测rrd文件就是这个img影像的外部金字塔文件,所以就直接手动把剩下几个影像的rrd文件删了,运行一开始的程序,果然不报错了。。。

结论

清除概览

对于tif影像,外部概览文件一般为单独的ovr格式文件,删除就行。对于img,一般为rrd格式文件。
如果是影像内部的概览,应该可以通过gdaladdo工具或datasat.BuildOverviews接口清除,但我没试过。

创建概览

通过gdaladdo工具或datasat.BuildOverviews接口
gdaladdo示例见官网:https://gdal.org/programs/gdaladdo.html#gdaladdo
BuildOverviews示例:

in_ds = gdal.Open("D:/2018/2018.img")
in_ds.BuildOverviews("NEAREST", [2, 4, 8, 16])

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

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

相关文章

ESXi8.0安装,实体机安装,IPMI远程安装实战笔记

目录 1.前言 2.连接主板IMPI 3.硬件兼容及BIOS设置 4.从U盘安装ESXi ESXi8.0安装包下载: 链接:https://pan.baidu.com/s/1-a3ka1TAScFPtAc29jcxzQ 提取码:qwhg 1.前言 ESXi系列的虚拟机直接以操作系统的形态出现,与基于Li…

【Linux静态库和动态库】

Linux静态库和动态库1. 编译与ELF格式2. 库的基本概念3.静态库的制作:(假设要将a.c、b.c制作成静态库)4.静态库的常见操作5.静态库的使用6. 多个库的相互依赖举例1.(库文件制作、错误处理)7.静态库和动态库的关系和区别8.动态库的制作软链接 …

ADI Blackfin DSP处理器-BF533的开发详解25:USB接口设计(含源代码)

硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 硬件设计原理图 功能介绍 跟网口一样,USB这个设计很勉强,因为BF533并不带USB口,当时是给一个大厂做MP4的方案…

猿如意中的【UltraEdit】开发工具详情介绍

目录 一、工具名称 二、下载安装渠道 2.1 什么是猿如意? 2.2 如何下载猿如意? 2.3 如何在猿如意中下载UltraEdit? 三、UltraEdit介绍 四、软件安装过程 五、软件界面 六、UltraEdit功能特点介绍 七、UltraEdit使用/体验感受…

Python测试进阶(二)

文章目录简介selenium等待Web控件交互表单操作多窗口frame多浏览器处理用 js 操作文件上传弹窗pageObject复用浏览器简介 这部分主要介绍 web 自动化测试 selenium 专门测试 web 的工具,根据测试用例,直接在浏览器上执行对应动作还是在 pytest 框架中…

牛客网SQL入门复健小练

SQL3:distinct 查询结果去重,返回所有不同的university 方法一:distinct关键字。(注意:这个关键字实际上是 select distinct,如果是多列,多列作为一个组合然后 distinct 去重) 方…

[oeasy]python0028_直接运行_修改py文件执行权限_设置py文件打开方式

直接运行 回忆上次内容 我们把两个程序整合起来了 可以持续输出当前时间每秒都更新但是我想在 shell 里面 只输入文件名(./sleep.py)并回车就能不断输出时间可能吗?🤔 import time while True:print(time.asctime())time.sleep(1) 尝试执行 第 1 句 根…

EXCEL基础:数据透视表(按月或月累计统计操作)

【按月统计数据】: 本操作实现的是原始数据是以日为单位,统计使用的时候,需要以月份或者季度、年份的形式进行,可以使用数据透视表的【组合】功能来 实现,如下所示: 如下所示,将日期字段放在行…

免费分享一套基于VuePress开发的markdown产品文档

vuepress-theme-jingli 文档 | 效果 | 本仓库的gitee镜像 (进入赞助商扫码注册可为本项目作者充电~) 介绍 这个主题的初衷是打造一个好用的、面向程序员的知识管理工具轻松构建一个结构化的知识库,让你的知识海洋像一本本书一样清晰易读。…

Mac 下设置VScode 背景图片失败解法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言解法一:直接修改VScode 的CSS解法二:还是想用插件总结前言 仓库推荐 C/C 每日一练小仓库,慢慢学习C 知识必备仓库 https://…

Java8:SPI机制

参考资料: 《双亲委派机制及其弊端》 《Java中SPI机制深入及源码解析》 《Java SPI思想梳理》 《深入理解 Java 中 SPI 机制》 写在开头:本文为学习后的总结,可能有不到位的地方,错误的地方,欢迎各位指正。 目录 …

MyBatis-Plus联表查询的短板,终于有一款工具补齐了

mybatis-plus作为mybatis的增强工具,它的出现极大的简化了开发中的数据库操作,但是长久以来,它的联表查询能力一直被大家所诟病。一旦遇到left join或right join的左右连接,你还是得老老实实的打开xml文件,手写上一大段…

10.泛型算法

文章目录*泛型算法**10.1概述**10.2初识泛型算法**10.2.1只读算法**算法和元素类型**操作两个序列的算法**10.2.2写容器元素的算法**算法不检查写操作**介绍back_inserter**拷贝算法**10.2.3重排容器元素的算法**消除重复单词**使用unique**10.3定制操作**10.3.1向算法传递函数…

【JavaSE】那些异常

目录 1. 何为异常 2. 异常的分类 2.1 运行异常 / 非受查异常 : 3. 异常的处理思想 4. 异常的抛出 5. 异常的捕获 5.1 异常声明 throws 5.2 try-catch 捕获异常并处理 6. finally 7. 异常的处理流程 8. 自定义异常 1. 何为异常 在Java中,将程序执…

LeetCode 1884. 鸡蛋掉落-两枚鸡蛋 -- 动态规划

鸡蛋掉落-两枚鸡蛋 中等 60 相关企业 给你 2 枚相同 的鸡蛋&#xff0c;和一栋从第 1 层到第 n 层共有 n 层楼的建筑。 已知存在楼层 f &#xff0c;满足 0 < f < n &#xff0c;任何从 高于 f 的楼层落下的鸡蛋都 会碎 &#xff0c;从 f 楼层或比它低 的楼层落下的鸡蛋…

Jedis解读与建议

1. Jedis是什么&#xff1f; 官网 Jedis 是官方推荐的java客户端&#xff01;SpringBoot的RedisTemplate的底层也是Jedis&#xff1b; 2. 为什么使用池化&#xff1f; 背景&#xff1a; Redis为单进程单线程模式&#xff0c;采用队列模式将并发访问变为串行访问。Redis本身没…

leetcode:合并两个有序数组

合并两个有序数组1、题目描述2、解决方案3、代码实现1、题目描述 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中&#xff0c;使合并后的数组同样按 非…

mutex 锁的理解和思考

并发的影响 goroutine 并发对数据做读写操作&#xff0c;如果没有锁的保护&#xff0c;得到的结果也就是不确定的。我们通过 goroutine 做累加的例子来看一下&#xff0c;下面的情况&#xff0c;我们预期进行了10次循环&#xff0c;每次加1&#xff0c;但执行的结果却不一定的…

离开外包之后,花了10000小时,最后我走进字节跳动拿到了offer

前言&#xff1a; 没有绝对的天才&#xff0c;只有持续不断的付出。对于我们每一个平凡人来说&#xff0c;改变命运只能依靠努力幸运&#xff0c;但如果你不够幸运&#xff0c;那就只能拉高努力的占比。 2020年7月&#xff0c;我有幸成为了字节跳动的一名Java后端开发&#x…

全志A33移植openharmony3.1标准系统之添加产品编译

想玩openharmony很久了,苦于没有合适的板子能让我玩,已经适配好的开发板可真是太贵了啊,所以还是得自己动手啊,毕竟还能深入了解openharmony系统,之前有在A33上把主线uboot和主线内核跑起来,而且drm也是可以正常显示了,现在就基于此将openharmony移植到开发板上。 首先在…