Драпируйте Определенную геолокацию Сетку на Обычной Сетке Данных через Отображение текстур

В этом примере показано, как создать новую обычную сетку данных, которая покрывает область определенной геолокацию сетки данных, затем встройте цветные значения данных в новую матрицу. Новая матричная сила должна иметь несколько более низкое разрешение, чем оригинал, чтобы гарантировать, что каждая ячейка в новой карте получает значение. Пример комбинирует отличающиеся сетки данных путем создания новой обычной сетки данных, которая покрывает область определенных геолокацию z-данных сетки данных. Этот подход имеет преимущество, что больше вычислительных функций доступно для обычных сеток данных, чем для определенных геолокацию единиц. Цвет и сетки вертикального изменения не должны быть одного размера. Если разрешения двух сеток данных отличаются, можно создать поверхность как 3D карту вертикального изменения и позже применить цвета как текстурную карту. Вы делаете это путем установки поверхностного CData свойство содержать матрицу цветов и выбирание поверхностного цвета поверхности к 'texturemap'.

Загрузите растровые данные о вертикальном изменении и географический объект ссылки ячеек от topo60c.mat. Получите отдельные переменные, содержащие данные о ландшафте из mapmtx.mat.

load topo60c
load mapmtx lt1 lg1 map1

Идентифицируйте географические пределы определенной геолокацию сетки, которая загрузилась от mapmtx.

latlim(1) = 2*floor(min(lt1(:))/2);
lonlim(1) = 2*floor(min(lg1(:))/2);
latlim(2) = 2*ceil(max(lt1(:))/2);
lonlim(2) = 2*ceil(max(lg1(:))/2);

Обрежьте глобальные данные о вертикальном изменении в прямоугольную область, заключающую меньшую сетку.

[topo1,topo1R] = geocrop(topo60c,topo60cR,latlim,lonlim);

Выделите обычную сетку, заполненную однородно -Inf, получить данные о структуре.

L1R = georefcells(latlim,lonlim,2,2);
L1 = zeros(L1R.RasterSize);
L1 = L1 - Inf;

Перезапишите L1 использование imbedm, преобразование его от определенной геолокацию сетки до обычной сетки, в которой значения прибывают из дискретного Лапласиана сетки вертикального изменения map1.

L1 = imbedm(lt1,lg1,del2(map1),L1,L1R);

Настройте карту оси с проекцией Миллера и используйте meshm отобразить обрезанные данные. Представьте фигуру как 3-D представление от 20 азимутов степени и 30 высот степени, и преувеличьте измерение по вертикали на коэффициент 200. И поверхностное облегчение и окраска представляют топографическое вертикальное изменение.

figure 
axesm miller
h = meshm(topo1,topo1R,size(topo1),topo1);
view(20,30)
daspectm('m',200)

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

Примените L1 матрица как текстурная карта непосредственно на поверхность с помощью set функция. Область, не покрытая [lt1,lg1,map1] определенная геолокацию сетка данных кажется темно-синей, потому что соответствующие элементы L1 были установлены в -Inf.

h.CData = L1;
h.FaceColor = 'texturemap';
material shiny 
camlight
lighting gouraud
axis tight

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

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