Інтерполюйте синус і косинус кута, а потім перетворіть назад у кут з функцією атана. Ці функції доступні в механізмі вираження 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
інтерпольовані растрові синуси і косинуси.
- Перетворити в градуси, якщо потрібно.
Ви можете створити для цього робочий процес обробки - також може бути плагін. Зауважте, що хоча це дає інтерполяцію напрямку вітру, будь-яка оцінка невизначеності цієї інтерполяції є дещо хитрою і вимагає певних методів кругової статистики.