MATLAB绘制地形图和等高线图 | 您所在的位置:网站首页 › cad绘制断面原始地形图怎么做 › MATLAB绘制地形图和等高线图 |
文章目录
前言一、绘制规则格网DEM和等高线图原理二、代码实现1.代码2.运行结果
前言
MATLAB作为强大的绘图和数学计算的编程性软件,其功能渐渐也被广泛应用于地理地形图绘制中。相比于传统的arcGIS、3Dmax、南方cass绘图软件来讲,MATLAB能够做到简便、宏观的展示地形的全貌。 一、绘制规则格网DEM和等高线图原理1. 规则格网DEM绘制原理 规则格网DEM的组织形式 DEM(Digital Elevation Model,数字高程模型)是一定范围内规则格网点的平面坐标(X,Y)及其高程(Z)的数据集 需要注意的是,上述是规则格网的(x,y,z)值,与普通三维坐标值(x,y,z)不同,像我们在某些途径下载的地形数据普遍以经纬坐标(B,L,H)或是大地坐标(x,y,z)构成,其呈现出空间的无规律性,当我们直接绘制时,普遍也会采用不规则三角格网TIN进行绘制。 因此要想实现利用规则格网绘制上述的地形数据,需要实现插值转换。DEM分块内插法 如下图所示,红色点为不规则数据点集(Xi,Yi),蓝色点为规则格网点集(xi,yi) 其中可以看出,点U,G1,D1,A为特殊点,C1,A分别具有ymax,xmin,点U,D1分别具有xmax,xmin 因此便可以采用linspace函数,X=linspace(xU,xD1,4) Y=linspace(yA,xC1,2)‘,注X,Y都为向量,这样便可以知道每个格网点的坐标值。![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 代码如下(示例): gcd=importdata('高程点16-23-05.txt'); gcd_data=gcd.data x=gcd_data(:,1); y=gcd_data(:,2); z=gcd_data(:,3); [X,Y,Z]=griddata(x,y,z,linspace(min(x),max(x))',linspace(min(y),max(y)),"v4"); %三维地形图部分 image1=mesh(X,Y,Z) image1.FaceAlpha=0.5; colorbar; title('某地区地形图'); %二维地形图部分 image2=contour(X,Y,Z,20) colorbar title('该地区平面等高线图'); %三维地形图部分 contour3(X,Y,Z,100,"Fill","on") title('该地区三维等高线图'); colorbar contour(X(1:10,1:10),Y(1:10,1:10),Z(1:10,1:10),"ShowText","on","LineWidth",3,"LabelSpacing",144) title('该地区部分等高线图'); plot3(X,Y,Z,'r') title('该地区线性图') 2.运行结果图1 图五 具体详细绘制地形图大家可以参考https://www.cnblogs.com/shoulinniao/p/11382305.html |
CopyRight 2018-2019 实验室设备网 版权所有 |