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