В этом примере показано, как создавать 3-D дисплеи с растровыми данными путем настройки видов поверхности, для которых требуются явные горизонтальные координаты. Самый простой способ отображения растровых данных - назначить цвета элементам матрицы в соответствии со значениями их данных и просмотреть их в двух измерениях. Растровые карты данных также могут отображаться в виде 3-D поверхностей с использованием матричных значений в качестве z-данных. Разница между регулярными растровыми данными и геоориентированной сеткой данных заключается в том, что каждое пересечение сетки для геоцентрированной сетки явно определяется матрицами x-y или широты/долготы или интерполируется из гратикулы, в то время как регулярная матрица подразумевает только эти местоположения (именно поэтому ей нужен опорный вектор, матрица или объект).
Загрузить данные о высоте и географические ячейки опорного объекта для Корейского полуострова. Преобразование данных и ссылочного объекта в полностью геоориентированную сетку данных с помощью geographicGrid функция.
load korea5c
[lat,lon] = geographicGrid(korea5cR);Далее используйте km2deg функция для преобразования единиц отметки из метров в градусы, так что они соизмеримы с матрицами координат широты и долготы.
korea5c = km2deg(korea5c/1000);
Наблюдайте за результатами, введя whos команда. lat и lon матрицы координат образуют сетку того же размера, что и korea5c. Это требование для построения 3-D поверхностей. В lon, все столбцы содержат один и тот же номер для данной строки и в lat, все строки содержат один и тот же номер для данного столбца.
whos
Name Size Bytes Class Attributes description 2x64 256 char korea5c 180x240 345600 double korea5cR 1x1 128 map.rasterref.GeographicCellsReference lat 180x240 345600 double lon 180x240 345600 double source 2x76 304 char
Теперь настройте объект оси карты с конической проекцией равной площади и вместо использования meshm для создания этой карты просмотрите геоориентированную сетку данных с помощью surfm функция. Установите соответствующую карту цветов. Это создает карту, которая действительно является видом 3-D, видимым из прямых накладных расходов (ракурс по умолчанию). Чтобы понять это, нужно лишь изменить точку зрения.
axesm('MapProjection','eqaconic','MapParallels',[],... 'MapLatLimit',[30 45],'MapLonLimit',[115 135]) surfm(lat,lon,korea5c,korea5c) demcmap(korea5c) tightmap

Задайте азимут обзора 60 градусов (с востока на юго-восток) и отметку обзора 30 градусов над горизонтом, используя view функция.
view(60,30)
