MATLAB批量提取ICESAT-2(ATL08)激光测高数据

1.数据下载

(1) 数据下载网址:https://nsidc.org/data/data-access-tool/ATL08/versions/5
(2) 需要注册账号下载。
(3) 可以导入shp范围。
在这里插入图片描述

2.MATLAB程序

(1) 代码根据官方代码改写

%%%%%%%%%%%%%%%%%
%   ICELat2激光测高数据批量提取
%%%%%%%%%%%%%%%%%
%输入文件目录,目录里存放着*.H5文件。
input_path = 'I:\\originalFile\\国土遥感应用中心\\数据\\GLAS1-2激光测高数据-肇东地区\\GLAS2';
out_name='123_1.txt';

h5_path=[input_path '\\*.h5'];
List =dir(h5_path);
datacount=length(List);

%%%输出头信息
fid = fopen(out_name,'wt');
fprintf(fid,'%s,%s,%s,%s\n','name','B','L','H');
index=0;
Allpoints=0;
for i=1:datacount
    FILE_NAME =[ List(i).folder '\\' List(i).name];
    
    file_id = H5F.open (FILE_NAME, 'H5F_ACC_RDONLY', 'H5P_DEFAULT');
    % Open the datasets.
    LATFIELD_NAME='gt1l/land_segments/latitude';
    lat_id=H5D.open(file_id, LATFIELD_NAME);

    LONFIELD_NAME='gt1l/land_segments/longitude';
    lon_id=H5D.open(file_id, LONFIELD_NAME);

    DATAFIELD_NAME='gt1l/land_segments/dem_h';
    data_id=H5D.open(file_id, DATAFIELD_NAME);

    % Read the datasets.
    lat=H5D.read(lat_id,'H5T_NATIVE_DOUBLE', 'H5S_ALL', 'H5S_ALL',...
                'H5P_DEFAULT');
    lon=H5D.read(lon_id,'H5T_NATIVE_DOUBLE', 'H5S_ALL', 'H5S_ALL', ...
             'H5P_DEFAULT');
    data=H5D.read(data_id,'H5T_NATIVE_DOUBLE', 'H5S_ALL', 'H5S_ALL', ...
             'H5P_DEFAULT');
    
    jiguang_count=length(data);
    for j=1:jiguang_count
        fprintf(fid,'%d,%.6f,%.6f,%.6f\n',index,lat(j),lon(j),data(j));
        index=index+1;
    end
    
    Allpoints=Allpoints+ jiguang_count;    
    H5D.close (data_id);
    H5D.close (lon_id);
    H5D.close (lat_id);
    H5F.close (file_id);
    
    str=['提取进度:' num2str(i) '/' num2str(datacount) '  激光点数:' num2str(jiguang_count) ]
    
end
str=['总激光点数:' num2str(Allpoints)]

fclose(fid);

(2)结果:
在这里插入图片描述

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Geo@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值