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