解决ENVI无法打开Landsat8/9 C2L2数据的问题:Python脚本实现

发布时间:2026/10/14 20:17:48
解决ENVI无法打开Landsat8/9 C2L2数据的问题:Python脚本实现 解决ENVI无法打开Landsat8/9 C2L2数据的问题Python脚本实现常见问题问题及参考博客问题现象解决方案手动解决方法Python脚本实现批量处理常见问题问题及参考博客在处理从USGS网站下载的Landsat8/9 C2 L2数据时常常会遇到将MTL.txt 文件直接拉入ENVI或直接打开Metadata数据文件时提示错误的情况。对于该问题的常见问题及解决方案可以参考文章https://blog.csdn.net/zbh13859825167/article/details/139309431。问题现象当尝试将从USGS网站下载的Landsat8/9 C2 L2数据的MTL.txt 文件直接导入ENVI或者直接打开Metadata数据文件时会出现如下错误提示解决方案手动解决方法Landsat8数据对于Landsat8数据可通过修改下载的MTL.txt 文件来解决问题。具体步骤如下将文件第一行的GROUP LANDSAT_METADATA_FILE修改为GROUP L1_METADATA_FILE。删除文件中第183行GROUP LEVEL1_PROCESSING_RECORD与第227行END_GROUP LEVEL1_PROCESSING_RECORD之间的内容Landsat 9具体行号位置可能有变化也在183行附近注意这几个名称就行。 。完成上述修改后即可在ENVI中直接打开该数据文件。Landsat9数据Landsat9数据的处理在Landsat8数据处理的基础上还需要额外增加一步将文件第53行的SPACECRAFT_ID LANDSAT_9改为SPACECRAFT_ID LANDSAT_8。完成这些修改后也可以在ENVI中直接打开数据文件。Python脚本实现批量处理为了更高效地处理多个数据文件我们可以使用Python编写一个脚本实现批量处理。以下是具体的脚本设计原理、思路及代码脚本设计原理与思路脚本会遍历指定文件夹及其子文件夹中的所有MTL.txt 文件对每个文件按照上述手动处理的规则进行修改。具体来说脚本会完成以下操作将文件第一行的GROUP LANDSAT_METADATA_FILE替换为GROUP L1_METADATA_FILE。检查文件第53行如果包含SPACECRAFT_ID LANDSAT_9则将其替换为SPACECRAFT_ID LANDSAT_8。删除文件中第183 - 227行Python索引从0开始对应索引为182 - 226的内容。脚本代码importosdefprocess_mtl_files(root_folder):forroot,dirs,filesinos.walk(root_folder):forfileinfiles:iffile.endswith(MTL.txt):file_pathos.path.join(root,file)try:withopen(file_path,r,encodingutf-8)asf:linesf.readlines()print(f正在处理文件{file_path})iflen(lines)0:lines[0]lines[0].replace(GROUP LANDSAT_METADATA_FILE,GROUP L1_METADATA_FILE)land_indexlines[53].rfind(9)ifland_index!-1:lines[53]lines[53].replace( SPACECRAFT_ID \LANDSAT_9\, SPACECRAFT_ID \LANDSAT_8\)iflen(lines)227:#判断是否删除过183行到227行之间内容iflines[182].rfind(GROUP LEVEL1_PROCESSING_RECORD)!-1:dellines[182:227]# 182对应第183行226对应第227行else:print(f文件{file}行数不足无法删除指定行)# 写入修改后的内容withopen(file_path,w,encodingutf-8)asf:f.writelines(lines)print(f成功处理文件{file_path})exceptExceptionase:print(f处理文件{file_path}时出错{str(e)})else:print(f{root_folder}文件夹下没有可处理的文件)if__name____main__:target_folderrC:/Users/79877/Downloads/EdgeDownload/test# 替换为实际文件所在文件夹路径process_mtl_files(target_folder)

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询