В этом примере показано несколько способов представления топографии Земли. Данные, использованные в этом примере, доступны в Национальном центре геофизических данных Министерства торговли США NOAA под 88-MGG-02 объявления данных.
Файл данных, topo.mat, содержит топографические данные. topo - данные высоты и topomap1 - цветовая карта высоты.
load topo topo topomap1 % load data whos('topo','topomap1')
Name Size Bytes Class Attributes topo 180x360 518400 double topomap1 64x3 1536 double
Одним из способов визуализации топографических данных является создание контурного графика. Чтобы показать очертания материков Земли, постройте график точек, которые имеют нулевую высоту. Первые три входных аргумента для contour задайте значения X, Y и Z на контурном графике. Четвертый аргумент определяет уровни горизонталей для печати.
x = 0:359; % longitude y = -89:90; % latitude figure contour(x,y,topo,[0 0]) axis equal % set axis units to be the same size box on % display bounding box ax = gca; % get current axis ax.XLim = [0 360]; % set x limits ax.YLim = [-90 90]; % set y limits ax.XTick = [0 60 120 180 240 300 360]; % define x ticks ax.YTick = [-90 -60 -30 0 30 60 90]; % define y ticks

Можно создать изображение топографии с помощью данных фасада и пользовательской карты цветов. Данные топографии обрабатываются как индекс в пользовательской карте цветов. Установите CDataMapping изображения в 'scaled' для линейного масштабирования значений данных по диапазону карты цветов. В этой цветовой карте оттенки зеленого показывают данные о высоте, а оттенки синего представляют глубину ниже уровня моря.
image([0 360],[-90 90], flip(topo), 'CDataMapping', 'scaled') colormap(topomap1) axis equal % set axis units to be the same size ax = gca; % get current axis ax.XLim = [0 360]; % set x limits ax.YLim = [-90 90]; % set y limits ax.XTick = [0 60 120 180 240 300 360]; % define x ticks ax.YTick = [-90 -60 -30 0 30 60 90]; % define y ticks

Сопоставление текстур позволяет сопоставить 2-D изображение с 3-D поверхностью. Для отображения топографии на сферическую поверхность задайте цвет поверхности, определяемый параметром CData к топографическим данным и задайте FaceColor свойство для 'texturemap'.
clf [x,y,z] = sphere(50); % create a sphere s = surface(x,y,z); % plot spherical surface s.FaceColor = 'texturemap'; % use texture mapping s.CData = topo; % set color data to topographic data s.EdgeColor = 'none'; % remove edges s.FaceLighting = 'gouraud'; % preferred lighting for curved surfaces s.SpecularStrength = 0.4; % change the strength of the reflected light light('Position',[-1 0 1]) % add a light axis square off % set axis to square and remove axis view([-30,30]) % set the viewing angle
