В этом примере показано, как создать новую регулярную сетку данных, которая охватывает область геоориентированной сетки данных, а затем встроить значения цветовых данных в новую матрицу. Новая матрица может иметь несколько более низкое разрешение, чем исходная, чтобы гарантировать, что каждая ячейка в новой карте получит значение. Пример комбинирует разнородные сетки данных, создавая новую регулярную сетку данных, которая охватывает область z-данных географической сетки данных. Этот подход имеет то преимущество, что для регулярных сетей данных доступно больше вычислительных функций, чем для геоориентированных. Цветовые сетки и сетки фасадов не обязательно должны иметь одинаковый размер. Если разрешения двух сеток данных различны, можно создать поверхность как трехмерную карту фасада, а затем применить цвета как карту текстуры. Для этого необходимо задать поверхность. 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)

Применить L1 матрица как текстурная карта непосредственно к поверхности с помощью set функция. Область, не охватываемая [lt1,lg1,map1] геолокационная сетка данных отображается темно-синим цветом, поскольку соответствующие элементы L1 были установлены на -Inf.
h.CData = L1; h.FaceColor = 'texturemap'; material shiny camlight lighting gouraud axis tight
