國家青藏高原科學(xué)數(shù)據(jù)中心
全球逐日0.05°時(shí)空連續(xù)地表溫度數(shù)據(jù)集(2002-2022)
此代碼僅用于該數(shù)據(jù)集處理
matlab編程批量處理hdf5格式轉(zhuǎn)換為tif格式,并提取選定的一個(gè)子集
版本:arcgis10.2 matlab2020
參考:MATLAB hdf(h5)文件轉(zhuǎn)成tif圖片格式(+批量處理)
一、遇到問題
h5格式,說明文檔里面有寫空間位置。但是打開后沒有設(shè)置投影信息,在arcgis里打開顯示的范圍特別大,影像是旋轉(zhuǎn)過的還鏡像的。定義投影后還是沒有同矢量數(shù)據(jù)重疊,不知道要怎么處理
二、打開matlab2020
注意文件名不能和變量名相同,否則會(huì)報(bào)錯(cuò)文章來源:http://www.zghlxwxcb.cn/news/detail-785569.html
clc % 清除命令窗口內(nèi)容
clear % 清除工作空間變量
close all % 關(guān)閉所有圖形窗口
% HDF5文件所在的文件夾路徑
input_folder = 'C:\Users\53446\Desktop\1\h5';
% GeoTIFF文件輸出文件夾路徑
output_folder = 'C:\Users\53446\Desktop\1\tif';
% 創(chuàng)建輸出文件夾
mkdir(output_folder); % 在指定路徑下創(chuàng)建文件夾
% 獲取輸入文件夾中所有的HDF5文件
file_list = dir(fullfile(input_folder, '*.h5')); % 獲取輸入文件夾路徑下所有.h5文件的信息
% 循環(huán)處理每個(gè)HDF5文件
for i = 1:length(file_list)
input_file = fullfile(input_folder, file_list(i).name); % 構(gòu)建完整的輸入文件路徑
h5info(input_file); % 顯示HDF5文件的結(jié)構(gòu)信息
h5disp(input_file, '/'); % 顯示HDF5文件中所有g(shù)roup的信息
data = h5read(input_file, '/LST_Day_CMG'); % 從HDF5文件中讀取/LST_Day_CMG數(shù)據(jù)集
% 對(duì)矩陣進(jìn)行處理
data = permute(data, [1, 2]); % 轉(zhuǎn)置數(shù)據(jù),此數(shù)據(jù)集需要
data = flipud(data); % 上下翻轉(zhuǎn)數(shù)據(jù),此數(shù)據(jù)集需要
R = georasterref('RasterSize', size(data), 'Latlim', [double(-90) double(90)], 'Lonlim', [double(-180) double(180)]); % 創(chuàng)建一個(gè)地理空間參考對(duì)象,指定了柵格大小和經(jīng)緯度范圍
% 構(gòu)建輸出文件路徑
[~, filename, ~] = fileparts(file_list(i).name); % 獲取文件名(不包括擴(kuò)展名)
output_file = fullfile(output_folder, [filename, '.tif']); % 構(gòu)建完整的輸出文件路徑
% 輸出為GeoTIFF
geotiffwrite(output_file, data, R); % 將數(shù)據(jù)和地理空間參考對(duì)象寫入輸出文件(GeoTIFF格式)
end
三、arcgis里打開 成功!
文章來源地址http://www.zghlxwxcb.cn/news/detail-785569.html
到了這里,關(guān)于(Arcgis)matlab編程批量處理hdf5格式轉(zhuǎn)換為tif格式的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!