Интерполировать синус и косинус угла, а затем преобразовать обратно в угол с помощью функции atan. Эти функции доступны в механизме выражений QGIS. Существует atan2(dy,dx)
функция , как в использовании RI ниже ...
Вот функция R для иллюстрации. Я использовал mean
здесь, чтобы дать интерполяцию:
dinterp = function(d){
r=d*pi/180
(180/pi)*atan2(mean(sin(r)),mean(cos(r)))
}
который дает:
> dinterp(c(10,20))
[1] 15 *as expected*
> dinterp(c(340,20))
[1] 3.384676e-15 *approximately zero*
> dinterp(c(0,180))
[1] 90 *could be +/- 90
> dinterp(c(359,180))
[1] -90.5 *small adjustment makes it go to ~-90
В QGIS, если вы создаете растр, интерполированный из набора точечных данных, ваш рабочий процесс будет следующим:
- Создайте два новых атрибута в каждой точке
sinwind
и coswind
от вашего направления ветра в градусах. Убедитесь, что вы переводите в радианы, если это необходимо.
- Создайте два интерполированных растра, один из
sinwind
и один из coswind
.
- Используйте калькулятор растра, чтобы преобразовать обратно в направление путем вычисления
atan2
интерполированных растров синуса и косинуса.
- Преобразовать в градусы, если требуется.
Для этого вы можете создать рабочий процесс обработки - там также может быть плагин. Обратите внимание, что хотя это дает вам интерполяцию направления ветра, любая оценка неопределенности этой интерполяции немного сложна и требует некоторых методов круговой статистики.