MATLAB——SRTM DEM显示

数据源:NASA SRTM DEM30m

软件:MATLAB

1.代码:

clc;clear;
%打开文件,hgt文件
aname=fopen('F:\NASA SRTM1 v3.0 山西\N40E113.hgt','rb');
bname=fopen('F:\NASA SRTM1 v3.0 山西\N40E114.hgt','rb');
cname=fopen('F:\NASA SRTM1 v3.0 山西\N39E113.hgt','rb');
dname=fopen('F:\NASA SRTM1 v3.0 山西\N39E114.hgt','rb');
%读取数据,二维矩阵
dem1=fread(aname,[3601,3601],'short');
dem2=fread(bname,[3601,3601],'short');
dem3=fread(cname,[3601,3601],'short');
dem4=fread(dname,[3601,3601],'short');
%将数组中小于-9999的值改为0
q1=find(dem1<-9999);
q2=find(dem2<-9999);
q3=find(dem3<-9999);
q4=find(dem4<-9999);

dem1(q1)=0;
dem2(q2)=0;
dem3(q3)=0;
dem4(q4)=0;
%矩阵转置
dem1=dem1';
dem2=dem2';
dem3=dem3';
dem4=dem4';
%矩阵拼接
dem=[dem1(1:3601,1:3601),dem2(1:3601,1:3601)
    dem3(1:3601,1:3601),dem4(1:3601,1:3601)];
%图像显示
imagesc(dem)
title('数字高程模型')%标题
colorbar()%颜色柱
%关闭文件
fclose(aname);
fclose(bname);
fclose(cname);
fclose(dname);

猜你喜欢

转载自blog.csdn.net/chengzilhc/article/details/104685552
今日推荐