【Python&RS】基于GDAL修改栅格数据的DN值
遥感工作者离不开栅格数据,有时候我们可能需要修改栅格数据的值,但ENVI和ArcGIS中并没有直接修改DN值的工具,只有栅格计算器、Band math这些工具去计算整个波段的值,或者Edit Classification Image工具可以修改ENVI分类后的像元值,但这个工具只对分类格式有效,博主整不明白怎么把单波段数据转为分类格式,所以这些工具都无法满足我们的需求。
今天跟大家分享一下如何使用Python的GDAL库将栅格数据中特定的DN值修改成我们想要的。
一、安装库
二、读取栅格数据信息
这一步可有可无,只是让你了解一下栅格数据的基本信息,如投影信息、长度、宽度等。
三、修改DN值
我这里写的函数,只适用于修改单波段的栅格影像,如果需要修改多波段就自己加一个循环。其实原理都一样,就是将波段读成数组,然后通过索引读取第几行第几列像元的值,然后判断这个值是否为你想要修改的值,如果是,就将其赋予新的值。
四、完整代码
今天的分享就到这里了,大家需要注意的是,我这段代码只适用于单波段数据且想要修改的值只有一种时,如你想要将所有DN值等于1的像元全部改成0,就可以直接使用我的点吗改数据路径,然后再输入1和0就可以了(因为我的任务就是将分类数据(DN值为0,1,2,3,4)中分错的部分改成正确的)。不要问为什么不使用工具,因为我手里的分类数据不是ENVI支持的分类格式(泪目)。
如果大家在学习Python或者RS时有什么问题,可以随时留言交流!如果大家对批量处理有兴趣同样可以留言给博主,博主会分享相关代码以供学习!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)