Как работает инструмент Уклон (Slope)
Для каждой ячейки инструмент Уклон (Slope) вычисляет максимальную степень изменения в значении z между конкретной ячейкой и соседними с ней ячейками. По сути, максимальная степень изменения в значениях высоты на единицу расстояния между ячейкой и восемью соседними с ней ячейками определяет самый крутой спуск вниз по склону из ячейки.
Концептуально, инструмент подбирает плоскость для z-значений из окрестности размером 3 x 3 ячейки вокруг обрабатываемой или центральной ячейки. Значение уклона этой плоскости вычисляется с использованием методики усредненного максимума (см. Литература). Направление плоских граней является экспозицией обрабатываемой ячейки. Чем ниже значение уклона, тем более плоской является земная поверхность; чем выше значение уклона, тем более крутые склоны расположены на поверхности.
Если в окрестности есть ячейка с z-значением, равным NoData, этому местоположению будет присвоено z-значение центральной ячейки. На краю растра, по крайней мере три ячейки (за пределами экстента растра) в качестве z-значения будут иметь значение NoData. Этим ячейкам будет присвоено z-значение центральной ячейки. Результатом этой операции будет уплощение плоскости размером 3 x 3 ячейки, подобранной для этих краевых ячеек, что обычно приводит к уменьшению уклонов.
Выходной растр уклонов может быть вычислен в двух различных единицах измерения, в градусах или в процентах ('процент подъема'). Процент подъема можно лучше понять, если вы рассматриваете его как подъем, деленный на пробег (спуск), умноженный на 100. Рассмотрим треугольник B на рисунке внизу. Когда угол равен 45 градусам, подъем равен пробегу (спуску), а процент подъема равен 100 процентам. По мере того, как угол наклона приближается к вертикальному (90 градусов), как в треугольнике C, процент подъема стремится к бесконечности.
![]() |
Сравнение значений уклонов в градусах и процентах |
Инструмент Уклон (Slope) чаще всего работает с набором данных высот, как показано на следующей диаграмме. Более крутые уклоны заштрихованы красным на выходном растре уклона.
![]() |
Инструмент также может использоваться с другими типами непрерывных данных, например, численность населения, для выявления резких изменений значения.
Алгоритм инструмента Уклон
Уклон определяет степень изменения (дельту) поверхности в горизонтальном (dz/dx) и вертикальном (dz/dy) направлениях из центральной ячейки. Базовый алгоритм, используемый для вычисления уклона:
slope_radians = ATAN ( √ ([dz/dx]2 + [dz/dy]2) )
Уклон обычно измеряется в градусах, используя алгоритм:
slope_degrees = ATAN ( √ ([dz/dx]2 + [dz/dy]2) ) * 57.29578

Показанное здесь значение 57,29578 — это обрезанная версия результата операции 180/pi.
Алгоритм уклона может быть проинтерпретирован также следующим образом:
slope_degrees = ATAN (rise_run) * 57.29578
- где:
rise_run = √ ([dz/dx]2 + [dz/dy]2]
Горизонтальную и вертикальную дельты определяют значения центральной ячейки и восьми соседних с ней ячеек. Соседние ячейки обозначаются буквами от 'a' до 'i', при этом буква 'e' обозначает ячейку, для которой вычисляется уклон.
![]() |
Окно сканирования поверхности (Surface scanning window) |
Степень изменения по направлению x для ячейки 'e' вычисляется с помощью следующего алгоритма:
[dz/dx] = ((c + 2f + i) - (a + 2d + g) / (8 * x_cellsize)
Степень изменения по направлению y для ячейки 'e' вычисляется с помощью следующего алгоритма:
[dz/dy] = ((g + 2h + i) - (a + 2b + c)) / (8 * y_cellsize)
Пример вычисления уклона
В качестве примера будет вычислено значение уклона центральной ячейки скользящего окна.
![]() |
Пример входных данных инструмента Уклон (Slope) |
Размер ячейки равен 5 единицам измерения. Будет использовано применяемое по умолчанию измерение уклона в градусах.
Степень изменения для центральной ячейки 'e' по направлению x:
[dz/dx] = ((c + 2f + i) - (a + 2d + g) / (8 * x_cellsize) = ((50 + 60 + 10) - (50 + 60 + 8)) / (8 * 5) = (120 - 118) / 40 = 0.05
Степень изменения для центральной ячейки 'e' по направлению y:
[dz/dy] = ((g + 2h + i) - (a + 2b + c)) / (8 * y_cellsize) = ((8 + 20 + 10) - (50 + 90 + 50)) / (8 * 5) = (38 - 190 ) / 40 = -3.8
Учитывая степень изменения в направлении x и y, уклон для центральной ячейки 'e' вычисляется с использованием следующего алгоритма
rise_run = √ ([dz/dx]2 + [dz/dy]2) = √ ((0.05)2 + (-3.8)2) = √ (0.0025 + 14.44) = 3.80032
slope_degrees = ATAN (rise_run) * 57.29578 = ATAN (3.80032) * 57.29578 = 1.31349 * 57.29578 = 75.25762
Целочисленное значение уклона для ячейки 'e' составляет 75 градусов.
![]() |
Пример выходных данных инструмента Уклон (Slope) |
Литература
Burrough, P. A., and McDonell, R. A., 1998. Principles of Geographical Information Systems (Oxford University Press, New York), 190 pp.