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

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

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

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

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

korea5c = km2deg(korea5c/1000);

Наблюдайте результаты путем ввода whos команда. lat и lon координатные матрицы формируют mesh тот же размер как korea5c. Это - требование для построения 3-D поверхностей. В lon, все столбцы содержат тот же номер для данной строки, и в lat, все строки содержат тот же номер для данного столбца. Это вызвано тем, что mesh произведенный meshgrat в этом случае является регулярным, но такие сетки данных не должны иметь равного интервала.

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)

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