Кривизна - это сложная производная от рельефа местности, используемое уравнение зависит от разрешения ваших входных данных, так как вы должны убедиться, что результаты вычисленной кривизны можно отличить от шума в данных.
В последнее время было проведено множество исследований по расчетам кривизны данных LiDAR с высоким разрешением, которые показали, что существует разрыв масштабирования с разрешением около 2 или 3 метров, и выше этой точки необходимо использовать более разные алгоритмы (с которыми я не очень знаком) , Наилучшая информация о расчете топографической кривизны, вероятно, содержится в Hurst et al 2012 и ссылках в нем.
Основной принцип расчета кривизны, как и для уклона и аспекта, состоит в том, чтобы пропустить движущееся окно по поверхности рельефа и согласовать значения высот с полиномиальной функцией из 6 членов, коэффициенты которой приведут к уклону, аспекту и кривизне центра ячейка движущегося окна.
ArcGIS использует окно поиска 3x3, которое дает хорошие результаты только в областях, полностью лишенных растительности, что делает инструмент довольно бесполезным, если люди не знают об этом ограничении, это может указывать на то, почему его нет в QGIS.
Математика была получена первоначально (я думаю) в Эванс (1980) и была упрощена на нескольких страницах в « Принципах географических информационных систем» (ссылка на Amazon), которые я могу рекомендовать в качестве хорошего руководства для такого рода анализа местности на базовом уровне.
Один из способов вычисления кривизны матрицы высот состоит в том, чтобы преобразовать матрицу высот в растр ASCII, прочитать его в массив NumPy и затем выполнить подгонку полинома для движущегося окна, проходящего через данные. Это довольно легко сделать, но выполнить очень медленно и требует значительной оптимизации (такие операции часто переносятся на c ++ для ускорения).
Для выполнения операции в QGIS вы можете использовать плагин GRASS r.slope.aspect, который также ограничен фиксированным окном 3x3.
Я понимаю, что это не простой ответ, на который вы, несомненно, надеялись, но я надеюсь, вы понимаете, что искривление сложно получить осмысленным образом. Всего наилучшего.
Evans, I. S. (1980), An integrated system of terrain analysis and slope mapping, Z. Geomorphol., 36, 274–295.
Версия ESRI Raster Analysis для расчета кривизны может быть полезна для разработки плагина для QGIS.
Для каждой ячейки многочлен четвертого порядка вида:
подходит для поверхности, состоящей из окна 3х3. Коэффициенты a, b, c и т. Д. Рассчитываются по этой поверхности.
Соотношения между коэффициентами и девятью значениями высоты для каждой пронумерованной ячейки, как показано на диаграмме, являются следующими: Диаграмма значений кривизны Диаграмма значений кривизны
Выходные данные инструмента Кривизна - это вторая производная поверхности, например наклон склона, такая, что:
Кривизна = -2 (Д + Е) * 100
Полная информация и источник:
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00q90000000t000000
источник
-2(D+E)*100
as(100/L2)*(3*Z5 - [Z2+Z4+Z6+Z8+Z5])
показывает, как получить это значение как трехкратное исходное значение,Z5
за вычетом суммы окрестностиZ2+Z4+Z6+Z8+Z5
(с использованием круга радиуса 1), все из которой пересчитано100/L2
. Это всего лишь три простые операции с сеткой.Кривизна может быть рассчитана с использованием модуля SAGA «Анализ рельефа - морфометрия ---> Наклон, аспект, кривизна»
Расчет может быть выполнен на основе одного из этих алгоритмов:
источник
LandSerf может сделать это. Вы можете определить размер окна (3 * 3, 5 * 5, 7 * 7, 11 * 11, ...), но это должно быть нечетное число. многомасштабный анализ. Вы можете рассмотреть масштабную зависимость наклона, аспекта и кривизны. http://www.landserf.org/ LandSerf подгонит ко-квадратичное полиномиальное уравнение к определенным предопределенным окнам, но если вы определите большой размер окна, например, 50 * 50, это займет много времени. Это зависит от размера растра и размера окон, которые вы определяете. Джо Вуд написал Ландсерф для докторской диссертации. Это написано на Java.
Можно рассчитать в другом масштабе в LandSerf
источник
Вы также можете попробовать бесплатную SAGA GIS (http://sourceforge.net/apps/trac/saga-gis/wiki) или TAS (http://www.uoguelph.ca/~hydrogeo/TAS/index.html).
источник