Вычислите градиент, наклон и аспект от обычной сетки данных

В этом примере показано, как вычислить градиент, наклон и аспект для обычной сетки данных. Компоненты градиента являются изменением в переменной сетки на метр расстояния в северных и восточных направлениях. Наклон задан как разница в вертикальном положении на единичное расстояние вдоль пути самого крутого подъема или спуска от ячейки сетки до одного из ее восьми ближайших соседей, выразил как арктангенс. Если сетка содержит вертикальные изменения в метрах, аспектом и наклоном являются углы поверхности, нормальной по часовой стрелке от севера и от горизонтали. gradientm функционируйте использует подход конечной разности, чтобы вычислить градиенты или для постоянного клиента или для сетки геосправочных данных. Функция возвращает компоненты градиента в северных и восточных направлениях (т.е. север на юг, восток на запад), а также наклон и аспект. Углы находятся в модулях степеней по умолчанию.

Создайте 100 100 сетка с помощью peaks функционируйте и создайте матрицу привязки для него.

datagrid = 500*peaks(100);
gridrv = [1000 0 0];

Сгенерируйте сетки, содержащие аспект, наклон, градиенты на север и градиенты на восток.

[aspect,slope,gradN,gradE] = gradientm(datagrid,gridrv);

Сопоставьте поверхностные данные в цилиндрической равной проекции области. Запустите с исходных вертикальных изменений.

axesm eqacyl
meshm(datagrid,gridrv)
colormap (jet(64))
colorbar('vert')
title('Peaks:  elevation')
axis square

Очистите систему координат и отобразите наклонную сетку.

clma
meshm(slope,gridrv)
colorbar('vert');
title('Peaks: slope')

Сопоставьте сетку аспекта.

clma
meshm(aspect,gridrv)
colorbar('vert');
title('Peaks: aspect')

Сопоставьте градиенты на север.

clma
meshm(gradN,gridrv)
colorbar('vert');
title('Peaks: North gradient')

Сопоставьте градиенты на восток.

clma
meshm(gradE,gridrv)
colorbar('vert');
title('Peaks: East Gradient')