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