Это кажется хорошим местом для описания простого, быстрого и более чем достаточно точного способа вычисления уклонов для глобальной матрицы высот .
принципы
Напомним, что уклон поверхности в точке по существу является наибольшим отношением «подъема» к «пробегу», встречающегося на всех возможных опорах с этой точки. Проблема заключается в том, что когда проекция имеет искажение масштаба, значения «прогон» будут неправильно рассчитаны. Еще хуже, когда искажение шкалы изменяется в зависимости от направления - что имеет место со всеми неконформными проекциями - то, как наклон изменяется в зависимости от направления, будет неверно оценено, что не позволит точно определить максимальное отношение подъема: пробега (и искажать расчет аспекта).
Мы можем решить эту проблему, используя конформную проекцию, чтобы гарантировать, что искажение масштаба не изменяется в зависимости от направления, а затем скорректировав оценки наклона, чтобы учесть искажение масштаба (которое изменяется от точки к точке по всей карте). Хитрость заключается в том, чтобы использовать глобальную конформную проекцию, которая допускает простое выражение для ее искажения масштаба.
Проекция Меркатора отвечает всем требованиям: если предположить, что масштаб на экваторе корректен, то его искажение равняется секущей широты. То есть расстояния на карте умножаются на секущую. Это приводит к тому, что при любом расчете наклона вычисляется рост: (sec (f) * run) (который является отношением), где f - широта. Чтобы исправить это, нам нужно умножить вычисленные уклоны на sec (f); или, что то же самое, разделите их на cos (f). Это дает нам простой рецепт:
Вычислите наклон (как подъем: пробег или процент), используя проекцию Меркатора, затем разделите результат на косинус широты.
Workflow
Чтобы сделать это с сеткой, заданной в десятичных градусах (такой как ЦМР SRTM), выполните следующие шаги:
Создайте сетку широты. (Это просто сетка с координатами y.)
Вычислить его косинус.
Спроецируйте как DEM, так и косинус широты, используя проекцию Меркатора, масштаб которой истинен на экваторе.
При необходимости преобразуйте единицы измерения высоты, чтобы согласовать их с единицами проецируемых координат (обычно в метрах).
Вычислить уклон проектируемой матрицы высот либо в виде чистого уклона, либо в процентах ( не в качестве угла).
Разделите этот наклон на спроектированную косинусную (широтную) сетку.
При желании перенесите сетку уклона в любую другую систему координат для дальнейшего анализа или картирования.
Ошибки в расчетах уклона будут составлять до 0,3% (поскольку в этой процедуре используется модель сферической земли, а не эллипсоидальная, которая сглаживается на 0,3%). Эта ошибка существенно меньше, чем у других ошибок, которые входят в расчеты уклона, и поэтому ими можно пренебречь.
Полностью глобальные расчеты
Проекция Меркатора не может справиться ни с одним полюсом. Для работы в полярных регионах рассмотрите возможность использования полярной стереографической проекции с истинным масштабом на полюсе. Искажение шкалы равно 2 / (1 + sin (f)). Используйте это выражение вместо sec (f) в рабочем процессе. В частности, вместо того, чтобы вычислять сетку косинуса (широты), вычислите сетку, значения которой (1 + sin (широта)) / 2 ( правка : используйте -latitude для Южного полюса, как обсуждалось в комментариях). Затем действуйте точно так же, как и раньше.
Для получения полного глобального решения рассмотрите возможность разбиения наземной сетки на три части - по одной вокруг каждого полюса и по одной вокруг экватора - выполнение вычисления наклона отдельно в каждой части с использованием подходящей проекции и составление мозаики результатов. Разумное место для разделения земного шара - вдоль окружностей широты на широтах 2 * ArcTan (1/3), что составляет около 37 градусов, потому что на этих широтах поправочные коэффициенты Mercator и Stereographic равны друг другу (имеют общее значение 5/4) и было бы неплохо минимизировать размеры внесенных исправлений. В качестве проверки вычислений сетки должны находиться в очень тесном согласии в тех случаях, когда они перекрываются (небольшие неточности с плавающей запятой и различия из-за повторной выборки проектируемых сеток должны быть единственными источниками расхождений).
Ссылки
Джон П. Снайдер, Картографические проекции - рабочее руководство . USGS Professional Paper 1395, 1987.