www.gusucode.com > map 案例源码 matlab代码程序 > map/ComputeElevationProfileAlongStraightLineExample.m
%% Compute Elevation Profile Along Straight Line % This example shows how to compute an elevation profile along a straight % line using the |mapprofile| function. Calculating data values along a % path is a common application when working with gridded geodata. For % example, you might want to calculate the terrain height along a transect, % a road, or a flight path. The <docid:map_ref.f14-631343> function % does this, based on numerical data defining a set of waypoints, or by % defining them interactively via graphic input from a map display. Values % computed for the resulting profile can be displayed in a new plot or % returned as output arguments for further analysis or display. %% % Load the Korean elevation data MAT-file. % Copyright 2015 The MathWorks, Inc. load korea %% % Get the latitude and longitude limits using |limitm| and use them to set % up a map frame via |worldmap|. |worldmap| plots only the map frame. [latlim, lonlim] = limitm(map, maplegend); figure worldmap(latlim, lonlim) %% % Render the map and apply a digital elevation model (DEM) colormap to it. meshm(map,maplegend,size(map),map) demcmap(map) %% % Define endpoints for a straight-line transect through the region. plat = [40.5 30.7]; plon = [121.5 133.5]; %% % Compute the elevation profile, using the |mapprofile| function with the % default track type, |great circle|, and the default interpolation type, % |bilinear|. [z,rng,lat,lon] = mapprofile(map,maplegend,plat,plon); %% % Draw the transect in 3-D so it follows the terrain. plot3m(lat,lon,z,'w','LineWidth',2) %% % Construct a plot of transect elevation and range. figure plot(rng,z,'r')