exponenta event banner

Drape Geolocated Grid on Regular Data Grid посредством отображения текстур

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

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.