В этом примере показано, как создать 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
Задайте азимут обзора 60 степеней (с востока на юго-восток) и повышение обзора 30 степеней над горизонтом, используя view
функция.
view(60,30)