地形图的三维可视化

clear;clc
a=imread('c0808tin_Tin21.tif');%%读取tiff影像数据,这里只能读取到值,其他的坐标等信息需要后面人为添加
[m,n] = size(a);     %%获取数据的行列号
a = a(22:112,1:n); %%根据需要删除数据中无效的行列号
[m,n] = size(a);
a = a(1:3:m,1:4:n);   %%均匀降采样
b = find(a < -20);  
a(b(1:end)) = NaN; %%将极小值赋值为无效值

 c=smoothdata(a,'gaussian',9);  %%高斯平滑
 e = find(c == 0);
 c(e(1:end)) = NaN;
 meshc(c)

 % % aminn=min(min(a))
 % % amaxx=max(max(a))
% meshc(d)%%绘制带有等高线的网格图,这里只是用一个变量,所以绘制结果的x,y范围为0-300,若需要显示经纬度则需定义与数据量相同的x,y向量,使用meshc(x,y,c)绘图
% caxis([-0.025,0.015]);%%调整一下colorbar的范围

地形图的三维可视化