Создание 3-D отображения растровых данных

В этом примере показано, как создать 3-D отображения с растровыми данными путем настройки видов поверхностей, что требует явных горизонтальных координат. Самый простой способ отображения растровых данных - назначить цвета элементам матрицы согласно их значениям данных и просмотреть их в двух размерностях. Карты растровых данных также могут отображаться как 3-D поверхности, используя значения матрицы в качестве данных z. Различие между регулярными растровыми данными и геолокированной сеткой данных заключается в том, что каждое пересечение сетки для геолокированной сетки явно задано матрицами x-y или широты/долготы или интерполировано из гратикулы, в то время как регулярная матрица подразумевает только эти местоположения (поэтому ей нужен ссылочный вектор, матрица или объект).

Загрузите повышение данные и географические камеры ссылки объект для Корейского полуострова. Преобразуйте данные и ссылочный объект в полностью геолокированную сетку данных с помощью geographicGrid функция.

load korea5c
[lat,lon] = geographicGrid(korea5cR);

Далее используйте km2deg функция для преобразования модулей повышения из метров в степени, поэтому они соизмеримы с матрицами координат широты и долготы.

korea5c = km2deg(korea5c/1000);

Наблюдайте результаты, вводя whos команда. The lat и lon матрицы координат образуют mesh того же размера, что и 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

Figure contains an axes. The axes contains an object of type surface.

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

view(60,30)

Figure contains an axes. The axes contains an object of type surface.

Для просмотра документации необходимо авторизоваться на сайте