(Arcgis)matlab编程批量处理hdf4格式转换为tif格式

您所在的位置:网站首页 arcgis图片转tif (Arcgis)matlab编程批量处理hdf4格式转换为tif格式

(Arcgis)matlab编程批量处理hdf4格式转换为tif格式

2024-07-11 05:48| 来源: 网络整理| 查看: 265

国家青藏高原科学数据中心 中国区域1km无缝地表温度数据集(2002-2020)

此代码仅用于该数据集处理 matlab编程批量处理hdf4格式转换为tif格式,并提取选定的一个子集 版本:arcgis10.2 matlab2020 参考:MATLAB hdf(h5)文件转成tif图片格式(+批量处理)

一、遇到问题

hdf格式,说明文档里面有写空间位置。但是打开后没有设置投影信息,在arcgis里打开显示的范围特别大,影像是旋转过的还镜像的。定义投影后还是没有同矢量数据重叠,不知道要怎么处理 在这里插入图片描述在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

二、打开matlab2020

注意文件名不能和变量名相同,否则会报错

clc % 清除命令窗口内容 clear % 清除工作空间变量 close all % 关闭所有图形窗口 % 输入文件夹和输出文件夹路径 input_folder = 'C:\Users\53446\Desktop\1\hdf'; % 输入文件夹路径 output_folder = 'C:\Users\53446\Desktop\1\tif'; % 输出文件夹路径 % 获取输入文件夹下所有文件的信息 files = dir(fullfile(input_folder, '*.hdf')); % 获取输入文件夹下所有.hdf文件的信息 % 遍历每个文件并执行操作 for i = 1:length(files) % 读取数据 filename = fullfile(input_folder, files(i).name); % 构建完整的输入文件路径 data = hdfread(filename, '/Lst'); % 从.hdf文件中读取/Lst数据集 data = permute(data,[2,1]); % 转置数据,此数据集需要 data = flipud(data); % 上下翻转数据,此数据集需要 % 创建空间参考对象 R = georasterref('RasterSize', size(data), 'Latlim', [double(18.33) double(53.49)], 'Lonlim', [double(73.55) double(134.99)]); % 创建一个空间参考对象,指定了栅格大小和经纬度范围 % 写入输出文件 output_filename = fullfile(output_folder, [files(i).name, '.tif']); % 构建完整的输出文件路径 geotiffwrite(output_filename, data, R); % 将数据和空间参考对象写入输出文件 end

三、arcgis打开 成功! 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3